nepřímá větev _ _ _ _ _ _ _ strojový kód . Místo zadání adresy další instrukce k provedení , jak je obvyklé u přímých skoků , zde argument určuje umístění adresy.
V tomto případě by příkladem byla instrukce jako 'nepřímý skok v registru r1', což znamená, že další instrukce, která má být provedena, je na adrese uložené v registru r1. Adresa skoku není známa, dokud není instrukce provedena. Nepřímé skoky mohou také záviset na umístění paměti .
Nepřímé skákání může být velmi užitečné pro podmíněné větvení , zejména pro vícecestné skoky. Například na základě dat zadaných do programu lze hodnotu vyhledat v tabulce skoků ukazatelů kódu pro zpracování různých možností v závislosti na hodnotě dat .
K adrese tabulky lze přidat datovou hodnotu a výsledek uložit do registru. Na základě hodnoty tohoto registru lze provést nepřímý skok, který efektivně přiřadí řízení programu kódu odpovídajícímu zadávaným datům.
Podobně mohou být instrukce volání podprogramu nepřímé, s adresou volaného podprogramu specifikovanou v registru nebo paměťovém místě.
SPARC : | jmpl %o7 |
MIPS : | jr $ra |
x86 : | jmp *%eax |
ARM : | mov pc, r2 |
Itanium : | br.ret.sptk.few rp |
6502 : | jmp ($0DEA) |
65C816 : | jsr ($0DEA,X) |
Z80 : | jp (hl) |
Intel 8080 : | pchl |