home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 303.lha / AssemTools / Include / relative.i < prev    next >
Text File  |  1980-12-03  |  1KB  |  90 lines

  1.  
  2. *** v1.6 140189 by TM for relative variables (from stack) ***
  3.  
  4.  
  5. dl    macro    name [,name [,name...] ]    ;def lwords
  6. DefSiz    set    DefSiz+4
  7. DefPtr    set    DefPtr-4
  8. \1    set    DefPtr
  9.     ifnc    '\2',''
  10.     dl    \2,\3,\4,\5,\6,\7,\8
  11.     endc
  12.     endm
  13.  
  14. dw    macro    name [,name [,name...] ]    ;def words
  15. DefSiz    set    DefSiz+2
  16. DefPtr    set    DefPtr-2
  17. \1    set    DefPtr
  18.     ifnc    '\2',''
  19.     dw    \2,\3,\4,\5,\6,\7,\8
  20.     endc
  21.     endm
  22.  
  23. db    macro    name [,name [,name...] ]    ;def bytes
  24. DefSiz    set    DefSiz+1
  25. DefPtr    set    DefPtr-1
  26. \1    set    DefPtr
  27.     ifnc    '\2',''
  28.     db    \2,\3,\4,\5,\6,\7,\8
  29.     endc
  30.     endm
  31.  
  32. da    macro    name,size            ;def storage
  33. DefSiz    set    DefSiz+\2
  34. DefPtr    set    DefPtr-\2
  35. \1    set    DefPtr
  36.     endm
  37.  
  38. dwb    macro                    ;word boundary
  39.     ifne    DefPtr&1
  40. DefPtr    set    DefPtr-1
  41. DefSiz    set    DefSiz+1
  42.     endc
  43.     endm
  44.  
  45. .var    macro                    ;def var section
  46. DefPtr    set    0
  47. DefSiz    set    0
  48.     endm
  49.  
  50. .begin    macro                    ;begin subr
  51.     link    a4,#-DefSiz
  52.     endm
  53.  
  54. .end    macro                    ;end subr
  55.     unlk    a4
  56.     rts
  57.     endm
  58.  
  59. ra    macro        ;reset all variables
  60.     movem.l    d0/a0,-(sp)
  61.     move.w    #DefSiz-1,d0
  62.     move.l    a4,a0
  63. ra.\@    clr.b    -(a0)
  64.     dbf    d0,ra.\@
  65.     movem.l    (sp)+,d0/a0
  66.     endm
  67.  
  68. rb    macro
  69.     clr.b    \1(a4)
  70.     ifnc    '\2',''
  71.     rb    \2,\3,\4,\5,\6,\7,\8
  72.     endc
  73.     endm
  74.  
  75. rw    macro
  76.     clr.w    \1(a4)
  77.     ifnc    '\2',''
  78.     rw    \2,\3,\4,\5,\6,\7,\8
  79.     endc
  80.     endm
  81.  
  82. rl    macro
  83.     clr.l    \1(a4)
  84.     ifnc    '\2',''
  85.     rl    \2,\3,\4,\5,\6,\7,\8
  86.     endc
  87.     endm
  88.  
  89.  
  90.