JMP ($hhll)

Aus C64-Wiki
Zur Navigation springenZur Suche springen
Mnemonic: JMP ($hhll)
Opcode: $6C
Operand(en): $ll $hh
Anzahl der Bytes: 3
Befehlsgruppe: Sprungbefehl
Adressierung: indirekt
Beeinflusste Flags im Statusregister:
keine
Taktzyklen: 5
1 PC R Lese Befehl, inkrementiere PC
2 PC R hole Zeigeradresse Low,
inkrementiere PC
3 PC R hole Zeigeradresse High,
inkrementiere PC
4 Pointer R lese Low-Adresse in Latch
5 Pointer + 1* R lese PCH, kopiere Latch nach PCL
Anmerkung: * der PCH wird immer aus der selben Page
wie PCL gelesen, ein Seitenüberlauf wird
nicht berücksichtigt


Der Assembler-Befehl JMP ($hhll) gibt das Sprungziel indirekt über einen Zeiger (oder Vektor) an.

  • Die Speicherstelle an Adresse $hhll enthält das niederwertige Byte (LSB),
  • die Speicherstelle an Adresse $hhll+1 enthält das höherwertige Byte (MSB)

des Sprungzieles, mit dem der Programmzähler (PC) geladen bzw. wo die Ausführung fortgesetzt wird.

Man beachte, dass dieser Befehl Seitenüberläufe ignoriert, so wird z. B. bei JMP ($20FF) das High-Byte des Sprungziels nicht von Adresse $2100, sondern von $2000 geholt!

Funktionsprinzip

Bedeutung der Buchstaben im Befehl

JMP JuMP to ($hhll)
Springe nach ($hhll)

Vergleichbare BASIC-Anweisung

Keine vergleichbare BASIC-Befehlsfolge vorhanden.

Beispielprogramme