首页 > 解决方案 > LC3:TRAP x21 在简单程序中无法正常工作。在模拟器中显示为 TRAP xD0

问题描述

我正在编写一个程序,它从 0-9 中获取一个输入数字 (n) 并输出它的双精度数 (2n)。

但是,一旦模拟器到达 TRAP x21 指令,如此处所示,它就不起作用。您可以看到我在该指令之前输入 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

标签: assemblylc3

解决方案


推荐阅读