ARM指令条件码

当处理器工作在ARM状态时,几乎所有的指令均根据CPSR中条件码的状态和指令的条件域有条件的执行。当指令的执行条件满足时,指令被执行,否则指令被忽略。每一条ARM指令包含4位的条件码,位于指令的最高4位[31:28]。条件码共有16种,每种条件码可用两个字符表示,这两个字符可以添加在指令助记符的后面和指令同时使用。例如,跳转指令B可以加上后缀EQ变为BEQ表示“相等则跳转”,即当CPSR中的Z标志置位时发生跳转。在16种条件标志码中,只有15种可以使用,如表所示,第16种(1111)为系统保留,暂时不能使用。

  指令的条件码
条件码	助记符后缀	标 志			含 义
0000  	EQ  		Z置位  			相等
0001  	NE  		Z清零  			不相等
0010  	CS  		C置位  			无符号数大于或等于
0011  	CC  		C清零  			无符号数小于
0100  	MI  		N置位  			负数
0101  	PL  		N清零  			正数或零
0110  	VS  		V置位  			溢出
0111  	VC  		V清零  			未溢出
1000  	HI  		C置位Z清零  		无符号数大于
1001  	LS  		C清零Z置位  		无符号数小于或等于
1010  	GE  		N等于V  		带符号数大于或等于
1011  	LT  		N不等于V  		带符号数小于
1100  	GT  		Z清零且(N等于V)	带符号数大于
1101  	LE  		Z置位或(N不等于V)	带符号数小于或等于
1110  	AL  		忽略  			无条件执行
或者这个好看点:
EQ(等于,Equal)				==
NE(不等于,Not Equal)			!=
CS(高于或同于,进位设置,Carry Set)	>=
CC(低于,进位清除,Carry Clear)		<

MI(负号,MInus)				< 0
PL(正号,PLus)				>=0
VS(溢出设置,oVerflow Set)
VC(溢出清除,oVerflow Clear)

HI(高于,HIgher)			>
LS(低于或同于,Lower or Same)		<=
GE(大于等于,Greater or equal)		>=
LT(小于,Less Than)			<
GT(大于,Greater Than)			>
LE(小于等于,Less or equal)		<=
AL(总是,Always)                        永真
NV(从不,Never )                        永假
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值