久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > Thumb指令集之:Thumb數據處理指令

Thumb指令集之:Thumb數據處理指令

作者: 時間:2013-09-30 來源:網絡 收藏

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

11.4.13比較指令CMN

(1)編碼格式

比較指令CMN的編碼格式如圖11.19所示。

圖11.19CMN指令的編碼格式

比較指令CMN將一個寄存器的值和另一個寄存器的值取負做比較,并根據比較結果更新程序狀態字的標志位。程序中比較指令后通常跟條件執行指令。

(2)指令的語法格式

CMNRn>,Rm>

①Rn>

操作數寄存器。用于存放指令的第一個操作數。

②Rm>

操作數寄存器。用于存放指令的第二個操作數。

(3)指令操作的偽代碼

Alu_out=Rn+Rm

NFlag=alu_out[31]

ZFlag=ifalu_out==0then1else0

CFlag=NOTBorrowFrom(Rn+Rm)

VFlag=OverflowFrom(Rn+Rm)

(4)對應的指令

CMNRn>,Rm>

11.4.14比較指令CMP(1)

(1)編碼格式

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

圖11.20CMP(1)指令的編碼格式

比較指令CMP(1)將一個寄存器的值和8位立即數做比較,并根據比較結果更新程序狀態字的標志位。程序中比較指令后通常跟條件執行指令。

(2)指令的語法格式

CMPRn>,#immed_8>

①Rn>

操作數寄存器。

②immed_8>

8位常數。將與寄存器Rn>的值做比較。

(3)指令操作的偽代碼

Alu_out=Rn–immed_8

NFlag=alu_out[31]

ZFlag=ifalu_out==0then1else0

CFlag=NOTBorrowFrom(Rn–immed_8)

VFlag=OverflowFrom(Rn–immed_8)

(4)對應的指令

CMPRn>,#immed_8>

11.4.15比較指令CMP(2)

(1)編碼格式

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

圖11.21CMP(2)指令的編碼格式

比較指令CMP(2)將兩個寄存器的值做比較,并根據比較結果更新程序狀態字的標志位。程序中比較指令后通常跟條件執行指令。

(2)指令的語法格式

CMPRn>,Rm>

①Rn>

操作數寄存器,存放比較的第一個操作數。

②Rm>

操作數寄存器,存放比較的第二個操作數。

(3)指令操作的偽代碼

alu_out=Rn–Rm

NFlag=alu_out[31]

ZFlag=ifalu_out==0then1else0

CFlag=NOTBorrowFrom(Rn-Rm)

VFlag=OverflowFrom(Rn-Rm)

(4)對應的指令

CMPRn>,Rm>



評論


相關推薦

技術專區

關閉