ARM指令 BCC什么意思?
1个回答
展开全部
BCC是指CPSR寄存器条件标志位为0时的跳转。结合CMP
R3,
R1,意思是比较R3
R1寄存器,当相等时跳转到环测试。因为CMP指令减去两个值并在CPSR中设置条件标志位。
扩展资料:
当ARM跳转指令从当前指令向前或向后的32MB地址空间跳转时,这类跳转指令有以下4种:
(1)B
跳转指令
B〔条件)
(地址)
B指令属于ARM指令集,是最简单的分支指令。一旦遇到一个B指令,ARM处理器将立即跳转到给定的地址,从那里继续执行。
(2)BL
带返回的跳转指令
BI,〔条件)
(地址)
BL指令也属于ARM指令集,是另一个分支指令。就在分支之前,在寄存器R14中装载上R15的内容,因此可以重新装载R14到R15中来返回到这个分支之后的那个指令处执行,它是子例程的一个基本但强力的实现。
(3)BLX
带返回和状态切换的跳转指令
BLX
<地址>
BLX指令有两种格式,第1种格式的BLX指令记作BLX(1)。BLX(1)从ARM指令集跳转到指令中指定的目标地址,并将程序状态切换到Thumb状态,该指令同时将PC寄存器的内容复制到LR寄存器中。
BLX(1)指令属于无条件执行的指令。
第2种格式的BLX指令记作BLX(2)。BLX(2)指令从ARM指令集跳转到指令中指定的目标地址,目标地址的指令可以是ARM指令,也可以是Thumb指令。目标地址放在指令中的寄存器<dest>中,该地址的bit[0]值为0,目标地址处的指令类型由CPSR中的T位决定。
(4)BX
带状态切换的跳转指令
BX(条件)
(dest)
BX指令跳转到指令中指定的目标地址,目标地址处的指令可以是ARM指令,也可以是Thumb指令。目标地址值为指令的值和0xFFFFFFFE做“与”操作的结果,目标地址处的指令类型由寄存器决定。
参考资料:百度百科-ARM指令集
R3,
R1,意思是比较R3
R1寄存器,当相等时跳转到环测试。因为CMP指令减去两个值并在CPSR中设置条件标志位。
扩展资料:
当ARM跳转指令从当前指令向前或向后的32MB地址空间跳转时,这类跳转指令有以下4种:
(1)B
跳转指令
B〔条件)
(地址)
B指令属于ARM指令集,是最简单的分支指令。一旦遇到一个B指令,ARM处理器将立即跳转到给定的地址,从那里继续执行。
(2)BL
带返回的跳转指令
BI,〔条件)
(地址)
BL指令也属于ARM指令集,是另一个分支指令。就在分支之前,在寄存器R14中装载上R15的内容,因此可以重新装载R14到R15中来返回到这个分支之后的那个指令处执行,它是子例程的一个基本但强力的实现。
(3)BLX
带返回和状态切换的跳转指令
BLX
<地址>
BLX指令有两种格式,第1种格式的BLX指令记作BLX(1)。BLX(1)从ARM指令集跳转到指令中指定的目标地址,并将程序状态切换到Thumb状态,该指令同时将PC寄存器的内容复制到LR寄存器中。
BLX(1)指令属于无条件执行的指令。
第2种格式的BLX指令记作BLX(2)。BLX(2)指令从ARM指令集跳转到指令中指定的目标地址,目标地址的指令可以是ARM指令,也可以是Thumb指令。目标地址放在指令中的寄存器<dest>中,该地址的bit[0]值为0,目标地址处的指令类型由CPSR中的T位决定。
(4)BX
带状态切换的跳转指令
BX(条件)
(dest)
BX指令跳转到指令中指定的目标地址,目标地址处的指令可以是ARM指令,也可以是Thumb指令。目标地址值为指令的值和0xFFFFFFFE做“与”操作的结果,目标地址处的指令类型由寄存器决定。
参考资料:百度百科-ARM指令集
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询