Я делаю программу LC3, которая суммирует два двухзначных числа, а затем печатает результат, я сделал почти все, и он работает нормально.У меня проблема, когда я должен напечатать результат.Я понятия не имею, как это сделать.Вот мой код:
; ПРОГРАММА СУММЫ
.ORIG X3000
LEA R0,Prompt1 ;print explanation of the program
PUTS
; ПЕРВЫЙ НОМЕР И ПРОСТО ПЕРВЫЙ ЦИФР
LEA R0,FirstNum ;print prompt to enter the first number
PUTS
GETC ;get first digit
OUT
;CONVERTING FROM ASCII TO ACTUAL VALUE
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R1, R0, #0 ;SAVING FIRST NUMBER IN R1
ADD R3, R0, #0 ;SAVING FIRST NUMBER IN R3 TO ADD LATER IF NEEDED
GETC ;SECOND DIGIT OR ENTER
OUT
;check if is enter or a digit
ADD R0, R0, #-10
; IF STATEMENT
BRz SKIP ;if false, skip over code
ADD R1, R3, R1 ; ADDING THE FIRST DIGIT 10 TIMES TO GET THE DIGIT X10
ADD R1, R3, R1
ADD R1, R3, R1
ADD R1, R3, R1
ADD R1, R3, R1
ADD R1, R3, R1
ADD R1, R3, R1
ADD R1, R3, R1
ADD R1, R3, R1
ADD R0, R0, #10 ;second digit back to ascii
;CONVERTING FROM ASCII TO ACTUAL VALUE (2ND DIGIT)
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R1, R1, R0 ;adding second digit to the first digit
; ПЕРВЫЙ НОМЕР ПРОПУСТИТЕ LEA R0, SecondNum; приглашение к печативвести второе число PUTS GETC; получить второе число OUT
;CONVERTING FROM ASCII TO ACTUAL VALUE
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R2, R0, #0 ;SAVING SECOND NUMBER IN R2
ADD R4, R0, #0 ;SAVING SECOND NUMBER IN R4 TO ADD LATER IF NEEDED
GETC ;SECOND DIGIT OR ENTER
OUT
;check if is enter or a digit
ADD R0, R0, #-10
;IF STATEMENT
BRz MOVE
ADD R2, R4, R2 ; ADDING THE SAME NUMBER 10 TIMES TO GET THE NUMBER X10 SINCE IS THE FIRST DIGIT
ADD R2, R4, R2
ADD R2, R4, R2
ADD R2, R4, R2
ADD R2, R4, R2
ADD R2, R4, R2
ADD R2, R4, R2
ADD R2, R4, R2
ADD R2, R4, R2
ADD R0, R0, #10 ;SECOND DIGIT BACK TO ASCII
;CONVERTING FROM ASCII TO ACTUAL VALUE (2ND DIGIT)
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R0, R0, #-12
ADD R2, R2, R0
; СУММА ПЕРЕМЕЩЕНИЯ ДОБАВИТЬ R5, R1, R2; СУММЕРИТЬ НОМЕРА И ПОСТАВИТЬ РЕЗУЛЬТАТ В R5
LEA R0,Result ;PROMPT
PUTS
ADD R0, R5, #0 ;COPYING RESULT INTO R0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;prompt
Prompt1 .STRINGZ "Этот калькулятор добавляет два двузначных числа и может отображать трехзначный результат \ n" FirstNum .STRINGZ "Введите первое число: \ n" SecondNum .STRINGZ "\ nВведитевторое число: \ n «Результат .STRINGZ» \ nСумма: «Тридцать .FILL x30
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.END