.MACRO FCALL PROC,ARGLIS ;COUNT NUMBER OF ARGUMENTS ARGCNT=0 .IRP DUM, ARGCNT = ARGCNT + 1 .ENDR ; LOOP FOR EACH ARGUMENT ARGNUM = ARGCNT .REPT ARGCNT ; LOOP UP TO EACH ARGUMENT ARGNO = 0 .IRP ARG, ; COUNT THEN TRY FOR A MATCH ARGNO = ARGNO + 1 .IF EQ ARGNO - ARGNUM MOV ARG,-(SP) .ENDC .ENDR ; WE WANT PREVIOUS ARGUMENT ARGNUM = ARGNUM - 1 .ENDR MOV #ARGCNT,-(SP) JSR PC,PROC ADD #ARGCNT+2,SP .ENDM ; NOW TO TEST IT !!! .LIST ME FCALL FUCK, HELL: .WORD 1 SHIT: .WORD 2 .END