Question: ; ;jSR MULT 3 0 0 0 ; JSR MULT ; ADD THIS TO THE TESTING MAIN ; HALT . orig x 3 0
; ;jSR MULT
; JSR MULT ; ADD THIS TO THE TESTING MAIN
; HALT
orig x
JSR GETDEC
JSR GETDEC
HALT
GETDIGIT
;SAVE REGISTERS
ST R SAVER
GETCH
GETC ; Gets input
LD R NEGTEN ; Checks if
BRZ END
LD R NEGFORTYEIGHT
LD R NEGFORTYEIGHT ; Checks if
LD R NEGFIFTYEIGHT
ADD R R R
BRZP GETCH
OUT
LD R NEGFORTYEIGHT
ADD R R R
END
;RESTORE
LD R SAVER
LD R SAVER
RET
;CONSTANTS
SAVERFILL
SAVERFILL
NEGFORTYEIGHT FILL
NEGFIFTYEIGHT FILL
NEGTEN FILL
MULT
;SAVE REGISTERS
ST R SAVER
ST R SAVER
ST R SAVER
ST R SAVER
LD R ZERO
NOT R R
LD R ONE
ADD R R R
ADD R R R
BRNZ NOSWAP
ADD R R R
ADD R R R
ADD R R R
NOSWAP
MULTILOOP
ADD R R R
LD R NEGONE
ADD R R R
DONE
;RESTORE
LD R SAVER
LD R SAVER
LD R SAVER
RET
;CONSANTS
SAVERFILL
SAVERFILL
NEGONE FILL
ONE ONO FILL
GETDEC
; SAVE REGISTERS
ST R SAVER
ST R SAVER
ST R SAVER
ST R SAVER
LD R ZERO
;PRINT PROMPT
LEA RO PROMPT
PUTS
OUTERLOOP
JSR GETDIGIT
ADD R R #
BRZ ENDINPUT
ADD R R #
LD R TEN
JSR MULT
ADD R R #
ADD R R R
BR OUTERLOOP
ENDINPUT
ADD R R #
LD R SAVER
LD R SAVER
LD R SAVER
LD R SAVER
RET Attatched is my assembly file. I am writing an LC subroutine to accept input for a decimal number that is stored in r and ends when the newline is pressed. Enter
Should result in the following in the display
Enter an integer:
and B in hex in R In my current program, entering a newline does nothing and im unsure of how to fix it Due to this, i am also unsure if i am processing the numbers correctly. Thank you for your help.
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
