• 正文
    • 6.8  RSC帶進位的翻轉減指令
  • 相關推薦
申請入駐 產業(yè)圖譜

數據處理指令之:RSC帶進位的翻轉減指令

2013/09/13
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

6.8? RSC帶進位的翻轉減指令

1.指令的編碼格式

RSC(Reverse Subtract with Carry)帶進位的翻轉減操作指令,從寄存器<shifter_operand>中減去<Rn>表示的數值,再減去寄存器CPSR中C條件標志位的反碼(NOT(Carry Flag)),并將結果保存到目標寄存器<Rd>中,并根據指令的執(zhí)行結果設置CPSR中相應的標志位。

指令的編碼格式如圖6.9所示。

圖6.9? RSC指令的編碼格式

2.指令的語法格式

RSC{<cond>}{S}? <Rn>,<Rn>,<shifter_operand>

① <cond>

為指令編碼中的條件域。它指示指令在什么條件下執(zhí)行。當<cond>忽略時,指令為無條件執(zhí)行(cond=AL(Alway))。

② <S>

詳見SUB指令。

③ <Rd>

指定目標寄存器。

④ <Rn>

指定第一個源操作數寄存器。

⑤ <shifter_operand>

使用ARM的通用尋址模式確定第二個源操作數。它影響指令編碼格式中的I(bit[25])位和shifter_operand(bits[11∶0])位。

注意

當指令的編碼格式中I位等于0,并且移位操作數shifter_operand中bit[7]和bit[4]也都等于1,則指令并非RSC指令。詳情請參閱ARM系統結構參考手冊。

?

3.指令操作的偽代碼

指令操作的偽代碼如下面程序段所示。

If? ConditionPassed{cond}? then

???? Rd= shifter_operand-Rn-NOT{C Flag}

???? If? S==1? and? Rd==r15? then

???? CPSR=SPSR

???? Else? if? S==1? then

????????? N flag=Rd[31]

????????? Z flag=if? Rd==0? then? 1? else? 0

????????? C flag=NOT BorrowFrom{shifter_operand - Rn -NOT{C Flag}}

????????? V flag=OverflowFrom{shifter_operand - Rn -NOT{C Flag}}

?

4.指令舉例

【例6.8】RSC指令舉例。

下面程序使用RSC指令實現求64位數值的負數。

RSBS???? R2,R0,#0;

RSC????? R3,R1,#0;

Arm

Arm

ARM公司是一家知識產權(IP)供應商,主要為國際上其他的電子公司提供高性能RISC處理器、外設和系統芯片技術授權。目前,ARM公司的處理器內核已經成為便攜通訊、手持計算設備、多媒體數字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。

ARM公司是一家知識產權(IP)供應商,主要為國際上其他的電子公司提供高性能RISC處理器、外設和系統芯片技術授權。目前,ARM公司的處理器內核已經成為便攜通訊、手持計算設備、多媒體數字消費品等方案的RISC標準。公司1990年11月由Acorn、Apple和VLSI合并而成。收起

查看更多

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

華清遠見(www.farsight.com.cn)是國內領先嵌入師培訓機構,2004年注冊于中國北京海淀高科技園區(qū),除北京總部外,上海、深圳、成都、南京、武漢、西安、廣州均有直營分公司。華清遠見除提供嵌入式相關的長期就業(yè)培訓、短期高端培訓、師資培訓及企業(yè)員工內訓等業(yè)務外,其下屬研發(fā)中心還負責嵌入式、Android及物聯網方向的教學實驗平臺的研發(fā)及培訓教材的出版,截止目前為止已公開出版70余本嵌入式/移動開發(fā)/物聯網相關圖書。企業(yè)理念:專業(yè)始于專注 卓識源于遠見。企業(yè)價值觀:做良心教育、做專業(yè)教育,更要做受人尊敬的職業(yè)教育。