我一直在从课本上做一些额外的家庭作业,为接下来几周的68000大会考试做准备。目前有 4 个问题询问如何在已经在主管模式下执行用户模式时启动用户模式。我知道指令 EOR、ANDI 和 MOVE 会让我这样做,但我想知道以下示例是否适用于启动用户模式:
EOR D0,SR ;SR is status register (is this the right way to address the SR?)
ANDI #1,SR ;Starting user via ANDI
MOVEI, #1,SR ;Starting user via MOVEI
上述三个说明是否适用于在已处于主管模式时启动用户模式?
我的最后一个问题与跟踪模式有关。我完全迷失了这个,我需要一点指导。问题是:
说明地址为 $4000 的用户程序如何在中断掩码级别为 5 的跟踪模式下启动。
如果我能得到任何提示,我将不胜感激。谢谢!
哦,68000编程的美好时光。 我记得打字move.w #$2700,sr
就像昨天一样。
你走在正确的轨道上。 EORI
、ANDI
和 MOVEI
都可以修改状态寄存器。 但是,您尝试使用即时值#1
是错误的。
其中之一应该有效:
eori #$2000,sr
andi #$dfff,sr
move #$2000,sr ;Depends on what interrupt level you want.
至于你问题的第二部分,提示是:
move #$8500,sr