在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Thumb指令集之:Thumb數(shù)據(jù)處理指令

      Thumb指令集之:Thumb數(shù)據(jù)處理指令

      作者: 時間:2013-09-30 來源:網(wǎng)絡(luò) 收藏

      本文引用地址:http://www.biyoush.com/article/257041.htm

      11.4.16比較指令CMP(3)

      (1)編碼格式

      比較指令CMP(3)的編碼格式如圖11.22所示。

      圖11.22CMP(3)指令的編碼格式

      比較指令CMP(3)將兩個寄存器的值做比較,其中一個寄存器為r8~r14或PC寄存器高16位。并根據(jù)比較結(jié)果更新程序狀態(tài)寄存器的標(biāo)志位。程序中比較指令后通常跟條件執(zhí)行指令,實現(xiàn)指令的分支跳轉(zhuǎn)。

      (2)指令的語法格式

      CMPRn>,Rm>

      ①Rn>

      操作數(shù)寄存器。保存將要進(jìn)行比較的第一個操作數(shù),其取值可以為r0~r15的任意寄存器。

      ②Rm>

      操作數(shù)寄存器。保存將要進(jìn)行比較的第二個操作數(shù),其取值可以為r0~r15的任意寄存器。

      (3)指令操作的偽代碼

      alu_out=Rn–Rm

      NFlag=alu_out[31]

      ZFlag=ifalu_out==0then1else0

      CFlag=NOTBorrowFrom(Rn-Rm)

      VFlag=OverflowFrom(Rn-Rm)

      注意

      指令操作數(shù)寄存器Rn>和Rm>中,至少有一個寄存器為r8~r14或PC寄存器的高16位,否則,指令的執(zhí)行結(jié)果不可預(yù)知。

      (4)對應(yīng)的指令

      CMPRn>,Rm>

      11.4.17異或指令EOR

      (1)編碼格式

      比較指令EOR的編碼格式如圖11.23所示。

      圖11.23EOR指令的編碼格式

      EOR指令將兩個寄存器中的數(shù)值按位執(zhí)行“異或”操作,并根據(jù)指令的執(zhí)行結(jié)果更新程序狀態(tài)寄存器的標(biāo)志位。

      (2)指令的語法格式

      EORRn>,Rm>

      ①Rn>

      操作數(shù)寄存器。同時保存指令的第一個操作數(shù)和指令的執(zhí)行結(jié)果。

      ②Rm>

      操作數(shù)寄存器。保存將要進(jìn)行比較的第二個操作數(shù)。

      (3)指令操作的偽代碼

      Rd=RdORRm

      NFlag=Rd[31]

      ZFlag=ifRd==0then1else0

      CFlag=unaffected

      VFlag=unaffected

      (4)對應(yīng)的指令

      EORSRd>,Rd>,Rm>

      11.4.18邏輯左移指令LSL(1)

      (1)編碼格式

      邏輯左移指令LSL(1)的編碼格式如圖11.24所示。

      圖11.24LSL(1)指令的編碼格式

      邏輯左移指令LSL(1)可以實現(xiàn)以2為底的冪的乘法。進(jìn)行移位后空出的位添0。

      (2)指令的語法格式

      LSLRd>,Rm>,#immed_5>

      ①Rd>

      目的寄存器。存儲指令的操作結(jié)果。

      ②Rm>

      操作數(shù)寄存器。該寄存器保存的數(shù)據(jù)將進(jìn)行左移操作。

      ③immed_5>

      邏輯左移位數(shù),范圍為0~31。

      (3)指令操作的偽代碼

      ifimmed_5==0

      CFlag=unaffected

      Rd=Rm

      Else/*immed_5>0*/

      CFlag=Rm[32–immed_5]

      Rd=Rmlogical_shift_leftimmed_5

      NFlag=Rd[31]

      ZFlag=ifRd==0then1else0

      VFlag=unaffected

      (4)對應(yīng)的指令

      MOVSRd>,Rm>,LSL#immed_5>



      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉