永发信息网

大家来帮我看看这个ARM 汇编程序,我不懂

答案:2  悬赏:80  手机版
解决时间 2021-05-08 01:22
  • 提问者网友:你给我的爱
  • 2021-05-07 05:45

area init,code,readonly

entry

code32

mov r0,#12

mov r1,#23

ldr r5,=doAdd+1

blx r5

mov r4,r0

b .

code16

doAdd

add r0,r0,r1

bx lr

end

ldr r5,=doAdd+1 ;这里的doAdd+1是什么意思?

blx r5 ;这句什么意思

b .

code16 ;这两句呢?

bx lr ;这句呢?

看书也真的看不懂啊,真的晕死咯·~~~~!

最佳答案
  • 五星知识达人网友:独行浪子会拥风
  • 2021-05-07 06:56

ldr r5,=doAdd+1 ;这里的doAdd+1是什么意思?//将doAdd+1的地址存放到r5


blx r5 ;这句什么意思//相对跳转


b .


code16 ;这两句呢?//16位指令


bx lr ;这句呢?//跳转到lr

全部回答
  • 1楼网友:大漠
  • 2021-05-07 07:25

area init,code,readonly //代码段的开始 段名为init,代码段,只读

entry        //入口

code32       //ARM指令

mov r0,#12     //r0=12

mov r1,#23 //r1=23

ldr r5,=doAdd+1 //取thumb指令的地址放到R5中

blx r5       //跳转到Thumb指令doAdd处

mov r4,r0     //r4=r0

b .

code16 //thumb指令开始

doAdd       //程序标号

add r0,r0,r1    r0=r0+r1

bx lr // 跳转到ARM指令

end //结束

推荐看一下杜春雷的 ARM体系结构与编程 相信你会对ARM汇编指令有一个深入的理解

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯