-
Notifications
You must be signed in to change notification settings - Fork 0
Home
valenj18 edited this page Dec 9, 2012
·
27 revisions
Jméno metody a třídy je ukazatel do constant poolu - uint16_t. Parametr instrukce je uložený v bajtkódu.
- +,-,*,/ 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 je jméno třídy.
- new_array - vytvoří pole a referenci dá na zásobník, délku pole načte ze zásobníku - reference na int objekt.
- jmp - relativní skok, nepoužívá zásobník, parametr offset - int8_t.
- call - volání funkce, vytvoří rámec zásobníku, parametr jméno třídy a jméno metody - na vrcholu zásobníku je poslední parametr
- return, return_void - návrat z funkce, zruší rámec zásobníku, bez parametrů.
- if, if_gt, if_lt, if_ge, if_le, if_ne - podmíněný skok, parametr offset (uint8_t), načte hodnotu ze zásobníku.
- push - nahraje konstantu na zásobník, parametr konstanta - uint16_t ukazatel do constant poolu.
- load - nahraje na zásobník hodnotu instanční proměnné, parametr jméno proměnné, ze zásobníku načte referenci na objekt.
- store - uloží hodnotu instanční proměnné, parametr jméno proměnné, ze zásobníku načte referenci na objekt a hodnotu (reference je na vrcholu zásobníku).
- load_local - nahraje hodnotu ze slotu na zásobník, parametr číslo slotu(uint8_t).
- store_local - uloží hodnotu ze zásobníku do slotu, parametr číslo slotu(uint8_t).
- pop - odebere hodnotu ze zásobníku, bez parametrů (potřebné pokud je ignorovaná návratová hodnota funkce)
- call_dynamic - volání metody, vytvoří rámec zásobníku, parametr jméno metody - na vrcholu zásobníku je poslední parametr, 1. parametr je ukazatel na objekt nad kterým se volá metoda
- load_array - nahraje hodnotu z pole na zásobník, načte index a referenci na pole ze zásobníku (reference je na vrcholu zásobníku), bez parametrů
- store_array - uloží hodnotu ze zásobníku do pole, načte index, hodnotu a referenci na pole ze zásobníku (reference na vrcholu, pak hodnota a nakonec index), bez parametrů
- dup - zduplikuje vrchol zásobníku