LDR R0,[R1] //R0<-[R1]
STR R0,[R1] //[R1]<-R0
恕我愚笨,后面带了注释我还是不太懂,麻烦详细解释一番
arm两条简单的指令?
答案:2 悬赏:30 手机版
解决时间 2021-03-16 19:10
- 提问者网友:自食苦果
- 2021-03-16 13:44
最佳答案
- 五星知识达人网友:逃夭
- 2021-03-16 15:21
LDR指令:将存储器地址为R1的字数据读入寄存器R0
STR指令:将寄存器R0中的字数据写入为以R1为地址的存储器中
(注意存储器和寄存器的区别)
STR指令:将寄存器R0中的字数据写入为以R1为地址的存储器中
(注意存储器和寄存器的区别)
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-03-16 15:27
功能:一个数如果大于0则变成负值,如果已经为负值,则不变。
area example, code,readonly
entry
main
mov r3,#0 //r3 里面放个0
mov r0,#1000 //r0 里面放1000,这个1000是当做地址用的。
mov r4,#2000 //r2 里面放2000, 这个2000是当做地址用的。
ldr r1,[r0] //将地址1000存放的数放到r1里面。
cmp r1,#0 //r1 和 0作比较。
bllt inverse //如果r1里面的数据大于0,则跳转到 inverse。小于0则继续执行下一条。
mov r3,r1 //为小于0的分支,将r1放到r3里面。
str r3,[r4] //将r3的值放到2000地址指向的空间。
bl endplace //程序结束。
inverse //大于0的分支。
sub r3,r3,r1 // 0 减去r1,得到一个-r1,并存到r3里面。
str r3,[r4] //将r3的值,放到地址2000指向的空间。
endplace blendplace //程序结束。
end
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯