LDX $hhll, Y

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


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

Ein korrespondierender Befehl STX $hhll,Y ist im Befehlssatz nicht vorhanden.

Funktionsprinzip

Ass befehl be.gif

Bedeutung der Buchstaben im Befehl

LDX LoaD X-Register
Lade X-Register

Beispiel

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

*=$c000   ; Startadresse des Programms

  ldy #$07
loop:
  ldx $d027,y       ; Farbe von Sprite Y 
  lda convert,x     ; helle Farbe auf weiß, dunkle auf schwarz
  sta $d027,y       ; konvertieren
  dey               ; 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  a0 07    ldx #$07
. 0c002  be 27 d0 ldy $d027,x
. 0c005  bd 0f c0 lda $c00f,y
. 0c008  99 27 d0 sta $d027,x
. 0c00b  88       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