新聞中心

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

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

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

本文引用地址:http://m.butianyuan.cn/article/257041.htm

11.4.31減法指令SUB(1)

(1)編碼格式

減法指令SUB(1)的編碼格式如圖11.37所示。

圖11.37SUB(1)指令的編碼格式

SUB(1)指令從指定寄存器減去3位立即數(shù)(取值范圍為0~8),并把指令的操作結(jié)果保存到寄存器,同時根據(jù)結(jié)果更新CPSR中相應(yīng)的條件標志位。

(2)指令的語法格式

SUBRd>,Rn>,#immed_3>

①Rd>

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

②Rn>

被減數(shù)寄存器,包含減法操作的被減數(shù)。

③immed_3>

作為減數(shù)的立即數(shù),該立即數(shù)的取值范圍為0~8。

(3)指令操作的偽代碼

Rd=Rn–immed_3

NFlag=Rd[31]

ZFlag=ifRd==0then1else0

CFlag=NOTBorrowFrom(Rn–immed_3)

VFlag=OverflowFrom(Rn–immed_3)

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

SUBSRd>,Rn>,#immed_3>

11.4.32減法指令SUB(2)

(1)編碼格式

減法指令SUB(2)的編碼格式如圖11.38所示。

SUB(2)指令從指定寄存器減去8位立即數(shù)(即,取值范圍為0~256),并把指令的操作結(jié)果保存到寄存器,同時根據(jù)結(jié)果更新CPSR中相應(yīng)的條件標志位。

圖11.38SUB(2)指令的編碼格式

(2)指令的語法格式

SUBRd>,#immed_8>

①Rd>

第一個源操作數(shù)所在的寄存器,存放減法操作的被減數(shù),同時將減法操作的執(zhí)行結(jié)果保存到該寄存器。

②immed_8>

8位立即數(shù),即減法操作的減數(shù),取值范圍為0~255。

(3)指令操作的偽代碼

Rd=Rd–immed_8

NFlag=Rd[31]

ZFlag=ifRd==0then1else0

CFlag=NOTBorrowFrom(Rn–immed_8)

VFlag=OverflowFrom(Rn–immed_8)

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

SUBSRd>,Rd>,#immed_8>

11.4.33減法指令SUB(3)

(1)編碼格式

減法指令SUB(3)的編碼格式如圖11.39所示。

圖11.39SUB(3)指令的編碼格式

SUB(3)指令將指定寄存器的值和另一個寄存器表示的值做減法運算,并根據(jù)指令的操作結(jié)果更新狀態(tài)寄存器的標志位。

(2)指令的語法格式

SUBRd>,Rn>,Rm>

①Rd>

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

②Rn>

源寄存器,存放第一個操作數(shù),即減法運算的被減數(shù)。

③Rm>

源寄存器,存放第二個操作數(shù),即減法運算的減數(shù)。

(3)指令操作的偽代碼

Rd=Rd–Rm

NFlag=Rd[31]

ZFlag=ifRd==0then1else0

CFlag=NOTBorrowFrom(Rn–Rm)

VFlag=OverflowFrom(Rn–Rm)

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

SUBSRd>,Rn>,Rm>



評論


相關(guān)推薦

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

關(guān)閉