У меня есть код, который будет принимать два значения 0-9 и умножать их вместе. Таким образом, когда продукт имеет значение 9 или меньше, чем печатается нормально, но когда продукт представляет собой двузначное число, он напечатает значение ASCII, к которому оно относится, а не двузначный продукт.
Here is my code:
;
;
;
.ORIG x3000
AND R3, R3, 0 ; register I'll use for the sum
LD R4, NEG30 ; load the value of #-48 into R4
LD R5, POS30 ; load the value of x0030 into R5
LEA R0, STRING1
PUTS
GETC
OUT
LD R4, NEG30
ADD R0, R0, R4 ; convert the value to hex
ADD R1, R0, 0 ; move the value to R1
LEA R0, STRING2
PUTS
GETC
OUT
LD R4, NEG30
ADD R2, R0, 0 ; move the value to R2 for the counter
ADD R2, R2, R4
MULT ADD R3, R3, R1
ADD R2, R2, #-1
BRp MULT
LD R5, POS30
LEA R0, STRING3
PUTS
ADD R0, R3, R5
OUT
HALT
STRING1 .STRINGZ "\nEnter First Number (0-9):"
STRING2 .STRINGZ "\nEnter Second Number (0-9):"
STRING3 .STRINGZ "\nThe product of the two numbers is:"
NEG30 .FILL #-48
POS30 .FILL x0030
.END