LDA $hhll, X
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | LDA $hhll, X |
Opcode: | $BD |
Operand(en): | $ll $hh |
Anzahl der Bytes: | 3 |
Befehlsgruppe: | Transfer-Befehl |
Adressierung: | absolut X-indiziert |
Beeinflusste Flags im Statusregister: | |
Negativ-Flag | |
Zero-Flag | |
Taktzyklen: | 4 |
1 Extra-Takt bei Grenzüberschreitung |
Der Assembler-Befehl LDA $hhll, X lädt den Akkumulator mit dem Inhalt der Speicherzelle ($hhll+X).
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 ldx #$00 ; X-Register = 0 loop lda $8000,x ; Lade Akku mit dem Inhalt der Speicherzelle ($8000+X) sta $9000,x ; Speichere Akku in die Speicherzelle ($9000+X) inx ; X=X+1 bne loop ; Verzweige wenn ungleich 0 auf loop rts ; Rücksprung
.c000 a2 00 ldx #$00 .c002 bd 00 80 lda $8000,x .c005 9d 00 90 sta $9000,x .c008 e8 inx .c009 d0 f7 bne $c002 .c00b 60 rts
Vergleich des Beispielprogramms mit Basic
10 FOR X=0 TO 255 20 POKE 36864+X, PEEK (32768+X) 30 NEXT X