CLV
Mnemonic: | CLV | ||
Opcode: | $B8 | ||
Anzahl der Bytes: | 1 | ||
Befehlsgruppe: | Flaggen-Befehl | ||
Adressierung: | implizit | ||
Beeinflusste Flags im Statusregister: | |||
Overflow-Flag | |||
Taktzyklen: | 2 | ||
1 | PC | R | Lese Befehl, inkrementiere PC |
2 | PC | R | Lese nächstes Befehlsbyte (und verwerfe es), führe Operation durch |
Der Assembler-Befehl CLV löscht das Overflow-Flag.
Es gibt keinen korrespondierenden Befehl zum Setzen dieses Flags. Es wird üblicherweise implizit durch die entsprechenden arithmetischen Befehle abhängig vom jeweiligen Ergebnis, aber auch über den Weg der BIT-Befehle (z.B. BIT $ll) oder über den Umweg durch einen geeigneten Wert am Stapel für das Statusregister mittels PLP oder auch eventuell als Nebenwirkung bei einem RTI gesetzt.
Standard-6502-Chips erlauben das Setzen des Flags per Hardware, wofür ein entsprechender Pin namens "S.O." vorgesehen ist, welcher allerdings beim MOS 6510 fehlt.
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
CLV | CLear oVerflow flag |
Lösche Überlauf-Flagge |
Beispiel
Auszug aus dem 1541 CBM-DOS 2.6 ROM-Listing: bei Adresse $F3C0 von $F3B1/62385: Read block header, verify ID
F3BE: 50 FE BVC $F3BE ; byte ready? F3C0: B8 CLV F3C1: AD 01 1C LDA $1C01 ; data from read head
Vergleich des Beispielprogramms mit Basic
Keine vergleichbare BASIC-Befehlsfolge vorhanden.