home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / dsp / dspgroup / macrosrc.arc / FUNC.ASM < prev    next >
Encoding:
Assembly Source File  |  1983-11-17  |  1.3 KB  |  56 lines

  1.  
  2. *FUNCTION DEFINITION MACRO
  3. *      GENERATES FORMAL ARGUMENT LOCATIONS ONLY
  4. *
  5. *      FUNC NAME,FORMAL-LIST
  6. *      FORMAL-LIST:=NIL|FORMAL|FORMAL,FORMAL-LIST
  7. *      FORMAL:=VAR|(VAR,SIZE)
  8. *
  9. *      VAR IS VARIABLE NAME USED IN FUNCTION
  10. *      SIZE IS THE NUMBER OF WORDS REQUIRED
  11. *      NAME IF THE FUNCTION NAME (<4 CHARS)
  12.  
  13.        COPY  CHECK.SCR
  14.        COPY  CREF.SCR
  15.        COPY  PROC2.SCR
  16.  
  17. FUNC   $MACRO            A,B1,B2,B3,B4,B5,B6,B7,B8
  18.        $CHECK :A:
  19.        PSEG              PROG SEG
  20.        DEF  :A:
  21. :A:    EQU  $            ENTRY POINT
  22.        DSEG
  23.        $VAR L
  24.        $ASG '$$CNTR' TO L.S
  25.        $ASG 0 TO L.SV    INIT COUNT
  26.        $ASG :A: TO L.SS
  27.        $IF    B1.L#=0
  28.        $PROC3 :B1:
  29.        $ENDIF
  30.        $IF    B2.L#=0
  31.        $PROC3 :B2:
  32.        $ENDIF
  33.        $IF    B3.L#=0
  34.        $PROC3 :B3:
  35.        $ENDIF
  36.        $IF    B4.L#=0
  37.        $PROC3 :B4:
  38.        $ENDIF
  39.        $IF    B5.L#=0
  40.        $PROC3 :B5:
  41.        $ENDIF
  42.        $IF    B6.L#=0
  43.        $PROC3 :B6:
  44.        $ENDIF
  45.        $IF    B7.L#=0
  46.        $PROC3 :B7:
  47.        $ENDIF
  48.        $IF    B8.L#=0
  49.        $PROC2 :B8:
  50.        $ENDIF
  51.        DEND              END OF DATA
  52.        $VAR P
  53.        $ASG '$$PROC' TO P.S
  54.        $ASG 0 TO P.SV    FLAG PROC TYPE
  55.        $ASG :A: TO P.SS
  56.        $END