回覆列表
  • 1 # MH美匯國度

    標誌暫存器是用來存放各種標誌位的,標誌暫存器中存放的有條件標誌,也有控制標誌,它對於處理器的執行和整個過程的控制有著非常重要的作用。

      進位標誌:

      用於反映運算是否產生進位或借位。如果運算結果的最高位產生一個進位或借位,則CF置1,否則置0。運算結果的最高位包括字操作的第15位和位元組操作的第7位。移位指令也會將運算元的最高位或最低位移入CF。

      奇偶標誌:用於反映運算結果低8位中“1”的個數。“1”的個數為偶數,則PF置1,否則置0。

      輔助進位標誌:在位元組操作時低半位元組向高半位元組進位或借位,字操作時低位元組向高位元組進位或借位,AF置1,否則置0。

      零標誌:用於判斷結果是否為0。運算結果0,ZF置1,否則置0。

      符號標誌:用於反映運算結果的符號,運算結果為負,SF置1,否則置0。因為有符號數採用補碼的形式表示,所以SF與運算結果的最高位相同。

      溢位標誌:反映有符號數加減運算是否溢位。如果運算結果超過了8位或者16位有符號數的表示範圍,則OF置1,否則置0。

      控制標誌:

      跟蹤標誌:當TF被設定位1時,CPU進入單步模式,所謂單步模式就是CPU在每執行一步指令後都產生一個單步中斷。主要用於程式的除錯。8086/8088中沒有專門用來置位和清零TF的命令,需要用其他辦法。

      中斷標誌:決定CPU是否響應外部可遮蔽中斷請求。IF為1時,CPU允許響應外部的可遮蔽中斷請求。

      方向標誌:決定串操作指令執行時有關指標暫存器調整方向。當DF為1時,串操作指令按遞減方式改變有關儲存器指標值,每次操作後使SI、DI遞減。

      

      標誌暫存器中狀態標誌的作用是什麼

      標誌暫存器裡面有標誌位用來判斷CPU的狀態:

      比如:OF: 溢位標誌位OF用於反映有符號數加減運算所得結果是否溢位。如果運算結果超過當前運算位數所能表示的範圍,則稱為溢位,OF的值被置為1,否則,OF的值被清為0.

      DF: 方向標誌DF位用來決定在串操作指令執行時有關指標暫存器發生調整的方向。

      IF: 中斷允許標誌IF位用來決定CPU是否響應CPU外部的可遮蔽中斷髮出的中斷請求。但不管該標誌為何值,CPU都必須響應CPU外部的不可遮蔽中斷所發出的中斷請求,以及CPU內部產生的中斷請求。具體規定如下:

      (1)、當IF=1時,CPU可以響應CPU外部的可遮蔽中斷髮出的中斷請求;

      (2)、當IF=0時,CPU不響應CPU外部的可遮蔽中斷髮出的中斷請求。

      TF: 狀態控制標誌位是用來控制CPU操作的,它們要透過專門的指令才能使之發生改變

      SF: 符號標誌SF用來反映運算結果的符號位,它與運算結果的最高位相同。在微機系統中,有符號數採用補碼錶示法,所以,SF也就反映運算結果的正負號。運算結果為正數時,SF的值為0,否則其值為1。

      ZF: 零標誌ZF用來反映運算結果是否為0。如果運算結果為0,則其值為1,否則其值為0。在判斷運算結果是否為0時,可使用此標誌位。

      AF: 下列情況下,輔助進位標誌AF的值被置為1,否則其值為0:

      (1)、在字操作時,發生低位元組向高位元組進位或借位時;

      (2)、在位元組操作時,發生低4位向高4位進位或借位時。

      PF: 奇偶標誌PF用於反映運算結果中“1”的個數的奇偶性。如果“1”的個數為偶數,則PF的值為1,否則其值為0。

      CF: 進位標誌CF主要用來反映運算是否產生進位或借位。如果運算結果的最高位產生了一個進位或借位,那麼,其值為1,否則其值為0。)

  • 中秋節和大豐收的關聯?
  • 女明星為什麼鍾愛一字帶高跟涼鞋?