Block-Fill and Block-Move
Back to current versionRestore this version

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