Instruction Set for 89c51/8051
Instruction of the 8051 is listed below.
Mnemonics |
Operation |
Bytes |
Cycle |
ACALL |
Absolute call |
2 |
2 |
ADD |
Add |
1 |
1 |
ADDC |
Add with carry |
1 |
1 |
AJMP |
Absolute jump |
2 |
2 |
ANL |
Logical AND for byte variables |
1 |
1 |
ANLC |
Logical AND for bit variables |
2 |
2 |
CJNE |
Compare and jump if not equal |
3 |
2 |
CLR A |
Clear accumulator |
1 |
1 |
CLR |
Clear bit |
1 |
1 |
CPL A |
Complement accumulator |
1 |
1 |
CPL |
Complement bit |
1 |
1 |
DA A |
Decimal adjust accumulator for addition |
1 |
1 |
DEC |
Decrement |
1 |
1 |
DIV |
Divide |
1 |
4 |
DJNZ |
Decrement and jump if not zero |
2 |
2 |
INC |
Increment |
1 |
1 |
INC DPTR |
Increment data pointer |
1 |
2 |
JB |
Jump if bit is set |
3 |
2 |
JBC |
Jump if bit is set and clear bit |
3 |
2 |
JC |
Jump if carry is set |
2 |
2 |
JMP |
Jump indirect |
1 |
2 |
JMB |
Jump if bit is not set |
3 |
2 |
JNC |
Jump if carry is not set |
2 |
2 |
JNZ |
Jump if accumulator is not zero |
2 |
2 |
JZ |
Jump if accumulator is zero |
2 |
2 |
LCALL |
Long call |
3 |
2 |
LJMP |
Long jump |
3 |
2 |
MOV |
Move bite variable |
1 |
1 |
MOV DPTR |
Load data pointer with 16 bit constant |
3 |
2 |
MOVC |
Move code bit |
1 |
2 |
MOVX |
Move external |
1 |
2 |
MUL |
Multiply |
1 |
4 |
NOP |
No operation |
1 |
1 |
ORL |
Logical OR for byte variable |
1 |
1 |
ORL C |
Logical OR for bit variable |
2 |
2 |
POP |
Pop from stack |
2 |
2 |
PUSH |
Push on to stack |
2 |
2 |
RET |
Return from sub routine |
1 |
2 |
RETI |
Return from interrupt |
1 |
2 |
RL |
Rotate accumulator left |
1 |
1 |
RLC |
Rotate accumulator left through carry flag |
1 |
1 |
RR |
Rotate accumulator right |
1 |
1 |
RRC |
Rotate accumulator right through carry flag |
1 |
1 |
SETB |
Set bit |
1 |
1 |
SJMP |
Sort jump |
2 |
2 |
SUBB |
Subtract with borrow |
1 |
1 |
SWAP |
Swap nibbles within the accumulator |
1 |
1 |
XCH |
Exchange accumulator with bit variable |
1 |
1 |
XCHD |
Exchange digit |
1 |
1 |
XRL |
Logical Exclusive OR for byte variable |
1 |
1 |