东莞网站建设制作百度推广优化是什么?
一. 在ARM中有两种方式可以实现程序的跳转:跳转指令和直接向PC寄存器中写入目标地址值。
通过直接向PC寄存器中写入目标地址值可以实现64bit地址空间跳转,称之为长跳转。
ARM的跳转指令可以从当前指令向前或向后的32MB的地址空间跳转。这类跳转指令由以下4种:
B 跳转指令;
BL 带返回的跳转指令;
BLX 带返回和状态切换的跳转指令;
BX 带状态切换的跳转指令。
二.指令的语法格式
B{L}{X}{<cond>} <target_address>
三.B.CC指令
b.cc指令之前的cmp指令(操作数0-操作数1)可以直接影响PSTATE寄存器的C(carry)标识位,发生借位时,C标志为1,否则为0;
B.CC Lable ; 当PSTATUS寄存器中的C条件标志位为1时,程序跳转到标Lable处执行
四.BNE/BEQ指令
BNE/BEQ指令之前的cmp指令(操作数0-操作数1)可以直接影响PSTATE寄存器的Z(zero)标识位,比较结果为0时,Z位置1,比较结果为非0时,Z位为0;
五.LDP指令和STP指令(以LDP指令为例说明,STP以此类推)
(1) LDP和STP实现多直接内存的加载与存储
(2) LDP和STP支持3种寻址模式:
a. 基地址偏移量模式 ———— "{}"大括号表示可选的意思。
LDP <reg0>, <reg1>, [<reg2|SP>{, #<imm>}]
b.前变基模式
LDP <reg0>, <reg1>, [<reg2|SP>, #<imm>]!
c.后变基模式
LDP <reg0>, <reg1>, [<reg2|SP>], #<imm>