Server read only due to being migrated.


Das Wiki ist im Nur-Lese-Modus, da es gerade migriert wird.

BMI $hhll

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Mnemonic: BMI $hhll
Opcode: $30
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 BMI $hhll verzweigt zur Adresse $hhll (als neuer Wert des Programmzählers PC), wenn das Ergebnis der letzten Operation negativ ist, was mit Negative-Flag = 1 angezeigt wird.
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

BMI Branch on MInus
Verzweige, wenn negativ

Beispiel

Vergleiche auch Beispiel bei BNE.

Vergleichbare BASIC-Anweisung

Für BASIC V2:

10 IF ER < 0 GOTO 50  : REM Wenn Ergebnis < 0 (negativ), springe nach 50

Beispielprogramme