跳转到内容

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。如果设置,则允许在任何指令上跟踪。请勿同时设置两个跟踪位!
华夏公益教科书