.TITLE SUBM ;.MACRO .SUBM A,B,C,L,M,N ;MATRIX SUBTRACTION: C = A + B .GLOBL .SUBM,.CALL ;MATRIXES HAVE DIMENSION LxMxN A0=R0 ;M AND N MAY BE OMITTED .MCALL .TLQ N: .BLKW 1 M: .BLKW 1 L: .BLKW 1 C: .BLKW 1 B: .BLKW 1 A: .BLKW 1 ;ADDRESS OF A-MATRIX .SUBM: MOV R0,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV R3,-(SP) STF A0,-(SP) TST L BLE ERROR TST M BLE ERROR TST N BLE ERROR MOV L,R3 MUL M,R3 BCS ERROR MUL N,R3 BCS ERROR MOV A,R0 MOV B,R1 MOV C,R2 LOOPAD: LDF (R0)+,A0 SUBF (R1)+,A0 STF A0,(R2)+ SOB R3,LOOPAD LDF (SP)+,A0 MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP)+,R0 RETURN ERROR: .TLQ <.SUBM DIMENSION ERROR> JMP .CALL .END