home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / pc / 0600 / CCE_0657.ZIP / CCE_0657.PD / BLOCK_BY.S < prev    next >
Text File  |  1993-09-09  |  940b  |  58 lines

  1. export    block_it
  2.  
  3.     TEXT
  4. ; **** Macht den "Nadeldreher": Aufruf: 
  5. ; **** block_it( *dest, *src, bweite, offset, bytes_per_spalte )
  6. block_it:
  7.     MOVEM.L    A2/D2-D6,-(A7)
  8.     SUBQ    #1,    D0
  9.     SUBQ    #1,    D2
  10. loop1:    ; i-loop
  11.     MOVEQ    #7,    D3
  12. loop2:    ; j-loop
  13.     MOVE.W    D2,    D4    ; Wie viele Bytes?
  14.     MOVEA.L    A1,    A2
  15. loop3:    ; k-loop
  16.     MOVEQ    #0,    D6
  17.     BTST    D3,     (A2)
  18.     BEQ    ns0
  19.     BSET    #7,    D6
  20. ns0:    ADDA.L    D1,    A2
  21.     BTST    D3,     (A2)
  22.     BEQ    ns1
  23.     BSET    #6,    D6
  24. ns1:    ADDA.L    D1,    A2
  25.     BTST    D3,     (A2)
  26.     BEQ    ns2
  27.     BSET    #5,    D6
  28. ns2:    ADDA.L    D1,    A2
  29.     BTST    D3,     (A2)
  30.     BEQ    ns3
  31.     BSET    #4,    D6
  32. ns3:    ADDA.L    D1,    A2
  33.     BTST    D3,     (A2)
  34.     BEQ    ns4
  35.     BSET    #3,    D6
  36. ns4:    ADDA.L    D1,    A2
  37.     BTST    D3,     (A2)
  38.     BEQ    ns5
  39.     BSET    #2,    D6
  40. ns5:    ADDA.L    D1,    A2
  41.     BTST    D3,     (A2)
  42.     BEQ    ns6
  43.     BSET    #1,    D6
  44. ns6:    ADDA.L    D1,    A2
  45.     BTST    D3,     (A2)
  46.     BEQ    ns7
  47.     BSET    #0,    D6
  48. ns7:    ADDA.L    D1,    A2
  49.     MOVE.B    D6,    (A0)+
  50.     DBF    D4,    loop3
  51. ;
  52.     DBF    D3,    loop2
  53. ;
  54.     ADDQ.L    #1,    A1
  55.     DBF    D0,    loop1
  56.     MOVEM.L    (A7)+,    A2/D2-D6
  57.     RTS
  58.