Assembler-Inlines von Zündeln für den AtariST
(zurück zu Zündeln)



;
;                         "Treffer.IS"
;
               movem.l    d1-d3/a0-a3,-(sp)
;                         7 Register = 28
;
               movea.l    32(sp),a0     ; XBIOS(2) in a0
               movea.l    36(sp),a1     ; L:V:bild$ in a1
               move.l     40(sp),d1     ; zufz% in d1
               movea.l    44(sp),a2     ; Maske in a2
               lea.l      pow,a3        ; Pow-Maske

               clr.l      d0
               move.w     #31,d0
               subi.l     #1282,d1
               bclr.l     #0,d1
maske:         
               move.l     (a3)+,d2
               and.l      0(a1,d1.l),d2 ; Bild mit Pow-Maske
               move.l     d2,0(a0,d1.l) ; Maske aufs Bild
               adda.l     #80,a0
               adda.l     #80,a1
               dbf        d0,maske

               lea.l      pow,a3        ; a3 wieder Pow-Maske
               movea.l    36(sp),a1     ; a1 wieder V:Bild$
               movea.l    32(sp),a0     ; a0 wieder XBIOS(2)
               move.l     40(sp),d1     ; d1 wieder zufz%

               clr.l      d0
               move.l     #50000,d0
warten:        
               dbf        d0,warten


               clr.l      d0
               move.w     #31,d0
               subi.l     #1282,d1
               bclr.l     #0,d1
peng_rueck:    
               move.l     0(a1,d1.l),0(a0,d1.l)
               adda.l     #80,a1
               adda.l     #80,a0
               dbf        d0,peng_rueck

               movea.l    32(sp),a0     ; a0 wieder auf xbios(2)
               move.l     40(sp),d1     ; wieder zufz% in d1
               movea.l    36(sp),a1     ; a1 wieder auf V:Bild$
               clr.l      d0
               move.w     #7,d0         ; Schleifenzähler
nochm:         
               adda.l     #80,a0
               adda.l     #80,a1
               move.b     (a2),0(a0,d1.l)
               move.b     (a2)+,0(a1,d1.l)

               dbf        d0,nochm

               movem.l    (sp)+,d1-d3/a0-a3
               rts        


ding:          
               .DC.b %11111111
               .DC.b %11111111
               .DC.b %11111111
               .DC.b %11100111
               .DC.b %11100111
               .DC.b %11111111
               .DC.b %11111111
               .DC.b %11111111
pow:           
               .DC.l %11111111111111111111111111111111
               .DC.l %11111111111111111111111111111111
               .DC.l %11111111111111111111111111111111
               .DC.l %11111111111111011111111111111111
               .DC.l %11111111111100001111111111111111
               .DC.l %11111111111100001111111111111111
               .DC.l %11111111111000000111111111111111
               .DC.l %11111111111000000111111111111111
               .DC.l %11111111111000000111111111011111
               .DC.l %11111111111000000011111100111111
               .DC.l %11111111110000000011111000011111
               .DC.l %11110111111000000000000000111111
               .DC.l %11100011000000000000000001111111
               .DC.l %11110000000000000000110001111111
               .DC.l %11111000000011000000000001111111
               .DC.l %11111100000000000000000000111111
               .DC.l %11111100000000000000000000011111
               .DC.l %11110000000000000000000000000111
               .DC.l %10000000000000000000011100000011
               .DC.l %11000000000000000000001110000111
               .DC.l %11100000000000000000000000001111
               .DC.l %11110000000111100000000000011111
               .DC.l %11110000000011100000000000111111
               .DC.l %11111000000000000000000001111111
               .DC.l %11111000000000000000000000111111
               .DC.l %11110000001000000000000001111111
               .DC.l %11111100010000000000000001111111
               .DC.l %11111110100000000000111001111111
               .DC.l %11111111000000000001111110111111
               .DC.l %11111111000000000111111111111111
               .DC.l %11111111100000001111111111111111
               .DC.l %11111111110001111111111111111111
               .DC.l %11111111111111111111111111111111

               .END