8086CPU中和標誌寄存器相關的東東

來源:互聯網
上載者:User

  • ZF (Zero Flag): 零標誌位。它記錄相關指令執行後,其結果是否為0。
  • PF (Parity Flag): 奇偶標誌位。它記錄相關指令執行後,其結果的所有二進位位中1的個數是否為偶數。
  • SF (Sign Flag): 符號標誌位。它記錄相關指令執行後,其結果是否為負。
  • CF (Carry Flag): 進位標誌位。它記錄了無符號數運算結果的最高位向更高位的進位值,或從更高位的借位值。
  • OF (Overflow Flag): 溢出標誌位。它記錄了有符號數運算的結果是否發生了溢出。
  • CFOF的區別: CF對無符號數運算有意義,而OF對有符號數運算有意義。
  • adc (c - carry)  帶進位加法指令。它利用了CF位上記錄的進位值。
  • sbb (b - borrow)  帶借位減法指令。它利用了CF位上記錄的借位值。
  • cmp (compare)  比較指令。它的功能相當於減法指令,只是不儲存結果。
  • je (e - equal)  ZF=1則轉移
    jne (ne - not equal) ZF=0則轉移
    jb (b - below)  CF=1則轉移
    jnb (nb - not below) CF=0則轉移
    ja (a - above)  CF=0且ZF=0則轉移
    jna (na - not above) CF=1或ZF=1則轉移
  • cmp指令和je等條件轉移指令配合使用,可以實現根據比較結果進行轉移的功能。
  • DF (Direction Flag)  方向標誌位。在串處理指示中,控制每次操作後si,di的增減,0增1減。
  • movesb (b - byte)  傳送一個位元組。
    movesw (w - word) 傳送一個字。
    rep movesb (rep - repeat) 迴圈執行位元組串傳送指令。
    rep movesw (rep - repeat) 迴圈執行字串傳送指令。
  • cld (clear DF)  將DF置0。
    std (set DF)  將DF置1。
  • pushf (push flag)  將標誌寄存器的值壓棧。
  • popf (pop flag)  從棧中彈出資料送入標誌寄存器。
  • Debug中標誌位的表示:

標誌位   值為1    值為0
OF         OV       NV
SF          NG       PL
ZF          ZR       NZ
PF          PE       PO
CF          CY       NC
DF          DN      UP

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.