1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問(wèn)題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
      ARM匯編指令MRS和MSR有什么用

      小編給大家分享一下  ARM匯編指令MRS和MSR有什么用,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

      醴陵網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),醴陵網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為醴陵上1000+提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的醴陵做網(wǎng)站的公司定做!

      ARM中有兩條指令用于在狀態(tài)寄存器和通用寄存器之間傳送數(shù)據(jù)。

      針對(duì)32位的ARM處理器,狀態(tài)寄存器就是一個(gè)32位長(zhǎng)的寄存器。每個(gè)位的含義如下圖:
      ARM匯編指令MRS和MSR有什么用

      分成了4部分:

      1,條件標(biāo)志位

      N(Negative), Z(Zero), C(Carry), V(Verflow)統(tǒng)稱為條件標(biāo)志位。ARM指令可以根據(jù)CPSR中的這些條件標(biāo)志位來(lái)選擇性的執(zhí)行。

      2,Q標(biāo)志位

      ARM v5的E系列處理器中,CPSR的bit[27]稱為Q標(biāo)志位。主要用于指示增強(qiáng)的DSP指令是否發(fā)生了溢出。

      3,控制位

      I, F, T以及M[4:0]統(tǒng)稱為控制位。當(dāng)異常中斷發(fā)生時(shí),這些位發(fā)生變化。在特權(quán)級(jí)的處理器模式下,軟件可以修改這些控制位。

      下表示控制位M[4:0]的含義:


      M[4:0]

      處理器模式

      可訪問(wèn)的寄存器

      0b10000

      用戶模式

      PC,CPSR, R14~R0

      0b10001

      FIQ模式

      PC,CPSR, SPSR_fiq,R14_fiq,R8_fiq, R7~R0

      0b10010

      IRQ模式

      PC,CPSR, SPSR_irq,R14_irq,R13_irq,R12~R0

      0b10011

      管理模式

      PC,CPSR, SPSR_svc,R14_svc,R13_svc,R12~R0

      0b10111

      中止模式

      PC,CPSR, SPSR_abt,R14_abt,R13_abt, R12~R0

      0b11011

      未定義模式

      PC,CPSR, SPSR_und,R14_und,R13_und, R12~R0

      0b11111

      系統(tǒng)模式

      PC,CPSR(ARMv4及以上版本), R14~R0

      4,保留位
       用于將來(lái)ARM版本的擴(kuò)展。

      狀態(tài)寄存器訪問(wèn)指令僅有兩天:

      MRS: 狀態(tài)寄存器到通用寄存器的傳送指令。

      MSR: 通用寄存器到狀態(tài)寄存器的傳送指令。

      MRS指令介紹

      MRS的指令編碼格式:


      ARM匯編指令MRS和MSR有什么用
       指令的語(yǔ)法格式:

      MRS{}, CPSR

      MRS{}, SPSR

      其中:

      為指令執(zhí)行的條件碼。當(dāng)忽略時(shí)指令為無(wú)條件執(zhí)行。

      為目標(biāo)寄存器。

      指令操作的偽代碼:

      C代碼

      if ConditionPassed(cond) then   
          if R == 1 then  
              Rd = SPSR   
          else  
              Rd = CPSR

      MSR指令使用的場(chǎng)合:

      • 通常通過(guò)“讀取-修改-寫回”操作序列修改狀態(tài)寄存器的內(nèi)容。MRS指令用于將狀態(tài)寄存器的內(nèi)容讀到通用寄存器中。

      • 當(dāng)異常允許嵌套時(shí),需要在進(jìn)入異常中斷之后,嵌套中斷發(fā)生之前保存當(dāng)前處理器模式對(duì)應(yīng)的SPSR。這時(shí)需要先通過(guò)MRS指令讀出SPSR的值,在用其他指令將SPSR值保存起來(lái)。

      • 在進(jìn)程切換時(shí)也需要保存當(dāng)前狀態(tài)寄存器的值。

      MSR指令介紹

      MRS的指令編碼格式:

      這里分為兩種格式,一種是原操作數(shù)為通用寄存器, 另一種是源操作數(shù)是立即數(shù)。



       

      指令的語(yǔ)法格式:

      C代碼

      MSR{} CPSR_, #  
      MSR{} CPSR_  
      MSR{} CPSR_, #  
      MSR{} CPSR_

       其中:

      為指令執(zhí)行的條件碼。當(dāng)忽略時(shí)指令為無(wú)條件執(zhí)行。

      設(shè)置狀態(tài)寄存器中需要操作的位。狀態(tài)寄存器的32位可以分為4個(gè)8位的域:

          f: 指示bits[31 : 24],又名條件標(biāo)志位域

          s: 指示bits[23 : 16],又名狀態(tài)標(biāo)志位域

          x: 指示bits[15 : 8], 又名擴(kuò)展位域

          c: 指示bits[7 : 0],又名控制位
      為將要傳送到狀態(tài)寄存器中的立即數(shù),該立即數(shù)的計(jì)算方式可以去照看

      寄存器包含將要傳送到狀態(tài)寄存器中的數(shù)據(jù)。

      指令的操作偽代碼:


      ARM匯編指令MRS和MSR有什么用
       

      指令的使用:
      MSR指令通常用于恢復(fù)狀態(tài)寄存器的內(nèi)容或者改變寄存器的內(nèi)容。

      當(dāng)退出異常中斷處理器程序時(shí),如果事先保存了狀態(tài)寄存器的內(nèi)容通常通過(guò)MSR指令將事先保存的狀態(tài)寄存器內(nèi)容恢復(fù)到狀態(tài)寄存器中。

      當(dāng)需要修改狀態(tài)寄存器的內(nèi)容時(shí),通過(guò)“讀取-修改-寫回”指令序列完成。寫回操作也是通過(guò)MSR指令完成的。

      處理器切換到特權(quán)模式,使用將要修改某個(gè)位域的示例:

      C代碼

      mrs r0, cpsr ;讀取cpsr中的值  
      bic r0, r0, #0x1F ;修改,去除當(dāng)前處理器模式  
      orr r0, r0, #0x13 ;修改,設(shè)置特權(quán)模式  
      msr cpsr_c, r0 ;寫回,僅僅修改CPRS中的控制位

      當(dāng)進(jìn)程切換到應(yīng)用場(chǎng)合,應(yīng)指定SPSR_fsxc來(lái)完全恢復(fù)。

      看完了這篇文章,相信你對(duì)“  ARM匯編指令MRS和MSR有什么用”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


      網(wǎng)站欄目:ARM匯編指令MRS和MSR有什么用
      分享鏈接:http://ef60e0e.cn/article/pogige.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        民县| 镇巴县| 恩平市| 阿尔山市| 桂阳县| 香河县| 北碚区| 黄骅市| 汨罗市| 芒康县| 泾川县| 蒙山县| 南江县| 合山市| 普兰店市| 大田县| 乐业县| 宣汉县| 丹巴县| 垣曲县| 申扎县| 汉川市| 新和县| 兴化市| 宝兴县| 修水县| 洪雅县| 石渠县| 临朐县| 定襄县| 五莲县| 宿迁市| 通州区| 开平市| 沙湾县| 曲阜市| 金塔县| 兴文县| 康保县| 应城市| 清涧县|