小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

2.4.4 程序狀態(tài)寄存器訪問指令

 liwei0126sia 2011-11-06

2.4.4  程序狀態(tài)寄存器訪問指令

ARM微處理器支持程序狀態(tài)寄存器訪問指令,用于在程序狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù),程序狀態(tài)寄存器訪問指令包括以下兩條。

MRS:程序狀態(tài)寄存器到通用寄存器的數(shù)據(jù)傳送指令。

MSR:通用寄存器到程序狀態(tài)寄存器的數(shù)據(jù)傳送指令。

1. MRS指令

MRS指令的格式為:

  1. MRS{條件} 通用寄存器, 程序狀態(tài)寄存器(CPSR 或SPSR) 

MRS指令用于將程序狀態(tài)寄存器的內(nèi)容傳送到通用寄存器中。該指令一般用在以下幾種情況:

當需要改變程序狀態(tài)寄存器的內(nèi)容時,可用MRS將程序狀態(tài)寄存器的內(nèi)容讀入通用寄存器,修改后再寫回程序狀態(tài)寄存器。

當在異常處理或進程切換時,需要保存程序狀態(tài)寄存器的值,可先用該指令讀出程序狀態(tài)寄存器的值,然后保存。

指令示例:

  1. MRS R0, CPSR    ;傳送CPSR 的內(nèi)容到R0  
  2. MRS R0, SPSR    ;傳送SPSR 的內(nèi)容到R0  

2. MSR指令

MSR指令的格式為:

  1. MSR{條件} 程序狀態(tài)寄存器(CPSR 或SPSR)_<>, 操作數(shù) 

MSR指令用于將操作數(shù)的內(nèi)容傳送到程序狀態(tài)寄存器的特定域中。其中,操作數(shù)可以為通用寄存器或立即數(shù)。<域>用于設置程序狀態(tài)寄存器中需要操作的位,32位的程序狀態(tài)寄存器可分為以下4個域。

位[31:24]為條件標志位域,用f表示。

位[23:16]為狀態(tài)位域,用s表示。

位[15:8]為擴展位域,用x表示.。

位[7:0]為控制位域,用c表示。

該指令通常用于恢復或改變程序狀態(tài)寄存器的內(nèi)容,在使用時,一般要在MSR指令中指明將要操作的域。

指令示例:

  1. MSR CPSR, R0        ;傳送R0 的內(nèi)容到CPSR  
  2. MSR SPSR, R0        ;傳送R0 的內(nèi)容到SPSR  
  3. MSR CPSR_c, R0      ;傳送R0 的內(nèi)容到CPSR, 但僅僅修改CPSR 中的控制位域 

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多