ARM常用的汇编指令
发布时间
阅读量:
阅读量
在对ARM芯片进行调试的过程中,我们常常会遭遇各种各样的问题,其中大部分时间都需要查阅反汇编代码。如果对汇编语言的理解不够深入,就很难准确把握代码的具体含义。今天我们将介绍一些在调试过程中常用的汇编指令。
常用汇编指令:
(1)相对跳转指令
b ;执行跳转操作
bl ;除了实现跳转外,还会将下一条指令的地址存储到lr寄存器中。
注:b和bl这两条指令的跳转范围为前后2MB。
(2)数据传送指令MOV及地址读取伪指令ldr
mov r1, r2 ;将寄存器r2中的值赋给寄存器r1,即r1 = r2
mov r1, #4096 ;将立即数4096赋给寄存器r1,即r1 = 4096
ldr r1, =4097 ;这是一个伪指令,并非真实存在的机器码。编译器会将其转换为实际的机器码。
;r1 = 4097
ldr r1, =label ;用于获取标签label所对应的绝对地址
label:
…
(3)内存访问指令:ldr、str、ldm、stm
注:ldr既可以作为读取地址的伪指令使用,也可以作为内存访问的真实指令。当第二个参数前带有“=”时,表示为伪指令;否则则表示为内存访问的真实操作。所有操作数均为32位数据。
ldr r1, [r2, #4] ;从地址r2+4处读取数据并存储到寄存器r1
全部评论 (0)
还没有任何评论哟~
