;;;;;;;;;;;;;;;;;;;;;;;;;;; ; lh_kutsu.k91 ; X DC 300 Y DC 123 Z DC 24 R DC 25 MAIN LOAD R0, =0 ; these should not change in subroutine calls LOAD R1, =1 LOAD R2, =2 LOAD R3, =3 LOAD R4, =4 LOAD R5, =5 ; Subr (X, Y, Z) PUSH SP, =X PUSH SP, Y PUSH SP, Z CALL SP, SUBR LOAD R1, X OUT R1, =CRT ; print ?? ; Subr (R, Z, 11) PUSH SP, =R PUSH SP, Z PUSH SP, =11 CALL SP, SUBR LOAD R2, R OUT R2, =CRT ; print ?? ; Subr (Y, Y, Y) PUSH SP, =Y PUSH SP, Y PUSH SP, Y CALL SP, SUBR LOAD R0, Y OUT R0, =CRT ; check original values of R0...R5 ADD R0, R1 ADD R2, R3 ADD R4, R5 ADD R0, R2 ADD R0, R4 OUT R0, =CRT ; print ?? SVC SP, =HALT ;------------------------------------------------------ ; SUBR (X, A, B) ; X - call-by-reference ; A, B - call-by-value ; returns in output parameter X the difference A-B ; ; ... place your implementation here ....