Block-Fill and Block-Move#
00010 ------------------------------
00020 * Block-Fill-Routine *
00030 * *
00040 * Registerinhalte: *
00050 * <A> Fill-Byte *
00060 * <X> Anzahl der Pages *
00070 * <Y> Start Page *
00080 * *
00090 ------------------------------
00100 *
00110 FILL STY $1 Pointer und
00120 LDY #0 Index Setzen
00130 STY $0
00133 *
00140 .1 STA ($0),Y Byte setzen
00150 INY Index hochzaehlen
00160 BNE .1 wiederholen bis Ueberschlag
00170 INC $1 Pointer MSB hochzaehlen
00180 DEX Noch Pages
00190 BNE .1 Uebrig? Ja ==>
00200 RTS
00210 ------------------------------
00220 *
00230 *
00240 *
00250 ------------------------------
00260 * Block-Move-Routine *
00270 * *
00280 * Registerinhalte: *
00290 * *
00300 * <A> Source Page *
00310 * <X> Anzahl der Pages *
00320 * <Y> Destination Page *
00330 * *
00340 ------------------------------
00350 *
00360 MOVE STA $1 Pointer
00370 STY $FF setzen
00380 LDY #0 Index
00390 STY $0 loeschen
00400 STY $FF
00410 *
00420 .1 LDA ($0),Y Move
00430 STA ($FE),Y
00440 INY Index hochzaehlen
00450 BNE .1 wiederholen bis Ueberschlag
00460 INC $1 Pointer MSB
00470 INC $FF hochzaehlen
00480 DEX Anzahl runterzaehlen
00490 BNE .1 Wiederholen
00500 RTS