English
Language : 

VMX1C1016 Datasheet, PDF (8/76 Pages) List of Unclassifed Manufacturers – Versa Mix 8051 Mixed-Signal MCU
VMX51C1016
Instruction Set
All VMX51C1016 instructions are function and
binary code compatible with industry standard
8051s. However, the timing of instruction sets may
be different. The following two tables describe the
VMX51C1016 instruction set.
TABLE 10: LEGEND FOR INSTRUCTION SET TABLE
Symbol
Function
A
Accumulator
Rn
Register R0-R7
Direct
Internal register address
@Ri
Internal register pointed to by R0 or R1 (except MOVX)
rel
Two's complement offset byte
bit
Direct bit address
#data
8-bit constant
#data 16
16-bit constant
addr 16
16-bit destination address
addr 11
11-bit destination address
TABLE 11: VERSA MIX INSTRUCTION SET
Mnemonic
Description
Arithmetic instructions
ADD A, Rn
ADD A, direct
ADD A, @Ri
ADD A, #data
ADDC A, Rn
ADDC A, direct
ADDC A, @Ri
ADDC A, #data
SUBB A, Rn
SUBB A, direct
SUBB A, @Ri
SUBB A, #data
INC A
INC Rn
INC direct
INC @Ri
DEC A
DEC Rn
DEC direct
DEC @Ri
INC DPTR
MUL AB
DIV AB
DA A
Logical Instructions
ANL A, Rn
ANL A, direct
ANL A, @Ri
ANL A, #data
ANL direct, A
ANL direct, #data
ORL A, Rn
ORL A, direct
ORL A, @Ri
ORL A, #data
ORL direct, A
ORL direct, #data
XRL A, Rn
XRL A, direct
XRL A, @Ri
XRL A, #data
XRL direct, A
XRL direct, #data
CLR A
CPL A
SWAP A
RL A
RLC A
RR A
RRC A
Add register to A
Add direct byte to A
Add data memory to A
Add immediate to A
Add register to A with carry
Add direct byte to A with carry
Add data memory to A with carry
Add immediate to A with carry
Subtract register from A with borrow
Subtract direct byte from A with borrow
Subtract data mem from A with borrow
Subtract immediate from A with borrow
Increment A
Increment register
Increment direct byte
Increment data memory
Decrement A
Decrement register
Decrement direct byte
Decrement data memory
Increment data pointer
Multiply A by B
Divide A by B
Decimal adjust A
AND register to A
AND direct byte to A
AND data memory to A
AND immediate to A
AND A to direct byte
AND immediate data to direct byte
OR register to A
OR direct byte to A
OR data memory to A
OR immediate to A
OR A to direct byte
OR immediate data to direct byte
Exclusive-OR register to A
Exclusive-OR direct byte to A
Exclusive-OR data memory to A
Exclusive-OR immediate to A
Exclusive-OR A to direct byte
Exclusive-OR immediate to direct byte
Clear A
Compliment A
Swap nibbles of A
Rotate A left
Rotate A left through carry
Rotate A right
Rotate A right through carry
Size
(bytes)
Instr.
Cycles
1
1
2
2
1
2
2
2
1
1
2
2
1
2
2
2
1
1
2
2
1
2
2
2
1
1
1
2
2
3
1
3
1
1
1
2
2
3
1
3
1
1
1
5
1
5
1
1
1
1
2
2
1
2
2
2
2
3
3
4
1
1
2
2
1
2
2
2
2
3
3
4
1
1
2
2
1
2
2
2
2
3
3
4
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Mnemonic
Description
Data Transfer Instructions
MOV A, Rn
Move register to A
MOV A, direct
Move direct byte to A
MOV A, @Ri
Move data memory to A
MOV A, #data
Move immediate to A
MOV Rn, A
Move A to register
MOV Rn, direct
Move direct byte to register
MOV Rn, #data
Move immediate to register
MOV direct, A
Move A to direct byte
MOV direct, Rn
Move register to direct byte
MOV direct, direct
Move direct byte to direct byte
MOV direct, @Ri
Move data memory to direct byte
MOV direct, #data
Move immediate to direct byte
MOV @Ri, A
Move A to data memory
MOV @Ri, direct
Move direct byte to data memory
MOV @Ri, #data
Move immediate to data memory
MOV DPTR, #data16
Move immediate 16 bit to data pointer
MOVC A, @A+DPTR
Move code byte relative DPTR to A
MOVC A, @A+PC
Move code byte relative PC to A
MOVX A, @Ri
Move external data (A8) to A
MOVX A, @DPTR
Move external data (A16) to A
MOVX @Ri, A
Move A to external data (A8)
MOVX @DPTR, A
Move A to external data (A16)
PUSH direct
Push direct byte onto stack
POP direct
Pop direct byte from stack
XCH A, Rn
Exchange A and register
XCH A, direct
Exchange A and direct byte
XCH A, @Ri
Exchange A and data memory
XCHD A, @Ri
Exchange A and data memory nibble
Branching Instructions
ACALL addr 11
Absolute call to subroutine
LCALL addr 16
Long call to subroutine
RET
Return from subroutine
RETI
Return from interrupt
AJMP addr 11
Absolute jump unconditional
LJMP addr 16
Long jump unconditional
SJMP rel
Short jump (relative address)
JC rel
Jump on carry = 1
JNC rel
Jump on carry = 0
JB bit, rel
Jump on direct bit = 1
JNB bit, rel
Jump on direct bit = 0
JBC bit, rel
Jump on direct bit = 1 and clear
JMP @A+DPTR
Jump indirect relative DPTR
JZ rel
Jump on accumulator = 0
JNZ rel
Jump when accumulator not equal to 0
CJNE A, direct, rel
Compare A, direct JNE relative
CJNE A, #data, rel
Compare A, immediate JNE relative
CJNE Rn, #data, rel
Compare reg, immediate JNE relative
CJNE @Ri, #data, rel Compare ind, immediate JNE relative
DJNZ Rn, rel
Decrement register, JNZ relative
DJNZ direct, rel
Decrement direct byte, JNZ relative
Bit Operations
CLR C
Clear carry flag
CLR bit
Clear direct bit
SETB C
Set carry flag
SETB bit
Set direct bit
CPL C
Complement carry Flag
CPL bit
Complement direct bit
ANL C,bit
Logical AND direct bit to carry flag
ANL C, /bit
Logical AND between /bit and carry flag
ORL C,bit
Logical OR bit to carry flag
ORL C, /bit
Logical OR /bit to carry flag
MOC c,bit
Copy direct bit location to carry flag
MOV bit,C
Copy carry flag to direct bit location
Miscellaneous Instruction
NOP
No operation
Size
(bytes)
Instr.
Cycles
1
1
2
2
1
2
2
2
1
2
2
4
2
2
2
3
2
3
3
4
2
4
3
3
1
3
2
5
2
3
3
3
1
3
1
3
1
3-10
1
3-10
1
4-11
1
4-11
2
4
2
3
1
2
2
3
1
3
1
3
2
6
3
6
1
4
1
4
2
3
3
4
2
3
2
3
2
3
3
4
3
4
3
4
1
2
2
3
2
3
3
4
3
4
3
4
3
4
2
3
3
4
1
1
2
3
1
1
2
3
1
1
2
3
2
2
2
2
2
2
2
2
2
2
2
3
1
1
_________________________________________________________________________________________________
www.ramtron.com
page 8 of 76