我正在编写一个程序,它从0到9输入一个输入数字(n)并输出它的双精度数(2n)。
然而,一旦模拟器到达TRAP x21指令,as shown here,它就不起作用。您可以在该指令之前看到我输入的5和10是如何在R0中的。它不打印10,而是打印任何内容并显示错误A trap was executed with an illegal vector number.
我在这里做错了什么?
谢谢!
我的代码:
.ORIG x3000
LD R1, ASCII
TRAP x23
ADD R1, R1, R0
AND R0, R0, #0
ADD R0, R1, R1
TRAP x21
ASCII .FILL #-48
.END
解决方案代码:
.ORIG x3000
LD R6, ASCII
LD R5, NEGASCII
TRAP x23
ADD R1,R0,x0
ADD R1,R1,R5
ADD R2,R1,R1
ADD R0,R2,R6
TRAP x21
ASCII .FILL x30
NEGASCII .FILL xFFD0
.END