热门问题
时间线
聊天
视角
狀態暫存器
来自维基百科,自由的百科全书
Remove ads
狀態暫存器(status register)或旗標暫存器(flag register)是中央處理器中集合許多狀態旗標位元的暫存器。這類的暫存器像是X86架構的FLAGS暫存器、IBM System/360架構透過z/Architecture的程序狀態字(PSW),以及ARM Cortex-A架構裡的應用程式狀態暫存器(application program status register, APSR)[1]。
狀態暫存器是包括中央處理器狀態資訊的硬體暫存器。其個別位元可以直接用機器語言指令讀寫,或是用其他方式讀取或修改其值。狀態暫存器讓一個指令可以依照上一個指令動作後的結果進行動作。
一般來說,有些狀態暫存器的位元會隨運算或是位元處理的結果而變化。例如,若輸出結果為0,會設定Z旗標,若輸出結果不為0,會清除Z旗標。其他指令也可能變更旗標的結果。一些條件判斷指令也會讀取位元狀態,以決定是否要執行後續動作(跳躍、呼叫副程式、副程式返回等)。
有些CPU架構(像是MIPS架構和DEC Alpha)沒有專用的狀態暫存器。有些架構不會隱式的讀寫旗標,有些則是用顯式指定的通用暫存器完成此工作。
狀態暫存器也會有其他的欄位,例如專用旗標、中斷始能旗標等。呼叫中斷時,會將目前執行緒的狀態暫存器、程式計數器和其他暫存器存到呼叫堆疊中,以記錄中斷前的狀態,中斷結束後再回到該位置繼續執行。
Remove ads
常用旗標
以下是最常見的CPU狀態旗標。
其他旗標
以下是一些處理器要有的旗標:
Remove ads
相關條目
參考資料
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads