home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 6 / AACD06.ISO / AACD / System / Mesa-3.1 / src / AOS / natDisplay / natSpans-m68k / natSpans.S
Text File  |  1999-09-23  |  964b  |  66 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.     .equ    x_ofs,?
  7.     .equ    y_ofs,?
  8.     .equ    rgba_ofs,?
  9.     .equ    mask_ofs,?
  10.  
  11.     .equ    DriverCtx_ofs,?
  12.  
  13.     .equ    rp_ofs,?
  14.     .equ    il_ofs,?
  15.     .equ    FixedX_ofs,?
  16.     .equ    FixedY_ofs,?
  17.     
  18.     .equ    amesa,a6
  19.     .equ    gp,a5
  20.     .equ    rp,a5
  21.     .equ    il,a4
  22.     .equ    rgba,a3
  23.     .equ    mask,a2
  24.  
  25.     .equ    n,d7
  26.     .equ    x,d6
  27.     .equ    y,d5
  28.  
  29.     lea    pc@(GetPen),gp
  30.     movel    sp@(ctx_ofs),a0
  31.     movel    a0@(DriverCtx_ofs),amesa
  32.     movel    amesa@(il_ofs),il
  33.     movel    sp@(n_ofs),n
  34.     movel    sp@(x_ofs),x
  35.     movel    sp@(y_ofs),y
  36.     addl    amesa@(FixedX_ofs),x
  37.     addl    amesa@(FixedX_ofs),y
  38.     movel    sp@(rgba_ofs),rgba
  39.     movel    sp@(mask_ofs),d0
  40.     bnes    .mask
  41. .nomask    subql    #1,n
  42.     blts    .nend
  43. .nloop    moveb    rgba@+,d0
  44.     moveb    rgba@+,d1
  45.     moveb    rgba@+,d2
  46.     addql    #1,rgba
  47.     jsr    gp@
  48.     moveb    d0,il@+
  49.     dbra    n,.nloop
  50. .nend    movel    amesa@(rp_ofs),?
  51.     movel    x,?
  52.     movel    y,?
  53.     movel    n,?
  54.     movel    amesa@(il_ofs),?
  55.     movel    amesa@(temprp_ofs),?
  56.     movel    pc@(SysBase),a6
  57.     jsr    a6@(-?)
  58.     bras    .end
  59. .mask    movel    d0,mask
  60.  
  61. .end    "
  62.     :
  63.     :
  64.     : "d2" "d3" "d4" "d5" "d6" "d7" "a2" "a3" "a4" "a5" "a6" "cc" "memory")
  65. };
  66.