彙編指令-CMP、TEQ

cmp:(compare)指令進行比較兩個操作數的大小

  格式: cmp oprd1,oprd2

  比較oprd1和oprd2操作數,然後通過助記符來實現想要的判斷。

teq: (test equal)測試相等,該指令通常用於比較操作數1和操作數2是否相等。

  格式: teq oprd1,oprd2
  TEQ指令用於把一個寄存器的內容和另一個寄存器的內容或立即數進行按位的異或運算,並根據運算結果更新CPSR中條件標誌位的值。該指令通常用於比較操作數1和操作數2是否相等。(EOR指令也是實現異或運算,只是不更新CPSR)

   cmp和teq助記符如下

在這裏插入圖片描述
在這裏插入圖片描述
cmp使用實例實例1:

CMP  R0, R1  ;                                        R0與R1比較,做R0-R1的操作

ADDHI  R0, R0, #1  ;                               若R0 > R1, HI爲真,則R0 = R0 + 1

ADDLS  R1, R1, #1  ;                              若R0 <= R1, LS爲真,則R1 = R1 + 1

cmp使用實例實例2:

adr r0, _start  
ldr r1, _TEXT_BASE 
cmp r0, r1                                                           r0與r1比較,做r0-r1的操作
blne cpu_init_crit                                                若ne(r0地址與r1地址不相等)爲真,執行bl cpu_init_crit  跳轉    

teq使用實例實例1:

teq r0, r1                                                               R0與R1是否相等               
ADDeq  R0, R0, #1  ;                                          若R0 == R1, eq爲真,則R1 = R1 + 1
發佈了76 篇原創文章 · 獲贊 1 · 訪問量 1854
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章