operace |
argumenty |
zasobník před a po |
popis |
goto |
2: branchbyte1, branchbyte2 |
[no change] |
provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
goto_w |
4: branchbyte1, branchbyte2, branchbyte3, branchbyte4 |
[no change] |
provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 24 + branchbyte2 << 16 + branchbyte3 << 8 + branchbyte4) |
if_acmpeq |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud jsou reference shodné, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
if_acmpne |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud nejsou reference shodné, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
if_icmpeq |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud jsou hodnoty typu int shodné, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
if_icmpge |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud je hodnota value1 vetší nebo rovna value2, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
if_icmpgt |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud je hodnota value1 větší než value2, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
if_icmple |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud je hodnota value1 menší nebo rovna value2, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
if_icmplt |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud je hodnota value1 menší než value2, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
if_icmpne |
2: branchbyte1, branchbyte2 |
value1, value2 → |
pokud nejsou hodnoty typu int shodné, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
ifeq |
2: branchbyte1, branchbyte2 |
value → |
pokud je hodnota rovna 0, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
ifge |
2: branchbyte1, branchbyte2 |
value → |
pokud je hodnota větší nebo rovna 0, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
ifgt |
2: branchbyte1, branchbyte2 |
value → |
pokud je hodnota větší než 0, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
ifle |
2: branchbyte1, branchbyte2 |
value → |
pokud je hodnota menší nebo rovna 0, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
iflt |
2: branchbyte1, branchbyte2 |
value → |
pokud je hodnota menší než 0, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
ifne |
2: branchbyte1, branchbyte2 |
value → |
pokud je hodnota není 0, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
ifnonnull |
2: branchbyte1, branchbyte2 |
value → |
pokud není hodnota null, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
ifnull |
2: branchbyte1, branchbyte2 |
value → |
pokud je hodnota null, provede skok na instrukci, která leží na branchoffset; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) |
jsr |
2: branchbyte1, branchbyte2 |
→ address |
provede skok na instrukci, která leží na branchoffse; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 8 + branchbyte2) a uloží návratovou adresu na zásobník |
jsr_w |
4: branchbyte1, branchbyte2, branchbyte3, branchbyte4 |
→ address |
provede skok na instrukci, která leží na branchoffse; branchoffset je celé znamenkévé číslo dané jako (branchbyte1 << 24 + branchbyte2 << 16 + branchbyte3 << 8 + branchbyte4) a uloží návratovou adresu na zásobník |
operace |
argumenty |
zasobník před a po |
popis |
dcmpg |
|
value1, value2 → result |
porovná hodnoty typu double, a pokud jsou si rovny, uloží na zásobník 0, pokud value1 je menší než value2, uloží -1, pokud value1 je větší než value2, uloží 1, jinak (NaN) uloží 1 (výsledek je typu int) |
dcmpl |
|
value1, value2 → result |
porovná hodnoty typu double, a pokud jsou si rovny, uloží na zásobník 0, pokud value1 je menší než value2, uloží -1, pokud value1 je větší než value2, uloží 1, jinak (NaN) uloží -1 (výsledek je typu int) |
fcmpg |
|
value1, value2 → result |
porovná hodnoty typu float, a pokud jsou si rovny, uloží na zásobník 0, pokud value1 je menší než value2, uloží -1, pokud value1 je větší než value2, uloží 1, jinak (NaN) uloží 1 (výsledek je typu int) |
fcmpl |
|
value1, value2 → result |
porovná hodnoty typu float, a pokud jsou si rovny, uloží na zásobník 0, pokud value1 je menší než value2, uloží -1, pokud value1 je větší než value2, uloží 1, jinak (NaN) uloží -1 (výsledek je typu int) |
lcmp |
|
value1, value2 → result |
porovná hodnoty typu long, a pokud jsou si rovny, uloží na zásobník 0, pokud value1 je menší než value2, uloží -1, jinak uloží 1 (výsledek je typu int) |