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.