91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

奉节县| 高州市| 镇康县| 武功县| 二手房| 台中县| 永州市| 北安市| 呈贡县| 长岭县| 新沂市| 广汉市| 义乌市| 盐边县| 庄浪县| 博兴县| 元阳县| 天祝| 开远市| 荣成市| 广南县| 体育| 阿克陶县| 上杭县| 广饶县| 翁源县| 泸州市| 滁州市| 维西| 卢龙县| 巩留县| 马公市| 乡宁县| 乐都县| 大足县| 定南县| 阿城市| 子洲县| 磐安县| 太白县| 舒城县|