已经在主管模式下执行;如何启动用户模式?(几种方案)



我一直在从课本上做一些额外的家庭作业,为接下来几周的68000大会考试做准备。目前有 4 个问题询问如何在已经在主管模式下执行用户模式时启动用户模式。我知道指令 EORANDIMOVE 会让我这样做,但我想知道以下示例是否适用于启动用户模式:

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就像昨天一样。

你走在正确的轨道上。 EORIANDIMOVEI 都可以修改状态寄存器。 但是,您尝试使用即时值#1是错误的。

其中之一应该有效:

eori #$2000,sr
andi #$dfff,sr
move #$2000,sr  ;Depends on what interrupt level you want.

至于你问题的第二部分,提示是:

move #$8500,sr

最新更新