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