2009年11月12日 星期四

part.4 ---程式狀態暫存器存取指令

程式狀態暫存器存取指令
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)

沒有留言:

張貼留言