Advertisement

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)

还没有任何评论哟~