.TITLE DIR (any number of args, in memory acsending order) .ENABL LC .MCALL RETURN,DIR$ DIR:: ; MOVB @R5,R0 ; (R0) = #args MOV R0,R1 ; (R1) = #args INC R0 ; (R0) = #args + 1 ADD R0,R0 ; (R0) = #bytes in argblock (incl argcount) ADD R5,R0 ; (R0) = [[last arg]] + 2 1$: ; (R1) = # args left to copy to stack ; (R0) = [[arg to copy next]] + 2 MOV @-(R0),-(SP) ; SOB R1,1$ ; DIR$ ; RETURN ; .END