NOP
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | NOP |
Opcode: | $EA |
Anzahl der Bytes: | 1 |
Befehlsgruppe: | Spezialbefehl |
Adressierung: | implizit |
Beeinflusste Flags im Statusregister: | |
keine | |
Taktzyklen: | 2 |
Der Assembler-Befehl NOP hat, bis auf zwei verbrauchte Taktzyklen, keine Funktion. Er verändert weder Register noch Speicherzellen.
Der Befehl wird für Timing-Zwecke und als Platzhalter im Code verwendet.
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
NOP | No OPeration |
keine Funktion |
Beispiel
; Dieses Programm erzeugt schräge schwarz-weiß-Balken, die sich am Bildschirm bewegen. ; Programmstart mit SYS 49152 *=$c000 ; Startadresse des Programms sei ; Interrupts sperren lda $d020 ; VIC-Register für Rahmenfarbe pha ; Rahmenfarbe am Stapel sichern lda #$0b ; VIC-Steuerregister, Bit 4 gelöscht: Bildschirm aus sta $d011 ; (Achtung, verstellt ggf. Rasterzeilen-Interrupts) init ldx #$00 ; Rahmenfarbe schwarz loop stx $d020 lda $dc01 ; CIA 1 Datenport B (Tastatur-Matrix) cmp #$ff ; Warte auf Tastendruck bne taste inx ; Rahmenfarbe weiß nop ; 2 Taktzyklen verbrauchen nop ; 2 Taktzyklen verbrauchen nop ; 2 Taktzyklen verbrauchen nop ; 2 Taktzyklen verbrauchen nop ; 2 Taktzyklen verbrauchen cpx #$02 ; prüfe, ob Rahmenfarbe rot bne loop ; nein -> loop jmp init ; ja -> init taste lda #$1b ; VIC-Steuerregister, Bit 4 gesetzt: Bildschirm an sta $d011 pla ; Rahmenfarbe holen ... sta $d020 ; ... und wiederherstellen cli ; Interrupts freigeben rts ; Rücksprung
Speicherauszug:
.c:c000 78 sei .c:c001 ad 20 d0 lda $d020 .c:c004 48 pha .c:c005 a9 0b lda #$0b .c:c007 8d 11 d0 sta $d011 .c:c00a a2 00 ldx #$00 .c:c00c 8e 20 d0 stx $d020 .c:c00f ad 01 dc lda $dc01 .c:c012 c9 ff cmp #$ff .c:c014 d0 0d bne $c023 .c:c016 e8 inx .c:c017 ea nop .c:c018 ea nop .c:c019 ea nop .c:c01a ea nop .c:c01b ea nop .c:c01c e0 02 cpx #$02 .c:c01e d0 ec bne $c00c .c:c020 4c 0a c0 jmp $c00a .c:c023 a9 1b lda #$1b .c:c025 8d 11 d0 sta $d011 .c:c028 68 pla .c:c029 8d 20 d0 sta $d020 .c:c02c 58 cli .c:c02d 60 rts