68000 彙編/暫存器
外觀
< 68000 彙編
除了 16 位狀態暫存器之外,所有 68000 暫存器都是 32 位寬。
有八個資料暫存器:d0、d1、d2、d3、d4、d5、d6 和 d7。它們旨在儲存數字,這些數字將進行各種數學和邏輯運算。
有七個地址暫存器:a0、a1、a2、a3、a4、a5 和 a6。它們通常用作指標。
有一個活動堆疊指標:SP,也稱為 a7。通常情況下,處理器處於使用者模式。在使用者模式下,SP 指向使用者堆疊指標 (USP) 暫存器。(在中斷期間,活動堆疊指標 SP 是另一個稱為中斷堆疊指標或系統堆疊指標的暫存器。68020 及更高版本的處理器有第三個稱為主堆疊指標的暫存器。ISP 和 MSP 都不能在使用者模式下訪問)。
68K 包含特殊的定址模式,使使用任何地址暫存器操作資料堆疊結構變得容易。
程式計數器 (PC) 指向當前指令。在 68000 上,只有低 24 位輸出到任何引腳,最大定址範圍為 16MiB。程式計數器在載入新指令或使用 BRA、Bcc、BSR、JMP、JSR、RTS 或 RTE 指令時會自動更改。它也可以用作 PC 相對定址模式中的指標。
條件碼暫存器 (CCR) 由狀態暫存器 (SR) 的低位元組組成。只有低位元組在使用者模式下可訪問,其中只有前五個位有用。在監控模式下,整個 16 位暫存器都是可訪問的。該暫存器如下所示
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| T1 | T0 | S | M | 0 | I2 | I1 | I0 | 0 | 0 | 0 | X | N | Z | V | C |
以下是解碼後的暫存器內容
| 位 | 描述 |
|---|---|
| C | 進位 |
| V | 溢位 |
| Z | 零 |
| N | 負 |
| X | 擴充套件 |
| I0 | 中斷優先順序遮蔽位 1 |
| I1 | 中斷優先順序遮蔽位 2 |
| I2 | 中斷優先順序遮蔽位 3 |
| M | 主/中斷開關。如果設定了 S,則確定要使用的堆疊模式。如果 M 清除,SP 指向 ISP,否則 SP 指向 MSP。此位在低於 68020 的處理器型號上始終清除。 |
| S | 監控模式標誌。如果清除,SP 指向 USP。如果設定,請檢視 M 以確定 SP 指向哪個堆疊。 |
| T0 | 跟蹤位 1。如果設定,則在程式流更改時跟蹤。此位在低於 68020 的處理器型號上始終清除。 |
| T1 | 跟蹤位 2。如果設定,則允許在任何指令上跟蹤。請勿同時設定兩個跟蹤位! |