Difference between revisions of "MVO@"
m (Protected "MVO@" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))) |
|||
(8 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
<tr><td>CP1610 Clock Cycles</td><td>9</td></tr> | <tr><td>CP1610 Clock Cycles</td><td>9</td></tr> | ||
<tr><td>Interruptible</td><td>No</td></tr> | <tr><td>Interruptible</td><td>No</td></tr> | ||
− | <tr><td>Opcode Range</td><td>$0248-$ | + | <tr><td>Opcode Range</td><td>$0248-$026F</td></tr> |
<tr><td>Input Flags</td><td>None</td></tr> | <tr><td>Input Flags</td><td>None</td></tr> | ||
<tr><td>Output Flags</td><td>None</td></tr> | <tr><td>Output Flags</td><td>None</td></tr> | ||
</table><br/> | </table><br/> | ||
− | The Move Out Indirect (MVO@) instruction copies the value in the specified source register to the address contained by the specified address register. Note that if the address register specified is R4-R7 (the auto-incrementing registers), then the value in the address register will be incremented by one <strong>after</strong> the value in the source register has been stored at the designated address.<br/> | + | The Move Out Indirect (MVO@) instruction copies the value in the specified source register to the address contained by the specified address register. Note that if the address register specified is R4-R7 (the auto-incrementing registers), then the value in the address register will be incremented by one <strong>after</strong> the value in the source register has been stored at the designated address.<br/><br/> |
+ | |||
+ | The "PSHR Rx" instruction is an alias for "MVO@ Rx, R6". | ||
0000:0010:01aa:asss<br/> | 0000:0010:01aa:asss<br/> | ||
Line 25: | Line 27: | ||
aaa indicates the register containing the address | aaa indicates the register containing the address | ||
such that: | such that: | ||
− | aaa == 000 indicates | + | aaa == 000 indicates [[Direct Mode|direct mode]] [[MVO]] instruction |
aaa == 001 indicates register R1 | aaa == 001 indicates register R1 | ||
aaa == 010 indicates register R2 | aaa == 010 indicates register R2 | ||
Line 31: | Line 33: | ||
aaa == 100 indicates register R4 | aaa == 100 indicates register R4 | ||
aaa == 101 indicates register R5 | aaa == 101 indicates register R5 | ||
− | aaa == 110 indicates register R6 | + | aaa == 110 indicates register R6, which operates in [[Stack Mode|stack mode]] |
− | aaa == 111 indicates register R7<br/> | + | aaa == 111 indicates register R7, alias for [[Immediate Mode|immediate mode]] [[MVOI]]<br/> |
Latest revision as of 08:54, 4 December 2010
Instruction Name | Move Out Indirect |
Mnemonic | MVO@ |
CP1610 Clock Cycles | 9 |
Interruptible | No |
Opcode Range | $0248-$026F |
Input Flags | None |
Output Flags | None |
The Move Out Indirect (MVO@) instruction copies the value in the specified source register to the address contained by the specified address register. Note that if the address register specified is R4-R7 (the auto-incrementing registers), then the value in the address register will be incremented by one after the value in the source register has been stored at the designated address.
The "PSHR Rx" instruction is an alias for "MVO@ Rx, R6".
0000:0010:01aa:asss
where: sss indicates the register containing the value to move such that: sss == 000 indicates register R0 sss == 001 indicates register R1 sss == 010 indicates register R2 sss == 011 indicates register R3 sss == 100 indicates register R4 sss == 101 indicates register R5 sss == 110 indicates register R6 sss == 111 indicates register R7
aaa indicates the register containing the address such that: aaa == 000 indicates direct mode MVO instruction aaa == 001 indicates register R1 aaa == 010 indicates register R2 aaa == 011 indicates register R3 aaa == 100 indicates register R4 aaa == 101 indicates register R5 aaa == 110 indicates register R6, which operates in stack mode aaa == 111 indicates register R7, alias for immediate mode MVOI