LDA $hhll, X

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Mnemonic: 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

Ass befehl bd.gif

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

Links