程式狀態暫存器存取指令
MRS(move PSR to general purpose register)
MSR(move to state register from arm register)
程式狀態暫存器CPSR和儲存程式狀態暫存器SPSR,
都是特殊的暫存器,存取這些暫存器是不能用一般的
資料處理指令,直接存取的.而是必須透過MSR,MRS指令
要更改CPSR的內容,可以先用MRS把CPSR複製到一般
暫存器中,修改完後再用MSR從一般暫存器搬移到CPSR.
MRS {<條件式>} Rd, CPSR|SPSR
MRS r1,cpsr ; r1=cpsr
MSR {<條件式>} Rd,CPSR | SPSR
MSR CPSR_f,#123
MSR CPSR_fs,#0x123
其中其_f為一組遮罩用
MRS(move PSR to general purpose register)
MSR(move to state register from arm register)
程式狀態暫存器CPSR和儲存程式狀態暫存器SPSR,
都是特殊的暫存器,存取這些暫存器是不能用一般的
資料處理指令,直接存取的.而是必須透過MSR,MRS指令
要更改CPSR的內容,可以先用MRS把CPSR複製到一般
暫存器中,修改完後再用MSR從一般暫存器搬移到CPSR.
MRS {<條件式>} Rd, CPSR|SPSR
MRS r1,cpsr ; r1=cpsr
MSR {<條件式>} Rd,CPSR | SPSR
MSR CPSR_f,#123
MSR CPSR_fs,#0x123
其中其_f為一組遮罩用
| f(Bit 19) | 旗標欄位組(flag field) | PSR(31:24) |
| s(Bit 18) | 狀態欄位組(Status field) | PSR(23:16) |
| x(Bit 17) | 延伸欄位組(extension filed) | PSR(15:8) |
| c(Bit 16) | 控制欄位組(control filed) | PSR(7:0) |
沒有留言:
張貼留言