Как распечатать двузначный продукт в LC3? - PullRequest
0 голосов
/ 30 сентября 2019

У меня есть код, который будет принимать два значения 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
...