Server read only due to being migrated.
Das Wiki ist im Nur-Lese-Modus, da es gerade migriert wird.
BCS $hhll
Aus C64-Wiki
Zur Navigation springenZur Suche springenMnemonic: | BCS $hhll | |||
Opcode: | $B0 | |||
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 | ||||
1 | PC | R | Lese Befehl, inkrementiere PC | |
2 | PC | R | hole Operand, inkrementiere PC | |
3 | PC | R | lese Opcode des nächsten Befehls; wird Sprung ausgeführt, addiere Operand zu PCL | |
4+ | PC | R | lese Opcode des nächsten Befehls; korrigiere PCH; hat er sich nicht geändert, inkrementiere PC | |
5! | PC | R | lese Opcode des nächsten Befehls, inkrementiere PC | |
Anmerkung: | Der Opcode-Ladezyklus des nächsten Befehls ist nur zu Demonstrationszwecken angegeben. Zur Berechnung der Zyklenzahl nicht verwenden. | |||
Anmerkung: | * Das Highbyte des Programmzählers (PCH) kann zu diesem Zeitpunkt ungültig sein, z.B. um 256 Bytes zu hoch oder niedrig. | |||
Anmerkung: | + Dieser Zyklus wird beim Sprung ausgeführt | |||
Anmerkung: | ! Führt der Sprung zu einer anderen Seite, wird dieser Zyklus ausgeführt |
Der Assembler-Befehl BCS $hhll verzweigt zur Adresse $hhll (als neuer Wert des Programmzählers PC), wenn das Carry-Flag = 1 ist. Im Falle eines Vergleiches mittels CMP-Befehle (auch Varianten CPX oder CPY und bei Subtraktion) entspricht dies der Abfrage auf >= und der Befehl ist gelegentlich auch als Mnemonic BGE (Branch on Greater or Equal) verfügbar.
Es ist bei der relativen Adressierung darauf zu achten, dass sich das Sprungziel innerhalb des gültigen Adressbereiches befindet!
Funktionsprinzip
Fehler beim Erstellen des Vorschaubildes: Die Miniaturansicht konnte nicht am vorgesehenen Ort gespeichert werden
Bedeutung der Buchstaben im Befehl
BCS | Branch on Carry Set |
Verzweige wenn Carry-Flag = 1 |
Beispiel
Vergleiche auch Beispiel bei BNE.
Vergleichbare BASIC-Anweisung
Für BASIC V2:
10 IF A >= B GOTO 50 : REM Wenn A >= B, springe nach 50