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 springen
Mnemonic: 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

Beispielprogramme