ORG $8000
HMSG DC.B 'Hello!'
DC.B 0
ORG #8100
START MOVEA.L #HMSG,A3
TRAP #3
TRAP #9
END START
这本书不会在
中进行编译,但是该书的MASM68K引用了。当我更改代码时,它有效。
ORG $1000
HSMG DC.B 'Hello!',0
START LEA HSMG,A1
MOVE #14,D0
TRAP #15
END START
这仅仅是由于编译器之间的差异吗?还是我在这里错过了更大的东西?我知道在模拟器中TRAP #15
执行当时寄存器D0中的任何任务,但是每个模拟器中是否存在不同的陷阱任务,或者是所有68000处理器中的标准标准吗?
(例如,Atari ST使用
TRAP
来呼叫OS,您通常通过堆栈上的所有相关信息。寄存器内容被忽略。我相信Mac OS“系统”也以类似的方式使用,并且Amiga根本没有使用它。)
对于后代,这是ease68k中陷阱15执行的任务列表。从本文档的底部窃
http://www.easy68k.com/files/easy68kquickref.pdf.pdf. commonly使用的模拟器输入/输出任务
trap#15用于运行模拟器任务。将任务编号放入寄存器D0中。
TRAP
是无效的
0
1
display d1.l作为签名的十进制数字 | |
从键盘读取到D1.L | |
从键盘中阅读D1.B | |
14 | |
15 | |
17 | display cstring在(a1),然后在d1.l |
18 | display cstring在(a1),读取d1.l |
19 | 返回键或扫描代码 |
20 | |