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

  1.  
  2. *DEFINE AVAR (ABSOLUTE) VARS
  3. *
  4. *      AVAR   ABSADR,VAR-LIST
  5. *
  6. *      VAR-LIST:=VAR-ITEM|VAR-ITEM,VAR-LIST
  7. *      VAR-ITEM:=VAR|(VAR,SIZE)
  8. *      ABSADR IS THE STARTING ABSOLUTE ADDRESS (MAY BE OMITTED)
  9. *      VAR IS VARIABLE SYMBOL
  10. *      SIZE IS NUMBER OF WORDS TO ALLOCATE
  11.  
  12. AVAR   $MACRO  AA,A1,A2,A3,A4,A5,A6,A7,A8
  13.        $VAR    AS
  14.        $ASG    '$$ABS' TO AS.S
  15.        $IF     AA.L#=0
  16.        $ASG    AA.V TO AS.SV
  17.        $ENDIF
  18.        $IF     A1.L#=0
  19.        $AVAR3   :A1:
  20.        $ENDIF
  21.        $IF     A2.L#=0
  22.        $AVAR3   :A2:
  23.        $ENDIF
  24.        $IF     A3.L#=0
  25.        $AVAR3   :A3:
  26.        $ENDIF
  27.        $IF     A4.L#=0
  28.        $AVAR3   :A4:
  29.        $ENDIF
  30.        $IF     A5.L#=0
  31.        $AVAR3   :A5:
  32.        $ENDIF
  33.        $IF     A6.L#=0
  34.        $AVAR3   :A6:
  35.        $ENDIF
  36.        $IF     A7.L#=0
  37.        $AVAR3   :A7:
  38.        $ENDIF
  39.        $IF     A8.L#=0
  40.        AVAR     :A8:
  41.        $ENDIF
  42.        $END
  43.  
  44. $AVAR3 $MACRO   A,B
  45.        $VAR AS
  46.        $ASG '$$ABS' TO AS.S
  47.        $IF  B.L=0
  48.        $ASG 1 TO AS.V
  49.        $ELSE
  50.        $IF  B.SA&$UNDF
  51.        $ASG B.V TO AS.V
  52.        $ELSE
  53.        $ASG B.SV TO AS.V
  54.        $ENDIF
  55.        $ENDIF
  56. :A:    EQU  :AS.SV:      :B: WORDS NAMED :A:
  57.        $ASG AS.SV+AS.V TO AS.SV
  58.        $END