home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / s / stex2-18.zip / SeeTeX / Tex3b1 / assist.s next >
Text File  |  1990-07-09  |  928b  |  71 lines

  1.     file    "assist.s"
  2.  
  3.     text
  4.     even
  5.  
  6. #
  7. #    specialized bitblt routine to keep tex3b1 running at an
  8. #    acceptable speed
  9. #
  10.     global    bitblt
  11. bitblt:
  12.     link.w    %a6,&0
  13.     movm.l    &0x0f08,-(%sp)
  14.  
  15.     mov.l    &15,%d7
  16.     mov.l    28(%fp),%d6
  17.     add.l    %d7,%d6
  18.     asr.l    &4,%d6
  19.     mov.l    12(%fp),%d0
  20.     mov.l    %d0,%d1
  21.     and.l    %d7,%d0
  22.     sub.l    %d0,%d7
  23.     addq.l    &1,%d7
  24.  
  25.     mov.l    8(%fp),%a4
  26.     lsr.l    &4,%d1
  27.     lsl.l    &1,%d1
  28.     add.l    %d1,%a4
  29.     mov.w    18(%fp),%d0
  30.     mulu.w    22(%fp),%d0
  31.     add.l    %d0,%a4
  32.     mov.l    24(%fp),%a1
  33.  
  34.     mov.w    34(%fp),%d1
  35.     subq.w    &1,%d6
  36.     mov.w    22(%fp),%d4
  37. L%1:
  38.     mov.l    %a4,%a0
  39.     mov.w    %d6,%d5
  40. L%2:
  41.     mov.l    &0,%d0
  42.     mov.w    (%a1)+,%d0
  43.     ror.l    %d7,%d0
  44.     or.l    %d0,(%a0)
  45.     addq.w    &2,%a0
  46.     dbra    %d5,L%2
  47.  
  48.     add.w    %d4,%a4
  49.     dbra    %d1,L%1
  50.  
  51.     movm.l    (%sp)+,&0x10f0
  52.     unlk    %a6
  53.     rts
  54.  
  55. #
  56. #    for some reason the 3b1 has the bits backwards from everyone else
  57. #
  58.     global    rev
  59. rev:
  60.     mov.l    &0,%d0
  61.     mov.w    6(%sp),%d1
  62.     mov.l    %d2,%a0
  63.     mov.l    &15,%d2
  64. L%0:
  65.     roxr.w    &1,%d1
  66.     roxl.w    &1,%d0
  67.     dbra    %d2,L%0
  68.  
  69.     mov.l    %a0,%d2
  70.     rts
  71.