Díky JUMP instrukci je možné definovat funkce což jsou opakovaně použitelné bloky instrukcí.

Na úrovni strojového kódu se funkcím říká anglicky subroutine česky podrutiny.

Funkce je jednoduše nějaká část instrukcí, která má začátek a konec a kterou lze volat opakovaně.

Po zavolání funkce se vrátíte zpět do původního toku instrukcí.

Funkce / podrutina

Podrutina s JUMP instrukcí

Podívejte se na obrázek níže. Funkce je umístěná mezi adresami [0x01][0x0F].

  • Na začátku programu funkci volat nechceme, proto ji instrukcí JUMP [0x10] přeskočíme na adresu [0x10] (skok (1)).
  • Provedou se instrukce na adresách [0x10][0x12].
  • Řekněme, že teď chceme zavolat podrutinu.
  • Adresu [0x00] v JUMP instrukci na adrese podrutiny [0x0F] přepíšeme na hodnotu 0x15 instrukcí MOV [0x0F], 0x15 1
    • Toto potřebujeme k tomu, abychom se mohli na konci podrutiny vrátit zpátky k předchozímu instrukčnímu toku.
  • Další instrukcí JUMP [0x01] (skok (2)) vstoupíme do samotné funkce. Ta se začne provádět.
  • Jakmile je celá funkce provedena, vrátíme se instrukcí JUMP [0x15] (skok (3)) zpět tam, kde jsme skončili tj. na adresu [0x15].
Funkce / podrutina

  1. Toto je pouze ilustrace, reálné použití instrukce MOV vypadá trochu jinak a může se lišit mezi instrukčními sadami. ↩︎