LDA $hhll, Y

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

Ass befehl b9.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

	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

Links