色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

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

          下面詳細(xì)介紹各指令的語法和使用。

          11.4.1ADC指令

          (1)編碼格式

          帶進位的加法指令A(yù)DC的編碼格式如圖11.7所示。

          圖11.7ADC指令的編碼格式

          帶進位的ADC指令和加法指令A(yù)DD配合使用可以實現(xiàn)多字相加(multi-word),詳見指令集介紹。

          (2)指令的語法格式

          ADCRd>,Rm>

          ①Rd>

          第一個操作數(shù)寄存器,并且是操作結(jié)果的目的寄存器。

          ②Rm>

          第二操作數(shù)寄存器。

          (3)指令操作的偽代碼

          Rd=Rd+Rm+CFlag

          NFlag=Rd[31]

          ZFlag=ifRd==0then1else0

          CFlag=CarryFrom{Rd+Rm+CFlag}

          VFlag=OverflowFrom{Rd+Rm+CFlag}

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

          ADCSRd>,Rd>,Rm>

          11.4.2小立即數(shù)加法指令A(yù)DD(1)

          (1)編碼格式

          立即數(shù)加法指令A(yù)DD(1)的編碼格式如圖11.8所示。

          圖11.8ADD(1)指令的編碼格式

          ADD加法指令實現(xiàn)“小常數(shù)”的加法運算,并將相加的結(jié)果保存到指定的寄存器中。

          (2)指令的語法格式

          ADDRd>,Rn>,#immed_3>

          ①Rd>

          加法操作的目標(biāo)寄存器。

          ②Rn>

          操作數(shù)寄存器。

          ③#immed_3>

          3位的立即數(shù)。該立即數(shù)將和寄存器Rn>的值相加,并將結(jié)果保存到Rd>中。

          (3)指令操作的偽代碼

          Rd=Rn+immed_3

          NFlag=Rd[31]

          ZFlag=ifRd==0then1else0

          CFlag=CarryFrom{Rn+immed_3}

          VFlag=OverflowFrom{Rn+immed_3}

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

          ADDSRd>,Rn>,#immed_3>

          11.4.3大立即數(shù)加法指令A(yù)DD(2)

          (1)編碼格式

          立即數(shù)加法指令A(yù)DD(2)的編碼格式如圖11.9所示。

          圖11.9ADD(2)指令的編碼格式

          此中形式的ADD(2)指令將一個大的立即數(shù)(8bit)與指定寄存器的值相加,并將運算結(jié)果保存到此寄存器中。

          (2)指令的語法格式

          ADDRd>,#immed_8>

          ①Rd>

          加法操作的目標(biāo)寄存器。

          ②#immed_8>

          8位的立即數(shù)。該立即數(shù)將和寄存器Rd>的值相加,并將結(jié)果保存到Rd>中。

          (3)指令操作的偽代碼

          Rd=Rd+immed_8

          NFlag=Rd[31]

          ZFlag=ifRd==0then1else0

          CFlag=CarryFrom{Rn+immed_8}

          VFlag=OverflowFrom{Rn+immed_8}

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

          ADDSRd>,Rd>,#immed_8>



          評論


          相關(guān)推薦

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

          關(guān)閉