首页 > 解决方案 > 在我的输出以 - 符号开头时出现错误

问题描述

这是我编写的汇编代码,它运行得很好,但是我需要修复一些学校编译器给我这个错误消息的东西。

在程序的输出和解决方案的输出之间进行了差异。您的程序的输出前面有一个 - 符号,并以红色突出显示。解决方案的输出前面有一个 + 符号,并以绿色突出显示。您的程序和解决方案输出的行都没有颜色,并且行前没有符号。我们试图加深您的输出和解决方案之间的差异,请更新您的源代码以解决任何问题。如果您看到 {NULL},则表示您正在尝试输出 NULL 字符。

@@ -1,4 +1,4 @@  ENTER two numbers (i.e '0'....'9')
- r0 x3003 intro     r1 x7fff 32767     r2 x0000 0         r3 x0000 0         
- r4 x0000 0         r5 x0000 0         r6 x0000 0         r7 x3003 intro     
-  cc(+) Now at x3002: halt
+8
+4
+8 - 4 = 4
.ORIG x3000     

        LEA R0, intro ; Load the address of intro string
        PUTS    ; Invokes BIOS routine to output string


        GETC     
        OUT      
        AND R1,R1,#0   
        ADD R1,R1,R0   
        LEA R0, NEWLINE  
        PUTS     
        GETC     
        OUT      
        AND R2,R2,#0   
        ADD R2,R2,R0   
        LEA R0, NEWLINE  
        PUTS     

        AND R3,R3,#0   
        ADD R3,R3,#15
        ADD R3,R3,#15
        AND R4,R4,#0
        ADD R4,R3,#2   
        ADD R3,R3,#15
        ADD R3,R3,#3   

        AND R5,R5,#0   
        ADD R5,R5,R3   

        NOT R3,R3
        ADD R3,R3,#1   


        ADD R1,R1,R3   
        ADD R2,R2,R3   
        AND R6,R6,#0   
        ADD R0,R1,R6
        ADD R0,R0,R5   
        OUT      

        AND R6,R6,#0  
        ADD R0,R4,R6  
        OUT      

        ADD R3,R4,#13
        AND R6,R6,#0  
        ADD R0,R3,R6   
        OUT

        AND R6,R6,#0
        ADD R0,R4,R6  
        OUT      

        AND R6,R6,#0
        ADD R0,R2,R6  
        ADD R0,R0,R5   
        OUT      

        AND R6,R6,#0
        ADD R0,R4,R6  
        OUT      
        ADD R3,R3,#15
        ADD R3,R3,#1     
        AND R6,R6,#0
        ADD R0,R3,R6  
        OUT      
        AND R6,R6,#0
        ADD R0,R4,R6  
        OUT      

        NOT R2,R2
        ADD R2,R2,#1   
        ADD R6,R1,R2   

        BRn neg      
        BR pos       

        neg Not R6,R6    
            ADD R6,R6,#1
            AND R3,R3,#0
            ADD R3,R4,#13
            AND R4,R4,#0  
            ADD R0,R3,R4  
            OUT

        pos ADD R6,R6,R5   
            AND R4,R4,#0   
            ADD R0,R6,R4   
            OUT      

            LEA R0, NEWLINE  
            PUTS     
            HALT    




        intro .STRINGZ   "ENTER two numbers (i.e '0'....'9')\n"
        NEWLINE .STRINGZ "\n"   ; String that holds the newline character

        .END

标签: assemblynullarm

解决方案


推荐阅读