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