home *** CD-ROM | disk | FTP | other *** search
-
- *FUNCTION DEFINITION MACRO
- * GENERATES FORMAL ARGUMENT LOCATIONS ONLY
- *
- * FUNC NAME,FORMAL-LIST
- * FORMAL-LIST:=NIL|FORMAL|FORMAL,FORMAL-LIST
- * FORMAL:=VAR|(VAR,SIZE)
- *
- * VAR IS VARIABLE NAME USED IN FUNCTION
- * SIZE IS THE NUMBER OF WORDS REQUIRED
- * NAME IF THE FUNCTION NAME (<4 CHARS)
-
- COPY CHECK.SCR
- COPY CREF.SCR
- COPY PROC2.SCR
-
- FUNC $MACRO A,B1,B2,B3,B4,B5,B6,B7,B8
- $CHECK :A:
- PSEG PROG SEG
- DEF :A:
- :A: EQU $ ENTRY POINT
- DSEG
- $VAR L
- $ASG '$$CNTR' TO L.S
- $ASG 0 TO L.SV INIT COUNT
- $ASG :A: TO L.SS
- $IF B1.L#=0
- $PROC3 :B1:
- $ENDIF
- $IF B2.L#=0
- $PROC3 :B2:
- $ENDIF
- $IF B3.L#=0
- $PROC3 :B3:
- $ENDIF
- $IF B4.L#=0
- $PROC3 :B4:
- $ENDIF
- $IF B5.L#=0
- $PROC3 :B5:
- $ENDIF
- $IF B6.L#=0
- $PROC3 :B6:
- $ENDIF
- $IF B7.L#=0
- $PROC3 :B7:
- $ENDIF
- $IF B8.L#=0
- $PROC2 :B8:
- $ENDIF
- DEND END OF DATA
- $VAR P
- $ASG '$$PROC' TO P.S
- $ASG 0 TO P.SV FLAG PROC TYPE
- $ASG :A: TO P.SS
- $END