| 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) |