CLV

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Mnemonic: CLV
Opcode: $B8
Anzahl der Bytes: 1
Befehlsgruppe: Flaggen-Befehl
Adressierung: implizit
Beeinflusste Flags im Statusregister:
Overflow-Flag
Taktzyklen: 2


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

Ass befehl b8.gif

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.

Weblinks