[url=http://arm.cepark.com/attachments/2009/05/6136_200905121617441pZ7E.jpg][/url]
31 | 30 | 29 | 28 | 27 | 26 | 7 | 6 | 5 | 4 | 3 | 21 | 0 |
N | Z | C | V | Q | DNMLRAZ | I | F | I | M4 | M3 | M | M0 |
表CPSR标志位含义
标志位 | 含 |
N | 本位设置成当前指令运算结果的bit[31]的值 当两个补码表示的有符号整数运算时,N=1表示运算的结果为负数,N=0表示结果为正数或零 |
Z | Z=1表示运算结果是0,Z=0表示运算结果不是零 对于CMP指令,Z=1表示进行比较的两个数大小相等 |
C | 在加法指令中(包括比较指令CMN),结果产生进位了,则C=1,表示无符号数运算发生上溢出,其他情况下C=0 在减法指令中(包括比较指令CMP),结果产生借位了,则C=0,表示无符号数运算发生下溢出,其他情况下C=1 对于包含移位操作的非加/减法运算指令,C中包含最后一次被溢出的位的数值,对于其他非加/减法运算指令,C位的值通常不受影响 |
V | 对于加/减法运算指令,当操作数和运算结果为二进制的补码表示的带符号数时,V=1表示符号位溢出 其他的指令通常不影响V位 |
表1?5 CPSR处理器模式位
M[4:0] | 处理器模式 | 可访问的寄存器 |
0b10000 | User | PC,R14~R0,CPSR |
0b10001 | FIQ | PC,R14_fiq~R8_fiq,R7~R0,CPSR,SPSR_fiq |
0b10010 | IRQ | PC,R14_irq~R13_irq,R12~R0,CPSR,SPSR_irq |
0b10011 | Supervisor | PC,R14_svc~R13_svc,R12~R0,CPSR,SPSR_svc |
0b10111 | Abort | PC,R14_abt~R13_abt,R12~R0,CPSR,SPSR_abt |
0b11011 | Undefined | PC,R14_und~R13_und,R12~R0,CPSR,SPSR_und |
0b11111 | System | PC,R14~R0,CPSR(ARM v4及更高版本) |
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |