instruction set Summary
Mnemonic Description Bytes Cycles
Accumulator:
ADD A, R Add register to A 1 1
ADD A, @R Add data memory to R 1 1
ADD A, #data Add immediate to A 2 2
ADDC A, R Add register with carry 1 1
ADDC A, @R Add data memory with carry 1 1
ADDC A, #data Add immediate with carry 2 2
ANL A, R AND register to A 1 1
ANL A, @R AND data memory to A 1 1
ANL A, #data AND immediate to A 2 2
ORL A, R OR register to A 1 1
ORL A, @R OR data memory to A 1 1
ORL A, #data OR immediate to A 2 2
XRL A, R Exclusive OR register to A 1 1
XRL A, @R Exclusive OR data memory to A 1 1
XRL A, #data Exclusive OR immediate to A 2 2
INC A Increment A 1 1
DEC A Decrement A 1 1
CLR A Clear A 1 1
CPL A Complement A 1 1
DA A Decimal Adjust A 1 1
SWAP A Swap nibbles of A 1 1
RL A Rotate A left 1 1
RLC A Rotate A left through carry 1 1
RR A Rotate A right 1 1
RRC A Rotate A right through carry 1 1
Input/Output:
IN A, P Input port to A 1 2
OUTL P, A Output port to A 1 2
ANL P, #data AND immediate to port 2 2
ORL P, #data OR immediate to port 2 2
+INS A, BUS Input BUS to A 1 2
+OUTL BUS, A Output A to BUS 1 2
+ANL BUS, #data AND immediate to BUS 2 2
+ORL BUS, #data OR immediate to BUS 2 2
MOVD A, P Input Expander port to A 1 2
MOVD P, A Output A to Expander port 1 2
ANLD P, A AND A to Expander port 1 2
ORLD P, A OR A to Expander port 1 2
+ These instructions are for use with internal memory only.
Registers:
INC R Increment register 1 1
INC @R Increment data memory 1 1
DEC R Decrement register 1 1
Branch:
JMP addr Jump unconditional 2 2
JMPP @A Jump indirect 1 2
DJNZ R, addr Decrement register and jump 2 2
JC addr Jump if carry = 1 2 2
JNC addr Jump if carry = 0 2 2
JZ addr Jump if A = 0 2 2
JNZ addr Jump if A not zero 2 2
JT0 addr Jump if T0 = 1 2 2
JNT0 addr Jump if T0 = 0 2 2
JT1 addr Jump if T1 = 1 2 2
JNT1 addr Jump if T1 = 0 2 2
JF0 addr Jump if F0 = 1 2 2
JF1 addr Jump if F1 = 1 2 2
JTF addr Jump if timer flag = 1 2 2
JNI addr Jump if INT = 0 2 2
JBb addr Jump on accumulator bit 'b' 2 2
Subroutine:
CALL addr Jump to subroutine 2 2
RET Return 1 2
RETR Return and restore status 1 2
Flags
CLR C Clear Carry 1 1
CPL C Complement Carry 1 1
CLR F0 Clear Flag 0 1 1
CPL F0 Complement Flag 0 1 1
CLR F1 Clear Flag 1 1 1
CPL F1 Complement Flag 1 1 1
Data Moves:
MOV A, R Move register to A 1 1
MOV A, @R Move data memory to A 1 1
MOV A, #data Move immediate to A 2 2
MOV R, A Move A to register 1 1
MOV @R, A Move A to data memory 1 1
MOV R, #data Move immediate to register 2 2
MOV @R, #data Move immediate to data memory 2 2
MOV A, PSW Move PSW to A 1 1
MOV PSW, A Move A to PSW 1 1
XCH A, R Exchange A and register 1 1
XCH A, @R Exchange A and data memory 1 1
XCHD A, @R Exchange nibble of A 1 1
and register
MOVX A, @R Move external data memory to A 1 2
MOVX @R, A Move A to external data memory 1 2
MOVP A, @A Move to A from current page 1 2
MOVP3 A, @A Move to A from page 3 1 1
Timer/Counter:
MOV A, T Read Timer/Counter 1 1
MOV T, A Load Timer/Counter 1 1
STRT T Start Timer 1 1
STRT CNT Start Counter 1 1
STOP TCNT Stop Timer/Counter 1 1
EN TCNTI Enable Timer/Counter Interrupt 1 1
DIS TCNTI Disable Timer/Counter Interrupt 1 1
Control:
EN I Enable external interrupt 1 1
DIS I Disable external interrupt 1 1
SEL RB0 Select register bank 0 1 1
SEL RB1 Select register bank 1 1 1
SEL MB0 Select memory bank 0 1 1
SEL MB1 Select memory bank 1 1 1
ENT0 CLK Enable clock output on T0 1 1
NOP No operation 1 1
last modified 11JUN04
this home page is maintained by Lowell O. Turner.
Please email lotpagemail@comcast.net with
comments and corrections.