-
Notifications
You must be signed in to change notification settings - Fork 0
Home
valenj18 edited this page Oct 15, 2012
·
27 revisions
- +,-,*,/, <, >, <=, >=, ==, !=, +=, -= načte 2 hodnoty ze zásobníku a vrátí výsledek, bez parametrů.
- ++, -- načte 1 hodnotu ze zásobníků a vrátí výsledek, bez parametrů.
- new - vytvoří objekt a referenci dá na zásobník, parametr ukazatel na třídu.
- new_array - vytvoří pole a referenci dá na zásobník, délku pole načte ze zásobníku, parametr ukazatel na třídu.
- jmp - relativní skok, nepoužívá zásobník, parametr offset.
- call - volání funkce, vytvoří rámec zásobníku, parametr ukazatel na funkci
- ret - návrat z funkce, zruší rámec zásobníku, bez parametrů.
- if - podmíněný skok, parametr offset, načte hodnotu ze zásobníku.
- push - nahraje konstantu na zásobník, parametr konstanta.
- load - nahraje na zásobník hodnotu instanční proměnné, parametr číslo slotu, ze zásobníku načte referenci na objekt.
- store - uloží hodnotu instanční proměnné, parametr číslo slotu, ze zásobníku načte hodnotu referenci na objekt.
- load_local - nahraje hodnotu ze slotu na zásobník, parametr číslo slotu.
- store_local - uloží hodnotu ze zásobníku do slotu, parametr číslo slotu.
Možná by to chtělo instrukci na duplikaci vrcholu zásobníku, ale nevím jestli to zbytečně nezkomplikuje generování bajkódu.