1

我一直在做一些额外的课本作业,为接下来几周即将到来的 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

以上三个指令在已经处于超级用户模式时是否有效启动用户模式?

我的最后一个问题与跟踪模式有关。我完全迷失了这个,我需要一些指导。这是问题:

说明如何在跟踪模式下以中断屏蔽级别 5 启动地址为 $4000 的用户程序。

如果我能得到任何提示,我将非常感激。谢谢!

4

1 回答 1

2

哦,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
于 2014-11-28T19:57:40.633 回答