我有一个LC3语言分配来输入一个两位十进制数并输出总和。例如
输入的数字:23.
输出的数字:5。
现在,我所做的是我编写了程序,除了它在单独的行中读取数字,例如
输入数字1(= 2)
num 2输入(= 3)
num输出:5
我已粘贴下面的代码供参考,但我想知道是否有人可以帮我解决问题。我不知道从哪里开始所以任何建议都会非常感激!
.ORIG X3000
;INPUTS TWO NUMBERS
IN ;inputs first char
LD R3,HEXN30 ;subtract x30 to get int
ADD R0,R0,R3
ADD R1,R0,X0 ;move first int to reg 1
IN ;inputs second char
ADD R0,R0,R3 ;convert it to int
ADD R2,R0,R1 ;add the two ints
;PRINT RESULTS
LEA R0,MSG ;loads address of msg strng
PUTS ;to output the strng
ADD R0,R2,x0 ;move sum to reg 0, for output
LD R2, NTEN ;load -10 into reg 2
ADD R2,R2,R0 ;subtract 10 from sum
LD R3,HEX30 ;add 30 to int to get char
ADD R0,R0,R3
OUT ;display sum
HALT
;**************DATA*******************
MSG .STRINGZ "the sum of the 2 numbers is: "
HEXN30 .FILL xFFD0 ;-30 hex
HEX30 .FILL x0030 ;30 hex
NTEN .FILL #-10 ;-10 dec
ASCII1 .FILL x0031 ;1 ascii
.END