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 springenMnemonic: | 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