LC3:TRAP x21在简单程序中无法正常工作。在模拟器中显示为TRAP xD0

时间:2018-04-29 23:29:22

标签: assembly lc3

我正在编写一个程序,它从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

0 个答案:

没有答案