euh... ça devait être un truc dans ce genre:
(mais y en a ptet eu des + optimisées depuis... enfin, de tte façon, c déjà pas mal

)
QuickClearScreen:
movem.l d0-a7,QuickClearScreen_SvgrRegs; 16 + 8*16= 144
moveq #0,d0; 4
move.l d0,d1; 4
move.l d0,d2; 4
move.l d0,d3; 4
move.l d0,d4; 4
move.l d0,d5; 4
move.l d0,d6; 4
move.l d0,a0; 4
move.l d0,a1; 4
move.l d0,a2; 4
move.l d0,a3; 4
move.l d0,a4; 4
move.l d0,a5; 4
move.l d0,a6; 4
lea $4C00+3840,a7; 8
moveq #5,d7; 4
QuickClearScreen_Loop:; ---------------+
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 | * 6 itérations = 7980
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120 |
dbf d7,QuickClearScreen_Loop; 10 |
; + 4 pour la dernière interprétation de dbf
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120
movem.l d0-d6/a0-a6,-(a7); 8 + 8*14 =120
movem.l d0-d6/a0,-(a7); 8 + 8*8 = 72
movem.l QuickClearScreen_SvgrRegs(pc),d0-a7; 16 + 8*16=144
rts; 16
QuickClearScreen_SvgrRegs ds.l 16