<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>

<head>
<title>array-length</title>
<link rel=stylesheet href="opcode.css">
</head>

<body>

<h1>array-length</h1>

<h2>Purpose</h2>

<p>
Store in the given destination register the length of the indicated array,
in entries.
</p>

<h2>Details</h2>

<table class="instruc">
<thead>
<tr>
  <th>Op &amp; Format</th>
  <th>Mnemonic / Syntax</th>
  <th>Arguments</th>
</tr>
</thead>
<tbody>
<tr>
  <td>21 12x</td>
  <td>array-length vA, vB</td>
  <td><code>A:</code> destination register (4 bits)<br/>
    <code>B:</code> array reference-bearing register (4 bits)</td>
</tr>
</tbody>
</table>

<h2>Constraints</h2>

<ul>
  <li>
    Both A and B must be valid register indices for the current stack frame.
  </li>
  <li>
    Register vB must contain a reference to an array.
  </li>
</ul>

<h2>Behavior</h2>

<ul>
  <li>
    The length of the array referenced by vB is stored in vA, that is
    vA' = length(vB).
  </li>
  <li>
    If register v(A-1) is the lower half of a register pair, register v(A-1)'
    becomes undefined.
  </li>
  <li>
    If register v(A+1) is the upper half of a register pair, register v(A+1)'
    becomes undefined.
  </li>
</ul>

<h2>Exceptions</h2>

<ul>
  <li>
    NullPointerException is thrown if the value of register vB is null.
  </li>
</ul>

</body>
</html>
