- #1

- 1

- 0

## Homework Statement

What is wrong with the code fragment:

.ORIG x3000

AND R0,R0, #0

AND R2,R2, #0

ADD R2,R2, #7

JSR SUB

ADD R2,R2, ASCII

ADD R0,R2,#0

TRAP x21

SUB ADD R2,R2,#9

ADD R7,R7,#1

RET

ASCII .FILL x0030

.END

## The Attempt at a Solution

Ok, so first we ckear some register values. Then we set R2 to 7. Next we go into a subroutine that adds 9 to R2, so now R2 is 16. Then we add 1 to R7, which has an unknown value at the start. Then we return to the command after JSR. This adds the value in ASCII to R2, making R2 64. Then we set R0 to 64 as well, and finish by executing Trap x21.

I don't know what the problem here is, nor what the output is. I think Trap x21 does something with the keyboard to monitor, but I'm not sure.