計算機體系結構中狀態位的條件是什麼?


狀態暫存器包含狀態位。狀態暫存器的位會根據 ALU 中執行的操作進行修改。該圖顯示了帶有 4 位狀態暫存器的 8 位 ALU 的框圖。

如果最終進位 C8 為 1,則進位 (C) 設定為 1。如果 C8 為 0,則 C 清零為 0。

如果最高位 F7 為 1,則符號 (S) 設定為 1。如果 F7 為 0,則 S 設定為 0。

如果 ALU 的輸出為 0,則零 (Z) 設定為 1,否則 Z 設定為 0。

如果最後兩次進位的異或等於 1,則溢位 (V) 設定為 1,否則 V 清零為 0。

8 位 ALU 操作的結果是 127 或 -127。

Z 是一個狀態位,用於指示比較 A 和 B 後得到的結果。這裡使用異或運算來比較兩個數字(如果 A = B,則 Z = 0)。

條件分支指令

條件分支指令使用狀態位檢查分支條件。表中顯示了一些常用的條件分支指令。

條件指令

助記符條件測試條件
BZ如果為零則分支Z = 1
BNZ如果不為零則分支Z = 0
BC如果進位則分支C = 1
BNC如果沒有進位則分支C = 0
如果為零則分支如果為正則分支S = 0
BM如果為負則分支S = 1
BV如果溢位則分支V = 1
BNV如果沒有溢位則分支V = 0
無符號比較條件 (A –B)

BHI如果更高則分支A > B
BHE如果更高或等於則分支A ≥ B
BLO如果更低則分支A < B
BLOE如果更低或等於則分支A ≤ B
BE如果相等則分支A = B
BEN如果不相等則分支A ≠ B
有符號比較條件 (A – B)

BGT如果大於則分支A > B
BGE如果大於或等於則分支A ≥ B
BLT如果小於則分支A < B
BLE如果小於或等於則分支A ≤ B
BE如果相等則分支A = B
BEN如果不相等則分支A ≠ B

因此,當狀態條件為真時,程式控制將轉移到指令中指定的地址,否則,控制將繼續執行後續位置的指令。條件指令也與程式控制指令(如跳轉、呼叫或返回)相關聯。

零狀態位檢查 ALU 的結果是否為零。進位位檢查 ALU 的最高有效位位置是否有進位。它也與旋轉指令一起使用,以檢查位是否從暫存器的末尾位置移入進位位置。

符號位指示 ALU 輸出的最高有效位的狀態(S = 0 表示正號,S = 1 表示負號)。如果為正則分支和如果為負則分支用於檢查最高有效位的數值是否代表符號。溢位和下溢指令與對帶符號數執行的算術運算一起使用。

高位和低位用於表示無符號數之間的關係,而大於和小於字用於表示有符號數之間的關係。

更新於:2021年7月24日

7K+ 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.