INX
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | INX |
Opcode: | $E8 |
Anzahl der Bytes: | 1 |
Befehlsgruppe: | Arithmetik- und Logikbefehle |
Adressierung: | implizit |
Beeinflusste Flags im Statusregister: | |
Negative-Flag | |
Zero-Flag | |
Taktzyklen: | 2 |
Der Assembler-Befehl INX erhöht den Inhalt des X-Registers um 1.
Bei einer Erhöhung des Wertes 255 ($ff) wird der neue Wert wieder 0.
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
INX | INcrement X-Register |
Erhöhe X-Register |
Beispiel
; Dieses Programm löscht den Bildschirm und gibt einen Text auf einer definierten Position aus. ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms BSOUT = $ffd2 start lda #147 jsr BSOUT ; Bildschirm löschen ldx #03 ; Zeile 3 ldy #10 ; Spalte 10 clc ; clc = Cursorposition setzen; sec = Cursorposition lesen jsr $fff0 ; Cursor setzen ldx #$00 schleife lda TEXT,X beq ende ; Zeichen solange am Bildschirm ausgeben bis $00 jsr BSOUT inx jmp schleife ende rts ; Rücksprung ins BASIC TEXT .text "C64-WIKI" .byte $00 ; Endemarkierung
Speicherauszug:
.c000 a9 93 lda #$93 .c002 20 d2 ff jsr $ffd2 .c005 a2 03 ldx #$03 .c007 a0 0a ldy #$0a .c009 18 clc .c00a 20 f0 ff jsr $fff0 .c00d a2 00 ldx #$00 .c00f bd 1c c0 lda $c01c,x .c012 f0 07 beq $c01b .c014 20 d2 ff jsr $ffd2 .c017 e8 inx .c018 4c 0f c0 jmp $c00f .c01b 60 rts >c01c 43 36 34 2d 57 49 4b 49 00
Vergleichbare BASIC-Anweisung
Für BASIC V2:
10 X = X + 1