• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
3<html>
4
5<head>
6<title>move</title>
7<link rel=stylesheet href="opcode.css">
8</head>
9
10<body>
11
12<h1>move</h1>
13
14<h2>Purpose</h2>
15
16<p>
17Move the contents of one non-object register to another.
18</p>
19
20<h2>Details</h2>
21
22<table class="instruc">
23<thead>
24<tr>
25  <th>Op &amp; Format</th>
26  <th>Mnemonic / Syntax</th>
27  <th>Arguments</th>
28</tr>
29</thead>
30<tbody>
31<tr>
32  <td>01 12x</td>
33  <td>move vA, vB</td>
34  <td><code>A:</code> destination register (4 bits)<br/>
35    <code>B:</code> source register (4 bits)</td>
36</tr>
37<tr>
38  <td>02 22x</td>
39  <td>move/from16 vAA, vBBBB</td>
40  <td><code>A:</code> destination register (8 bits)<br/>
41    <code>B:</code> source register (16 bits)</td>
42</tr>
43<tr>
44  <td>03 32x</td>
45  <td>move/16 vAAAA, vBBBB</td>
46  <td><code>A:</code> destination register (16 bits)<br/>
47    <code>B:</code> source register (16 bits)</td>
48</tr>
49</tbody>
50</table>
51
52<h2>Constraints</h2>
53
54<ul>
55  <li>
56    Both A and B must be valid register indices in the current stack frame.
57  </li>
58  <li>
59    Register vB must be defined.
60  </li>
61  <li>
62    Register vB must not contain a reference value.
63  </li>
64  <li>
65    Register vB must not be part of a register pair.
66  </li>
67</ul>
68
69<h2>Behavior</h2>
70
71<ul>
72  <li>
73    The value of register vB is moved to register vA, that is, vA' = vB.
74  </li>
75  <li>
76    If register v(A-1) is the first half of a register pair, register v(A-1)'
77    becomes undefined.
78  </li>
79  <li>
80    If register v(A+1) is the second half of a register pair, register v(A+1)'
81    becomes undefined.
82  </li>
83</ul>
84
85<h2>Exceptions</h2>
86
87<p>
88None.
89</p>
90
91</body>
92</html>
93