1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
6 <title>aget<kind></title>
7 <link rel=stylesheet href="opcode.css">
12 <h1>aget<kind></h1>
17 Perform the identified array operation at the identified index of the given
18 array, storing into the value register.
23 <table class="instruc">
26 <th>Op & Format</th>
27 <th>Mnemonic / Syntax</th>
34 <td><i>arrayop</i> vAA, vBB, vCC<br/>
43 <td><code>A:</code> dest value register or pair; (8 bits)<br/>
44 <code>B:</code> array register (8 bits)<br/>
45 <code>C:</code> index register (8 bits)</td>
54 A, B and C must be valid register indices in the current stackframe.
57 For the aget-wide variant, also A+1 must be a valid register index in the
61 Register vB must contain an array reference. The component type of the
62 array must match the variant of the instruction.
65 Register vC must contain an integer value.
73 For all but the -wide variant, the array element at the given index is moved
74 into register vA, that is, vA'=array[index].
77 For the -wide variant, the array element at the given index is moved into
78 registers vA and v(A+1) as follows:
81 vA'=array[index] >> 0x20
84 v(A+1)'=array[index] & 0xffffffff;
89 If v(A-1) is the lower half of a register pair, v(A-1)' becomes undefined.
92 For all but the -wide variant, if v(A+1) is the upper half of a register
93 pair, v(A+1)' becomes undefined.
96 For the -wide variant, if v(A+2) is the upper half of a register pair,
97 v(A+2)' becomes undefined.
105 NullPointerException if vB=null.
108 ArrayIndexOutOfBoundsException if vC < 0 or vC >= array.length.