BVC $hhll
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | BVC $hhll |
Opcode: | $50 |
Operand(en): | $nn |
Anzahl der Bytes: | 2 |
Befehlsgruppe: | Sprungbefehl |
Adressierung: | relativ |
Beeinflusste Flags im Statusregister: | |
keine | |
Taktzyklen: | 2 |
1 Extratakt bei Sprung | |
1 Extratakt bei Überschreitung einer Page-Grenze |
Der Assembler-Befehl BVC $hhll verzweigt zur Adresse $hhll (neuer Wert des Programmzählers PC), wenn das Ergebnis der letzten arithmetischen Operation keinen Wertebereichsüberlauf (von nicht-negativen Werten zu negativen Werten und umgekehrt) hervorgerufen hat, was mit Overflow-Flag = 0 angezeigt wird.
Im Zuge eines Bit-Tests übertragen die BIT-Befehle Bit 6 des Operanden ins Overflow-Flag und bei einem Bit-Wert von 0 kann sofort eine Verzweigung ausgelöst werden.
Es ist bei der relativen Adressierung darauf zu achten, dass sich das Sprungziel innerhalb des gültigen Adressbereiches befindet!
Funktionsprinzip
Bedeutung der Buchstaben im Befehl
BVC | Branch on oVerflow Clear |
Verzweige, wenn Overflow-Flag = 0 |
Beispiel
Überlauf bei arithmetischen Operationen:
clc ; Übertrag vor der Addition löschen lda wert ; Wert aus dem Speicher holen adc #10 ; um 10 erhöhen bvc ok ; falls die Addition >127 wird, haben wir ; einen "Overflow"! ; Fehlerverarbeitung ... ok ...
Bit-Abfrage:
weiterlesen ; Daten von einem Gerät lesen ... bit $90 ; STATUS-Byte in der Zeropage bvc weiterlesen ; Bit 6 im STATUS-Byte gelöscht ; = EOF (End Of File), am Ende der Datei angelangt
Vergleichbare BASIC-Anweisung
Keine vergleichbare BASIC-Befehlsfolge vorhanden.