亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cmp bne 以及sub指令的詳解

發布時間:2020-06-29 23:30:14 來源:網絡 閱讀:1867 作者:飛寞 欄目:開發技術

之前看到過一個延時函數段:


delay:

     ldr r2, =7000000    

     ldr r3, =0x0        

 delay_loop:

     sub r2, r2, #1      //r2=r2-1  

     cmp r2, r3         //cmp會影響z標志位,如果r2=r3,則Z=1;下一句中eq就會成立

     bne delay_loop      //

mov pc, lr              //函數返回  延時函數

 

現在我們來分析一下這個函數的各個指令。

1、cmp比較指令

假設現在AX寄存器中的數是0004H,BX寄存器中的數是0007H。

執行的指令是:CMP  AX,  BX

執行這條指令時,先做用AX中的數減去BX中的數的減法運算。各標志位將會被分別設置成以下值:

  CF:是否有進位或者借位

  ZF:0標志位,就是結果是否為0

  OF:溢出標志位,是否計算機結果溢出了

  SF:符號位,0為正,1為負

2、bne指令

  bne: 標志寄存器中Z標志位不等于零時, 跳轉到BNE后標簽處

  beq: 標志寄存器中Z標志位等于零時, 跳轉到BEQ后標簽處

 上面函數中,比較了r2和r3,它們相減,如果結果為0,那么Z標志位置位,就不跳轉了,否則就會跳轉,形成循環

3、sub r2,r2,#1

  把r2里的數減1,然后放回r2里面。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

增城市| 共和县| 商洛市| 龙南县| 兴城市| 东城区| 恩施市| 海安县| 吐鲁番市| 亳州市| 绥中县| 黄石市| 出国| 靖宇县| 江门市| 中宁县| 正蓝旗| 永城市| 丰顺县| 麻阳| 门头沟区| 乐安县| 河源市| 米易县| 梓潼县| 北海市| 台前县| 莆田市| 介休市| 荃湾区| 鄄城县| 清新县| 兴隆县| 东阿县| 镇原县| 政和县| 贞丰县| 新民市| 临湘市| 高台县| 天祝|