Difference between revisions of "RealQ16s:Provisional instruction listing/Opcode table/1 byte instructions"

From Maths
Jump to: navigation, search
(Created page with "{| class="wikitable" border="1" |- ! colspan="8" | Range ! Operation ! colspan="8" | bits ! Distinct<br/>opcodes ! Comment ! Caveats |- | colspan="4" | 0000 | colspan="4" | 0...")
 
m (Corrected mov instruction)
Line 36: Line 36:
 
| colspan="4" | 0001
 
| colspan="4" | 0001
 
| colspan="4" | 0000
 
| colspan="4" | 0000
| {{Provisional opcode|16s|MOV|r1,r2}}
+
| {{Provisional opcode|16s|MOV r1,r2}}
 
| colspan="4" | 0001
 
| colspan="4" | 0001
 
| colspan="2" | r1
 
| colspan="2" | r1

Revision as of 21:54, 12 February 2016

Range Operation bits Distinct
opcodes
Comment Caveats
0000 0000 NOP 0000 0000 x1 Does nothing
0000 0001 (unused) 0000 0001 (x15 opcodes)
... ... ...
0000 1111 (Unused) 0000 1111
0001 0000 MOV r1,r2 0001 r1 r2 x12 Store r1 in r2, treating them both as 16 bit registers r1 and r2 must be different
... (Unused) 0001 0000 x1
(Unused) 0001 0101 x1
(Unused) 0001 1010 x1
0001 1111 (Unused) 0001 1111 x1
0010 0000 PUSH r1 0010 00 r1 x4 Push the 16 bit register r1
0010 0100 POP r1 0010 01 r1 x4 Pop the 16 bit register r1
0010 1000 MOV b1,r1L 0010 10 r1 x1024 (x4) 16 bit instruction 0010 10r1 vvvv vvvv - move byte b1 given by v into low byte of register r1
0010 1100