uloženie bajtového/boolovského poľa
Jasmin syntax
bastore
Zásobník
|
Pred |
Po |
|
value |
... |
|
index |
|
|
arrayref |
|
|
... |
|
Popis
Zoberie 32-bitový int zo zásobnika, upraví ho na 8-bitový bajt so znamienkom, a uloží ho v poli bajtov. arrayref je referencia na pole bajtov. index je int. value je int hodnota, ktorá bude uložená v poli. arrayref, index a value sú odstránené zo zásobníka, value je upravená na 8 bitov a uložená v poli na danom indexe.
bastore sa tiež používa na ukladanie hodnôt do boolovských polí. V takomto prípade, arrayref je referencia na boolovské pole (pozri inštrukciu newarray) . Ak je hodnota nula, false je uložený na danom indexe v poli, ináč je uložené true. V implementácii Sun-u, boolovské polia sa ukladajú ako bajtové polia, používajúc jeden bajt pre každú boolean hodnotu. Iná implementácia môže používať zbalené polia – alebo skôr int polia – pre programy používajúce JVM to nie je viditeľné, ktoré vždy používajú baload a bastore na prístup a ukladanie hodnôt do boolovských polí.
Výnimky
NullPointerException - arrayref je null
ArrayIndexOutOfBoundsException - index je < 0 alebo >= arrayref.length
Bajtkód
|
Typ |
Popis |
|
u1 |
bastore opcode = 0x54 (84) |
Pozri
tiež
iastore, lastore, fastore, dastore, aastore, castore, sastore, iaload, laload, faload, daload, aaload, baload, caload, saload, newarray,
Poznámky
1.
Indexy poľa začínajú na hodnote 0 (prvá položka v poli má index 0).