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-object</title> 7 <link rel=stylesheet href="opcode.css"> 8 </head> 9 10 <body> 11 12 <h1>move-object</h1> 13 14 <h2>Purpose</h2> 15 16 <p> 17 Move the contents of one object-bearing 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>07 12x</td> 33 <td>move-object 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>08 22x</td> 39 <td>move-object/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>09 32x</td> 45 <td>move-object/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 legal 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 contain a reference value (which excludes the case of it 63 being part of a register pair). 64 </li> 65 </ul> 66 67 <h2>Behavior</h2> 68 69 <ul> 70 <li> 71 The value of register vB is moved to register vA, that is, vA' = vB. 72 </li> 73 <li> 74 If register v(A-1) is the lower half of a register pair, register v(A-1)' 75 becomes undefined. 76 </li> 77 <li> 78 If register v(A+1) is the upper half of a register pair, register v(A+1)' 79 becomes undefined. 80 </li> 81 </ul> 82 83 <h2>Exceptions</h2> 84 85 <p> 86 None. 87 </p> 88 89 </body> 90 </html> 91