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
Block Move for Atari-BASIC#
The data "
00010 .LI OFF
00020 *
00030 ****************
00040 * *
00050 * MOVE-Routine *
00060 * *
00070 ****************
00080 *
00090 *
00100 *
00110 SCL .EQ $CD
00120 DESTL .EQ $CF
00130 BYTES .EQ $D1
00140 *
00150 *
00160 *
00170 *
00180 *
00190 *
00200 START PLA Parameterzahl holen
00210 *
00220 PLA Start-
00230 STA SCL+1 addresse
00240 PLA holen
00250 STA SCL
00260 *
00270 PLA Ziel-
00280 STA DESTL+1 addresse
00290 PLA holen
00300 STA DESTL
00310 *
00320 PLA Auch die
00330 STA BYTES+1 Laenge
00340 PLA wird
00350 STA BYTES gebraucht
00360 ------------------------------
00370 MOVE LDY #0
00380 MOVEB LDA (SCL),Y Byte
00390 STA (DESTL),Y verschieben
00400 *
00410 INC SCL Start-
00420 BNE .1 pointer
00430 INC SCL+1 hochzaehlen
00440 *
00450 .1 INC DESTL Das gleiche
00460 BNE .2 mit Ziel-
00470 INC DESTL+1 Pointer
00480 *
00490 .2 LDA BYTES Laenge
00500 BNE .3 abzaeh-
00510 DEC BYTES+1 len
00520 .3 DEC BYTES
00530 *
00540 LDA BYTES Ende
00550 ORA BYTES+1 erreicht
00560 BNE MOVEB Nein0x1F0x1F0x1F
00570 RTS zurueck
" is not legal for a JDOM character content: 0x001f is not a legal XML character.