问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何理解stmia和stmib

发布网友 发布时间:2022-05-05 15:53

我来回答

1个回答

热心网友 时间:2022-06-19 15:05

这么久了没人给你回答,我来回答一部分吧
一、指令理解:请阅读并理解以下ARM汇编指令,并写出每条指令执行前后的相关寄存器内容或指令所完成功能
;/*
;************************************************************************************************************
;** 实验测试代码 **
;************************************************************************************************************
;*/
;0 数据准备
MOV R0, #0x00 ;将立即数0x00放到R0寄存器,下同
MOV R1, #0x01
MOV R2, #0x02
MOV R3, #0x03
MOV R4, #0x04
MOV R5, #0x05
MOV R6, #0x06
MOV R7, #0x07
MOV R8, #0x08

;1 立即寻址
ADD R0,R0,#0x01 ;将R0中的数据加0x01结果放到R0中
AND R8,R7,#0x3F;将R7中的数据位与0x3f结果放到R8中

;有效立即数问题
MOV R0,#0x0000F200
MOV R0,#0x

CMP R1,R2 ;比较R1与R2,若是R1小于R2,则标志位置位,以下类似
CMP R2,R1
TEQ R1,R2
MOV R1,R2
TEQ R1,R2

;2 寄存器寻址
MOV R1,#0x01
MOV R2,#0x02

SUB R0,R1,R2 ;将R1减去R2,将结果存在R0
SUB R0,R2,R1
ADD R0,R1,R2
ADD R3,R2,R1,LSR #2
ADD R3,R2,R1,LSL #R4

SUBS R0,R1,R2
SUBS R0,R2,R1
ADDCC R0,R1,R2
ADDCS R0,R1,R2

MOV R1,#0xF
MOV R2,#0xF
ADD R3,R2,R1
ADDS R3,R2,R1
ADDCC R3,R2,R1
ADDCS R3,R2,R1

MOV R0,#0xFFFFFFFF
AND R0,R0,#0xFFFFFF57
MOV R0,#0xFFFFFFFF
BIC R0,R0,#0xA8

ORR R4,R4,#0x3C ;位或操作

MOV R1,#0xFFFFFFFF
EOR R1,R1,#0x124

MOV R1,#40
MOV R2,#31
MUL R1,R2,R1

MOV R1,#40
RSB R1,R1,R1, LSL #5

;3 寄存器间接寻址
MOV R0, #0x0000F200
MOV R1, #0x0C
LDR R0,[R1]
STR R0,[R1]

;4 基地加偏址寻址
LDR R0,[R1,#4]
LDR R0,[R1,#4]!
LDR R0,[R1],#4

LDR R0,[R1,R2]
LDR R0,[R1,R2,LSL #2]

;5 堆栈寻址
MOV R0, #0x00
MOV R1, #0x01
MOV R2, #0x02
MOV R3, #0x03
MOV R4, #0x04
MOV R5, #0x05
MOV R6, #0x06
MOV R7, #0x07
MOV R8, #0x08

MOV R13,#0x0C;配置堆栈指针值
STMFD R13!,{R1,R5,R2};满递减压栈
LDMFD SP!,{R3,R2,R1};满递减出栈
LDMFD SP!,{R1,R2,R3}

;6 块拷贝寻址
MOV R1, #0x0C
STMIA R1,{R0,R5,R2}
STMIA R1!,{R0,R5,R2}

MOV R1, #0x0C
STMIB R1,{R0,R2,R5}
STMIB R1!,{R0,R2,R5}

;8 外设控制器访问
LDR R0,=0x7CF

LDR R1,=0x01D20008

STR R0,[R1]

LDR R0,=0x30
LDR R1,=0x01D2000C

STR R0,[R1]

BIC R0,R0,#0x30
LDR R1,=0x01D2000C

STR R0,[R1]
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 暴雨来临前会有什么预兆? 下雨前动物们会有哪些征兆?---学习课文《要下雨了》 有一个人的,支付宝的账号,照片,还有手机号,可以找到这个人 知道和QQ号能找到他的手机号 小天鹅洗衣机1411dxs说明书 小天鹅洗衣机使用手册 怎么快速自己制作披萨 win10请稍等要多久 win10系统开机,一直显示请稍候(蓝屏)转圈圈,大约两分钟,进入桌面后,360显示开机时间正常? 类似我真是大明星 超级娱乐王朝之类的高质量都市文 同样作者写过的就算了 李克农是什么 酒糟洗脸的作用 《魔物之我真不是大佬啊》txt下载在线阅读全文,求百度网盘云资源 求类似于《八十一道送命题》《在逃生游戏里做大佬》的女主生存无限文!!!!! 发酵酒糟作饲料的好处有什么?? 黄酒糟的营养价值 黄酒糟的营养价值? 请推荐几本世界史的书 想要了解世界历史,看那些书比较有用? 求以世界古代史为主要内容的史书 arm 中的汇编指令STMIA能否处理字节数据 结合Bootloader的相关知识,并参考ARM的汇编指令,分析下面的Bootloader代码。 批量拷贝 arm汇编 ARM汇编可不可以将一个寄存器的值传给一个标号所在地址??? 如果可以请问如何实现。 在arm中,哪些指令可以访问高位寄存器 嵌入式编程练习汇编写大小写字母的ASCII码的转换(ARM数据及存储器指令的编程练习) 我想参加下半年的BEC2考试 android怎么进入uboot ARM指令的寻址方式有几种,试分别举例说明 龙门吊各个位置用哪些数代号如驾驶室,大车等 龙门吊型号有哪些啊?各自什么价格啊? 门式起重机的型号都有哪些? 请问起重机有哪些型号,分别哪些英文代号??? 养殖大叶绿萝要注意哪些事项 求教,绿萝烂根了,该如何换盆 中国建设银行分期通代款三万每月手续费多少钱,每月共还款多少钱? 在使用QQ远程的时候对方可以盗取自己电脑里的图片么,会怎样盗取呢? QQ远程协助是不是可以让对方看到自己电脑的所有东西,比如照片,什么 的。。 使用QQ远程协助控制她的电脑自己打开自己空间的相册给她看,可行么??? QQ上的远程控制怎么偷那台电脑上的文件 网吧里的电影可不可以利用QQ远程盗走里面的视频文件?会的说下详细