LDX $hhll, Y
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | 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
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:........