LDA $hhll, Y
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | LDA $hhll, Y |
Opcode: | $B9 |
Operand(en): | $ll $hh |
Anzahl der Bytes: | 3 |
Befehlsgruppe: | Transfer-Befehl |
Adressierung: | absolut Y-indiziert |
Beeinflusste Flags im Statusregister: | |
Negativ-Flag | |
Zero-Flag | |
Taktzyklen: | 4 |
1 Extra-Takt bei Grenzüberschreitung |
Der Assembler-Befehl LDA $hhll, Y lädt den Akkumulator mit dem Inhalt der Speicherzelle ($hhll+Y).
Der Akkumulator ist ein 8-Bit Register mit einem Wert zwischen 0 und 255 ($ff).
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
LDA | LoaD Accumulator |
Lade Akkumulator |
Beispiel
; Kopiert den Adressbereich $8000-$80ff in den Adressbereich $9000-$90ff. ; Programmstart mit SYS 49152 *=$c000 ldy #$00 ; Y-Register = 0 loop lda $8000, y ; Lade Akku mit dem Inhalt der Speicherzelle ($8000+Y) sta $9000, y ; Speichere Akku in die Speicherzelle ($9000+Y) iny ; Y=Y+1 bne loop ; Verzweige wenn ungleich 0 auf loop rts ; Rücksprung
.c000 a0 00 ldy #$00 .c002 b9 00 80 lda $8000,y .c005 99 00 90 sta $9000,y .c008 c8 iny .c009 d0 f7 bne $c002 .c00b 60 rts
Vergleich des Beispielprogramms mit Basic
10 FOR Y=0 TO 255 20 POKE 36864+Y, PEEK (32768+Y) 30 NEXT Y