home *** CD-ROM | disk | FTP | other *** search
/ Creative Computers / CreativeComputers.iso / shareware / text / dvi_3.62 / source / dvisrc.lha / gnuhdcp.s < prev    next >
Text File  |  1993-07-09  |  1KB  |  62 lines

  1.  
  2. | Datei: DVIHDCP.S
  3. | Autor: Ingo Eichenseher
  4. | Letzte Aenderung: 31.05.1992
  5.  
  6.  
  7.             import    prbyte
  8.             export    send24
  9.             
  10. addr        equ        a2
  11. addr1        equ        a3
  12. fw            equ        d7
  13. pattern        equ        d6
  14. words        equ        d3
  15. count        equ        d4
  16. temp        equ        d5
  17.  
  18.             code
  19.  
  20. | void send24(int *addr, int words, int width, int pattern)
  21.             
  22. send24:        moveml    d2-d7/a2-a3,sp@-
  23.             moveal    a0,addr                | Start der Graphik
  24.             movew    d0,words            | Breite der Graphik in Worten
  25.             movew    d1,fw                | Adressabstand zweier Zeilen
  26.             movew    d2,pattern
  27.             subqw    #1,words
  28.             
  29.     | 1 Byte aus jeder Zeile in bitbuffer kopieren
  30. loop0:        moveq    #23,count
  31.             clrw    temp
  32.             lea        bitbuffer,addr1
  33. loopa:        movew    0(addr,tempw),d0
  34.             andw    pattern,d0
  35.             movew    d0,addr1@+
  36.             addw    fw,temp
  37.             dbra    count,loopa
  38.             
  39.             moveq    #15,count
  40. loop1:        lea        bitbuffer,addr1
  41.             rept    3
  42.             clrw    d0
  43.             rept    8
  44.             roxlw    addr1@+
  45.             roxlb    d0
  46.             endm
  47.             jsr        prbyte
  48.             endm
  49.             dbra    count,loop1
  50.  
  51.             addq    #2,addr
  52.             dbra    words,loop0
  53.             moveml    sp@+,d2-d7/a2-a3
  54.             rts
  55.             
  56.             bss
  57.             
  58. bitbuffer:    dsw    24
  59.             
  60.             end
  61.  
  62.