; Katie Keim and Chase Kragenbrink CSC 225-05 ;trap.asm .ORIG x3300 ST R0, SaveR0 ; ST R1, SaveR1 ; ST R2, SaveR2 ; ST R3, SaveR3 ; LD R2, ENTER; Load into R2 NOT R2, R2 ; LD R3, SaveR0; READY LDI R1, KBSR; Keyboard status BRzp READY; if not ready, return LDI R0, KBDR; LINE 10 ADD R1, R0, R2; NOT R1, R1; BRz FINISH; STR R0, R3, #0; ADD R3, R3, #1; DISPLOOP LDI R1, DSR; BRzp DISPLOOP; if not ready go back STI R0, DDR; BRnzp READY; FINISH AND R0, R0, #0; Finish and return ADD R3, R3, #1; STR R0, R3, #0; LD R0, SaveR0; Restore registers LD R1, SaveR1; LD R2, SaveR2; LD R3, SaveR3; RET; KBSR .FILL xFE00 KBDR .FILL xFE02 DSR .FILL xFE04 DDR .FILL xFE06 ENTER .Fill x000A SaveR0 .FILL x0 SaveR1 .FILL x0 SaveR2 .FILL x0 SaveR3 .FILL x0 .END