LDY $hhll, X

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Mnemonic: LDY $hhll, X
Opcode: $BC
Operand(en): $ll $hh
Anzahl der Bytes: 3
Befehlsgruppe: Transfer-Befehl
Adressierung: absolut X-indiziert
Beeinflusste Flags im Statusregister:
Negative-Flag
Zero-Flag
Taktzyklen: 4
1 Extratakt bei Überschreitung einer Page-Grenze


Der Assembler-Befehl LDY $hhll,X lädt das Y-Register mit dem Inhalt der Speicherzelle ($hhll+X).
Das Y-Register ist ein 8-Bit Register mit einem Wert zwischen 0 und 255 ($ff).

Ein korrespondierender Befehl STY $hhll,X ist im Befehlssatz nicht vorhanden.

Funktionsprinzip

Ass befehl bc.gif

Bedeutung der Buchstaben im Befehl

LDY LoaD Y-Register
Lade Y-Register

Beispiel

; Diese Programm konvertiert die Farbe aller 8 Sprites in schwarz/weiß:
; Programmstart mit SYS 49152

*=$c000   ; Startadresse des Programms

  ldx #$07
loop:
  ldy $d027,x       ; Farbe von Sprite X 
  lda convert,y     ; helle Farbe auf weiß, dunkle auf schwarz
  sta $d027,x       ; konvertieren
  dex               ; nächstes Sprite 
  bpl loop          ; von 7 bis 0
  rts       ; Rücksprung
convert:
  .by 0,1,0,1,0,0,0,1,0,0,1,0,0,1,1,1

Speicherauszug:

. 0c000  a2 07    ldx #$07
. 0c002  bc 27 d0 ldy $d027,x
. 0c005  b9 0f c0 lda $c00f,y
. 0c008  9d 27 d0 sta $d027,x
. 0c00b  ca       dex
. 0c00c  10 f4    bpl $c002
. 0c00e  60       rts
>0c00f 00 01 00 01 00 00 00 01:........
>0c017 00 00 01 00 00 01 01 01:........

Beispielprogramme