• 正文
    • 6.9  TST測試指令
  • 相關推薦
申請入駐 產業(yè)圖譜

數(shù)據(jù)處理指令之: TST測試指令

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

6.9? TST測試指令

1.指令的編碼格式

TST(Test)測試指令用于將一個寄存器的值和一個算術值做比較。條件標志位根據(jù)兩個操作數(shù)做“邏輯與”后的結果設置。

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

圖6.10? TST指令編碼格式

2.指令的語法格式

TST{<cond>}? <Rn>,<shifter_operand>

① <cond>

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

② <Rn>

指定第一個源操作數(shù)寄存器。

③ <shifter_operand>

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

注意

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

?

3.指令操作的偽代碼

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

If? ConditionPassed{cond}? then

???? ALU_out = Rn AND shifter_operand

??? ?N Flag = ALU_out[31]

???? Z Flag = if ALU_out==0 then 1 else 0

???? C Flag =shifter_carry_out

???? V Falg=unaffected

?

4.指令舉例

【例6.9】TST指令舉例。

TST類似于CMP,不產生放置到目的寄存器中的結果。而是在給出的兩個操作數(shù)上進行操作并把結果反映到狀態(tài)標志上。使用TST來檢查是否設置了特定的位。操作數(shù)1是要測試的數(shù)據(jù)字而操作數(shù)2是一個位掩碼。經過測試后,如果匹配則設置Zero標志,否則清除它。和CMP指令一樣,該指令不需要指定S后綴。

下面的指令測試在R0中是否設置了位0

? TST???? R0, #%1

Arm

Arm

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

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

查看更多

相關推薦

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

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