您的位置:首页 > 其它

1.2.17、ARM汇编指令集:数据传输和跳转指令详解

2016-11-21 16:48 1511 查看

常用ARM指令1:数据处理指令

数据传输指令:mov、mvn

算术指令:add、sub、rsb、adc、sbc、rsc

逻辑指令:and、orr、eor、bic

比较指令:cmp、cmn、tst、teq

乘法指令:mvl、mla、umull、umlal、smull、smlal

前导零计数:clz

常用ARM指令2:cpsr访问指令

mrs & msr

mrs用来读cpsr,msr用来写cpsr

CPSR寄存器比较特殊,需要专门的指令访问,这就是mrs和msr

常用ARM指令3:跳转(分支)指令

b & bl & bx

b 直接跳转(就没打开算返回)

bl branch and link,跳转前把返回地址放入lr中,以便返回,以便用于函数调用

bx跳转同时切换到ARM模式,一般用于异常处理的跳转

常用ARM指令4:访存指令

ldr/str & ldm/stm & swp

单个字/半字/字节访问 ldr/str

多字批量访问 ldm/stm

swp r1, r2, [r0]

swp r1, r1, [r0]

常用ARM指令5:软中断指令

swi(software interrupt)

软中断指令用来实现操作系统中系统调用

ARM汇编中的立即数

合法立即数与非法立即数

ARM指令都是32位,除了指令标记和操作标记外,本身只能附带很少位数的立即数。因此立即数有合法和非法之分

合法立即数:经过任意位数的移位后非零部分可以用8位表示的即为合法立即数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  arm 汇编