Ja, LDY Bitte melde dich an, um diesen Link zu sehen. statt LDA, das kannst du mit INY erhöhen. Dann für die Nutzung in STA(),x per TYA in den Akkumulator kopieren.
Oder selbst modifzierender Code, das ist am flexibelsten, aber auch am wenigsten elegant:
Code
* = 4096
LDY #4 /* wie viel Durchgänge wollen wir? */
loop0 LDA ltable, y /* low Byte der Zieladresse hinter STA nnnn,x schreiben */
STA loop2 + 1
LDA htable, y /* high Byte der Zieladresse hinter STA nnnn,x schreiben */
STA loop2 + 2
LDA atable, y /* gewünschtes Zeichen hinter STA #n schreiben */
STA loop1 + 1
loop1 LDA #1 /* Schleife vorbereiten */
LDX #0
loop2 STA 1024,X /* Hauptschleife */
INX
CPX #240
BNE loop1
DEY /* schon alle Durchgänge absolviert? */
BNE loop0
RTS
ltable .byte 24 /* low Bytes für STA nnnn,x */
.byte 64
.byte 04
.byte 44
htable .byte 10 /* high Bytes für STA nnnn,x */
.byte 12
.byte 15
.byte 17
atable .byte 1 /* Akku-Inhalte für LDA #n */
.byte 2
.byte 3
.byte 4
Alles anzeigen
(geht auch ohne Selbstmodifizierung, ist dann halt noch mal ein Abstraktionsschritt dazwischen - hab's deswegen erst mal Selbstmodifizierend gelassen)