arm指令ppt: http://www.doc88.com/p-21774568574.html
MOVS:
執行MOVS,一定會影響N,Z,C標誌
比如MOVS r0, #1,執行後r0=1Z=!r0=0; 是否爲0
N=r0>>31=0;符號位
C=!(r0 >= 0)=0;是否有進位
CPSR: 狀態寄存器
SPSR是進入內核態時,比如進入中斷,對CPSR的備份(spsr=cpsr),退出內核態時,再恢復回來(cpsr=spsr)
CPSR = Current Program Status Register
SPSR = Saved Program Status Registers
CPSR寄存器(和保存它的SPSR寄存器)
狀態寄存器專用指令:
mrs tmp,cpsr //讀取CPSR的值
bic tmp,tmp,#0x80 //如果第7位爲1,將其清0
msr cpsr_c,tmp //對控制位區psr[7:0]進行寫操作