Electronics
Btrieve
Motorcycling
Software

APPENDIX B

INSTRUCTION SET SUMMARY


This appendix contains two tables (see tables B-1 and B-2): the first identifies all of the 8052's instructions in alphabetical order; the second table lists the instructions according to their hexadecimal opcodes and lists the assembly language instructions that produced that opcode.

The alphabetical listing also includes documentation of the bit pattern, flags affected, number of machine cycles per execution and a description of the instructions operation and function. The list below defines the conventions used to identify operation and bit patterns.

ABBREVIATIONS AND NOTATIONS USED



A               Accumulator                  llllllll        One byte of a 16-bit
AB              Register Pair                                address encoded in
B               Multiplication Register                      operand byte
bit address     8052 bit address             mmmmmmmm        Data address encoded in
page address    11-bit code address within                   operand byte
                2K page                      oooooooo        Relative offset encoded in
relative offset 8-bit 2's complement offset                  operand byte
C               Carry Flag                   r or rrr        Register identifier encoded
code address    Absolute code address                        in operand byte
data            Immediate data               AND             Logical AND
data address    On-chip 8-bit RAM address    NOT             Logical complement
DPTR            Data pointer                 OR              Logical OR
PC              Program Counter              XOR             Logical exclusive OR
Rr              Register (r = 0-7)           +               Plus
SP              Stack pointer                -               Minus
high            High order byte              /               Divide
low             Low order byte               *               Multiply
i-j             Bits i through j             (X)             The contents of X
.n              Bit n                        ((X))           The memory location
aaa aaaaaaaa    Absolute page address                        addressed by (X)
                encoded in instruction                       (The contents of X)
                and operand byte             =               Is equal to
bbbbbbbb        Bit address encoded in       <>              Is not equal to
                operand byte                 <               Is less than
dddddddd        Immediate data encoded in    >               Is greater than
                operand byte                 <-              Is replaced by
Table B-1. Instruction Set Summary
      Mnemonic                                Binary          Flags       Function
      Operation                     Cycles    Code            P OV AC C


ACALL code addr                       2     a a a 1 0 0 0 1               Push PC on stack, and
  (PC) <- (PC) + 2                          a a a a a a a a               replace low order 11 bits
  (SP) <- (SP) + 1                                                        with low order 11 bits of
  ((SP)) <- (PC) low                                                      code address.
  (SP) <- (SP) + 1
  ((SP)) <- (PC) high
  (PC) 0-10 <- page address

ADD A,#data                           1     0 0 1 0 0 1 0 0    P OV AC C  Add immediate data to A.
  (A) <- (A) + data                         d d d d d d d d

ADD A,@Rr                             1     0 0 1 0 0 1 1 r    P OV AC C  Add contents of indirect
  (A) <- (A) + ((Rr))                                                     address to A.

ADD A,Rr                              1     0 0 1 0 1 r r r    P OV AC C  Add register to A.
  (A) <- (A) + (Rr)

ADD A,data addr                       1     0 0 1 0 0 1 0 1    P OV AC C  Add contents of data
  (A) <- (A) + (data address)               m m m m m m m m               address to A.

ADDC A,#data                          1     0 0 1 1 0 1 0 0    P OV AC C  Add C and immediate data
  (A) <- (A) + (C) + data                   d d d d d d d d               to A

ADDC A,@Rr                            1     0 0 1 1 0 1 1 r    P OV AC C  Add C and contents of
  (A) <- (A) + (C) + ((Rr))                                               indirect address to A.

ADDC A,Rr                             1     0 0 1 1 1 r r r    P OV AC C  Add C and register to A
  (A) <- (A) + (C) + (Rr)

ADDC A,data addr                      1     0 0 1 1 0 1 0 1    P OV AC C  Add C and contents of data
  (A) <- (A) + (C) + (data address)         m m m m m m m m               address to A

AJMP code addr                        2     a a a 0 0 0 0 1               Replace low order 11 bits of
  (PC) 0-10 <- code address                 a a a a a a a a               PC with low order 11 bits
                                                                          code address.

ANL A,#data                           1     0 1 0 1 0 1 0 0    P          Logical AND immediate data
  (A) <- (A)AND data                        d d d d d d d d               to A.

ANL A,@Rr                             1     0 1 0 1 0 1 1 r    P          Logical AND contents of
  (A) <- (A) AND ((Rr))                                                   indirect address to A

ANL A,Rr                              1     0 1 0 1 1 r r r    P          Logical AND register to A
  (A) <- (A) AND (Rr)

ANL A,data addr                       1     0 1 0 1 0 1 0 1    P          Logical AND contents of
  (A) <- (A) AND (data address)             m m m m m m m m               data address to A.

ANL C,bit addr                        2     1 0 0 0 0 0 1 0            C  Logical AND bit to C
  (C) <- (C) AND (bit address)              b b b b b b b b

ANL C,lbit addr                       2     1 0 1 1 0 0 0 0            C  Logical AND complement of
  (C) <- (C) AND NOT (bit address)          b b b b b b b b               bit to C

ANL data addr, #data                  2     0 1 0 1 0 0 1 1               Logical AND immediate data
  (data address) <-                         m m m m m m m m               to contents of data address
    (data address) AND data                 d d d d d d d d

ANL data addr,A                       1     0 1 0 1 0 0 1 0               Logical AND A to contents of
  (data address) <-                         m m m m m m m m               data address.
    (data address) AND A

CJNE @Rr,#data,code addr              2     1 0 1 1 0 1 1 r           C   If immediate data and
  (PC)<- (PC) + 3                           d d d d d d d d               contents of indirect address
  IF ((Rr)) < > data                        o o o o o o o o               are not equal, jump to code
  THEN                                                                    address.
    (PC) <- (PC) + relative offset
  IF ((Rr)) <data
    THEN(C) <- 1
    ELSE(C) <- 0

CJNE A,#data,code addr                2     1 0 1 1 0 1 0 0           C   If immediate data and A are
  (PC) <- (PC) + 3                          d d d d d d d d               not equal, jump to code
  IF(A)<>data                               o o o o o o o o               address.
  THEN
    (PC) <- (PC) + relative offset
  IF (A) <data
    THEN(C) <- 1
    ELSE(C) <- 0

CJNE A,data addr,code addr            2     1 0 1 1 0 1 0 1           C   If contents of data address
  (PC) <- (PC) + 3                          m m m m m m m m               and A are not equal, jump to
  IF (A) <> (data address)                  o o o o o o o o               code address.
  THEN
    (PC) <- (PC) + relative offset
  IF (A) < (data address)
    THEN(C) <- 1
    ELSE(C) <- 0

CJNE Rr,#data,code addr               2    1 0 1 1 1 r r r             C  If immediate data and
  (PC) <- (PC) + 3                         d d d d d d d d                register are not equal, jump
  IF (Rr) <> data                          o o o o o o o o                to code address.
  THEN
    (PC) <- (PC) + relative offset
  IF (Rr) < data
    THEN(C) <- 1
    ELSE(C) <- 0

CLR A                                 1    1 1 1 0 0 1 0 0    P           Set A to zero(O).
   (A) <- 0

CLR C                                 1    1 1 0 0 0 01 1             C   Set C to zero (0).
   (C) <- 0

CLR bit addr                          1    1 1 0 0 0 0 1 0                Set bit to zero (0).
  (bit address) <- 0                       b b b b b b b b

CPL A                                 1    1 1 1 1 0 1 0 0    P           Complements each bit in A.
  (A) <- NOT (A)

CPL C                                 1    1 0 1 1 0 0 1 1            C   Complement C.
  (C) <- NOT (C)

CPL bit addr                          1    1 0 1 1 0 0 1 0                Complement bit.
  (bitaddress) <-                          b b b b b b b b
    NOT (bit address)

DA A                                  1    1 1 0 1 0 1 0 0    P       C   Adjust A after a BCD add.

DEC @Rr                               1    0 0 0 1 0 1 1 r                Decrement contents of
  ((Rr)) <- ((Rr)) - 1                                                    indirect address.

DEC A                                 1    0 0 0 1 0 1 0 0    P           Decrement A.
   (A) <- (A) - 1

DEC Rr                                1    0 0 0 1 1 r r r                Decrement register.
   (Rr) <- (Rr) -1
DEC data addr                         1     0 0 0 1 0 1 0 1               Decrement contents of data
  (data address) <-                         m m m m m m m m               address.
      (data address) - 1

DIV AB                                4    1 0 0 0 0 1 0 0    P  OV   C   Divide A by B (multiplication
   (AB) <- (AJ/(B)                                                        register).

DJNZ Rr,code addr                     2    1 1 0 1 1 r r r                Decrement register, if not
   (PC) <- (PC) + 2                        o o o o o o o o                zero (0), then jump to code
   (Rr) <- (Rr) - 1                                                       address.
   IF(Rr)<>0
   THEN
      (PC) <- (PC) + relative offset

DJNZ data addr,code addr              2     1 1 0 1 0 1 0 1               Decrement data address, if
   (PC), <- (PC) + 3                        m m m m m m m m               zero (0), then jump to code
   (data address)<-(                        o o o o o o o o               address.
       (data address) - 1
   IF (data address) <> 0
   THEN
      (PC) <- (PC) + relative offset

INC @Rr                               1     0 0 0 0 0 1 1 r               Increment contents of
   ((Rr)) <- ((Rr)) + 1                                                   indirect address.

INC A                                 1     0 0 0 0 0 1 0 0   P           Increment A.
   (A) <- (A) + 1

INC DPTR                              1     1 0 1 0 0 0 1 1               Increment 16-bit data
   (DPTR) <- (DPTR) + 1                                                   pointer.

INC Rr                                1     0 0 0 0 1 r r r               Increment register.
  ((R) <- (Rr) + 1

INC data addr                         2     0 0 0 0 0 1 0 1               Increment contents of data
   (data address) <-                        m m m m m m m m               address.
      (data address) + 1

JB bit addr,code addr                 2     0 0 1 0 0 0 0 0               If bit is one, n jump to code
   (PC) <- (PC) + 3                         b b b b b b b b               address.
   IF (bit address) = 1                     o o o o o o o o
   THEN
     (PC) <- (PC) + relative offset

JBC bit addr,code addr                2     0 0 0 1 0 0 0 0               If bit is one, n clear bit and
    (PC) <- (PC) + 3                        b b b b b b b b               jump to code address.
    IF (bit address) = 1                    o o o o o o o o
    THEN
       (bit address) <- 0
       (PC) <- (PC) + relative offset

JC code addr                          2     0 1 0 0 0 0 0 0               If C is one, then jump to
   (PC) (PC) + 2                            o o o o o o o o               code address.
   IF(C) = 1
   THEN
      (PC) <- (PC) + relative offset

JMP @A + DPTR                         2     0 1 1 1 0 0 1 1               Add A to data pointer and
   (PC) <- (A) + (DPTR)                                                   jump to that code address.

JNB bit addr,code addr                2     0 0 1 1 0 0 0 0               If bit is zero, n jump to code
   (PC) <- (PC) + 3                         b b b b b b b b               address.
   IF (bit address) = 0                     o o o o o o o o
   THEN
   (PC) <- (PC) + relative offset

JNC code addr                         2    0 1 0 1 0 0 0 0                If C is zero (0), n jump to
  (PC) + (PC) + 2                          o o o o o o o o                code address.
  IF (C) = 0
  THEN
     (PC) <- (PC) + relative offset

JNZ code addr                         2    0 1 1 1 0 0 0 0                If A is not zero (0), n jump to
  (PC) <- (PC) + 2                         o o o o o o o o                code address.
  IF (A) <> 0
  THEN
    (PC) <- (PC) + relative offset

JZ code addr                          2    0 1 1 0 0 0 0 0                If A is zero (0), then jump to
  (PC) <- (PC) + 2                         o o o o o o o o                code address.
  IF (A) = 0
  THEN
    (PC) <- (PC) + relative offset

LCALL code addr                       2    0 0 0 1 0 0 1 0                Push PC on stack and
  (PC) <- (PC) + 3                         1 1 1 1 1 1 1 1 +              replace entire PC value with
  (SP) <- (SP) + 1                         1 1 1 1 1 l 1 1 +              code address.(1)
  ((SP)) <- ((PC)) low
  (SP) <- (SP) + 1
  ((SP)) <- (PC) high
  (PC) <- code address

LJMP code addr                        2    0 0 0 0 0 0 1 0                Jump to code address.(1)
  (PC) <- code address                     1 1 1 1 1 1 1 1 +
                                           1 1 1 1 1 1 1 1 +

MOV @Rr,#data                         1    0 1 1 1 0 1 1 r                Move immediate data to
  ((Rr)) <- data                           d d d d d d d d                indirect address.

MOV @Rr,A                             1    1 1 1 1 0 1 1 r                Move A to indirect address.
  ((Rr))  <- (A)

MOV @Rr,data addr                     2    1 0 1 0 0 1 1 r                Move contents of data
  ((Rr)) <- (data address)                 m m m m m m m m                address to indirect address.

MOV A,#data                           1    0 1 1 1 0 1 0 0    P           Move immediate data to A.
  (A) <- data                              d d d d d d d d

MOV A,@Rr                             1    1 1 1 0 0 1 1 r    P           Move contents of indirect
  (A) <- ((Rr))                                                           address to A.

MOV A,Rr                              1    1 1 1 0 1 r r r    P           Move register to A.
  (A) <- (Rr)

MOV A,data addr                       1    1 1 1 0 0 1 0 1    P           Move contents of data
  (A) <- (data address)                    m m m m m m m m                address to A.

MOV C,bit addr                        1    1 0 1 0 0 0 1 0            C   Move bit to C.
  (C) <- (bitaddress)                      b b b b b b b b

MOV DPTR,#data                        2    1 0 0 1 0 0 0 0                Move two bytes of
  (DPTR) <- data                           d d d d d d d d +              immediate data pointer.(1)
                                           d d d d d d d d +

MOV Rr,#data                          1    0 1 1 1 1 r r r                Move immediate data to
  (Rr) <- data                             d d d d d d d d                register.

MOV Rr,A                              1    1 1 1 1 1 r r r                Move A to register.
  (Rr) <- (A)

MOV Rr,data addr                      2     1 0 1 0 1 r r r               Move contents of data
   (Rr) <- (data address)                   m m m m m m m m               address to register.

MOV bit addr,C                        2     1 0 0 1 0 0 1 0               Move C to bit.
   (bit address) <- (C)                     b b b b b b b b

MOV data addr,#data                   2     0 1 1 1 0 1 0 1               Move immediate data to data
   (data address) <- data                   m m m m m m m m               address.
                                            d d d d d d d d

MOV data addr,@Rr                     2     1 0 0 0 0 1 1 r               Move contents of indirect
   (data address) <- ((Rr))                 m m m m m m m m               address to data address.

MOV data addr,A                       1     1 1 1 1 0 1 0 1               Move A to data address.
   (data address) <-  (A)                   m m m m m m m m

MOV data addr,Rr                      2     1 0 0 0 1 r r r               Move register to data
   (data address) <- (Rr)                   m m m m m m m m               address.

MOV data addr1,data addr2             2     1 0 0 0 0 1 0 1               Move contents of second
   (data address1) <-                       m m m m m m m m +             data address to first data
         (data address2)                    m m m m m m m m +             address.(2)

MOVC A,@A + DPTR                      2     1 0 0 1 0 0 1 1   P           Add A to DPTR and move
   (PC) <- (PC) + 1                                                       contents of that code
   (A) <- ((A) + (DPTR))                                                  address with A.

MOVC A,@A + PC                        2     1 0 0 0 0 0 1 1   P           Add A to PC and move
    (A) <- ((A) + (PC))                                                   contents of that code
                                                                          address with A.

MOVX @DPTR,A                          2     1 1 1 1 0 0 0 0               Move A to external data
   DPTR)) <- (A)                                                          location addressed by
                                                                          DPTR.

MOVX @Rr,A                            2     1 1 1 1 0 0 1 r               Move A to external data
   ((Rr)) <- (A)                                                          location addressed by
                                                                          reglster.

MOVX A,@DPTR                          2     1 1 1 0 0 0 0 0   P           Move contents of external
    (A) <- ((DPTR))                                                       data location addressed by
                                                                          DPTR to A

MOVX A,@Rr                            2     1 1 1 0 0 0 1 r   P           Move contents of external
    (A) <- ((Rr))                                                         data location addressed by
                                                                          reglster to A.

MUL AB                                4     1 0 1 0 0 1 0 0   P OV    C   Multiply A by B
  (AB) <- (A) * (B)                                                       (multiplication register).

NOP                                   1     0 0 0 0 0 0 0 0               Do nothing.

ORL A,#data                           1     0 1 0 0 0 1 0 0   P           Logical OR immediate data
  (A) <- (A)OR data                         d d d d d d d d               toA.

ORL A,@Rr                             1     0 1 0 0 0 1 1 r   P           Logical OR contents of
  (A) <- (A) OR ((Rr))                                                    indirect address to A

ORL A,Rr                              1     0 1 0 0 1 r r r   P           Logical OR register to A
  (A) <- (A) OR (Rr)

ORL A,data addr                       1     0 1 0 0 0 1 0 1   P           Logical OR contents of data
  (A) <- (A) OR (data address)              m m m m m m m m               address to A.

ORL C,bit addr                        2     0 1 1 1 0 0 1 0           C   Logical OR bit to C
  (C) <- (C) OR (bit address)               b b b b b b b b

ORL C,/bit addr                       2     1 0 1 0 0 0 0 0           C   Logical OR complement of
  (C) <- (C) OR NOT (bit address)           b b b b b b b b               bit to C.

ORL data addr,#data                   2     0 1 0 0 0 0 1 1               Logical OR immediate data
  (data address) <-                         m m m m m m m m               to data address.
     (dataaddress)ORdata                    d d d d d d d d

ORL data addr,A                       1     0 1 0 0 0 0 1 0               Logical OR A to data
  (data address) <-                         m m m m m m m m               address.
    (data address) OR A

POP data addr                         2     1 1 0 1 0 0 0 0               Place top of stack at data
  (data address) <- ((SP))                  m m m m m m m m               address and decrement SP.
  (SP) <- (SP) - 1

PUSH data addr                        2     1 1 0 0 0 0 0 0               Increment SP and place
  (SP) <- (SP) + 1                          m m m m m m m m               contents of data address at
  ((SP)) <- (data address)                                                top of stack.

RET                                   2     0 0 1 0 0 0 1 0               Return from subroutine call.
  (PC)high <- ((SP))
  (SP) <- (SP) - 1
  (PC)low <- ((SP))
  (SP) <- (SP) - 1

RETI                                  2     0 0 1 1 0 0 1 0               Return from interrupt routine.
  (PC)high <- ((SP))
  (SP) <- (SP) - 1
  (PC)low <- ((SP))
  (SP) <- (SP)

RL A                                  1     0 0 1 0 0 0 1 1               Rotate A left one position.

RLC A                                 1     0 0 1 1 0 0 1 1   P       C   Rotate A through C left one
                                                                          position.

RR A                                  1     0 0 0 0 0 0 1 1               Rotate A right one position.

RRC A                                 1     0 0 0 1 0 0 1 1   P       C   Rotate A through C right one
                                                                          position.

SETB C                                1     1 1 0 1 0 0 1 1           C   Set C to one (1).
  (C) <- 1

SET8 bit addr                         1     1 1 0 1 0 0 1 0               Set bit to one (1).
  (bit address) <- 1                        b b b b b b b b

SJMP code addr                        2     1 0 0 0 0 0 0 0               Jump to code address.
  (PC) <- (PC) + 2                          o o o o o o o o
  (PC) <- (PC) + relative offset

SUBB A,#data                          1     1 0 0 1 0 1 0 0   P OV AC C   Subtract immediate data
 (A) <- (A) - (C) - data                    d d d d d d d d               from A.

SUBB A,@Rr                            1     1 0 0 l 0 l l r   P OV AC C   Subtract contents of indirect
   (A) <- (A) - (C) - ((Rr))                                              address from A.

SUBB A,Rr                             1     1 0 0 1 1 r r r   P OV AC C   Subtract register from A.
 (A) <- (A) - (C) - (Rr)

SUBB A, data addr                     1     1 0 0 1 0 1 0 1   P OV AC C   Subtract contents of data
 (A) <- (A) - (C) - (data address)          m m m m m m m m               address from A

SWAP A                                1     1 1 0 0 0 1 0 0               Exchange low order nibble
                                                                          with high order nibble in A

XCH A,@Rr                             1     1 1 0 0 0 1 1 r   P           Move A to indirect address
  temp <- ((Rr))                                                          and vice versa.
  ((Rr)) <- (A)
  (A) <- temp

XCH A,Rr                              1     1 1 0 0 1 r r r   P           Move A to register and vice
  temp <- (Rr)                                                            versa.
  (Rr) <- (A)
  (A) <- temp

XCH A,data addr                       1     1 1 0 0 0 1 0 1   P           Move A to data address and
  temp <- (data address)                    m m m m m m m m               vice versa.
  (data address) <- (A)
  (A) <- temp

XCHD A,@Rr                            1     0 1 1 0 0 1 1 r   P           Move low order of A to low
   temp <- ((Rr)) 0-3                                                     order nibble of indirect
   ((Rr)) 0-3 <- (A) 0-3                                                  address and vice versa.
   (A) 0-3 <- temp

XRL A,#data                           1     0 1 1 0 0 1 0 0   P           Logical exclusive OR
   (A) <- (A) XOR data                      d d d d d d d d               immediate data to A

XRL A,@Rr                             1     0 1 1 0 0 1 1 r   P           Logical exclusive OR
   (A) <- (A) XOR ((Rr))                                                  contents of indirect address
                                                                          to A.

XRL A,Rr                              1     0 1 1 0 1 r r r   P           Logical exclusive OR register
   (A) <- (A) XOR (Rr)                                                    to A.

XRL A,data addr                       1     0 1 1 0 0 1 0 1   P           Logical exclusive OR
   (A) <- (A) XOR (data address)            m m m m m m m m               contents of data address to A.
                                                                              
XRL data addr,#data                   2     0 1 1 0 0 0 1 1               Logical exclusive OR
   (data address) <-                        m m m m m m m m               immediate data to data
      (data address) XOR data               d d d d d d d d               address.

XRL data addr,A                       1     0 1 1 0 0 0 1 0               Logical exclusive OR A to
   (data address) <-                        m m m m m m m m               data address.
      (data addr as) XOR A
1)The high order byte of the 16-bit operand is in the first byte following the opcode. The low order byte is in the second byte following the opcode.

2) The source data address (second data address) is encoded in the first byte following the opcode. The destination data address is encoded in the second byte following the opcode.

Table B-2. Instruction Opcodes in Hexadecimal

     Hex       Number    
Mnemonic      Operands     Code      
of Bytes      00           
1       NOP      01           
2       AJMP         
code addr      02           
3       LJMP         
code addr      03           
1       RR           
A      04           
1       INC          
A      05           
2       INC          
data addr      06           
1       INC          
@R0      07           
1       INC          
@R1      08           
1       INC          
R0      09           
1       INC          
R1      0A           
1       INC          
R2      0B           
1       INC          
R3      0C           
1       INC          
R4      0D           
1       INC          
R5      0E           
1       INC          
R6      0F           
1       INC          
R7      10           
3       JBC          
bit addr,code addr      11           
2       ACALL        
code addr      12           
3       LCALL        
code addr      18           
1       RRC          
A      14           
1       DEC          
A      15           
2       DEC          
data addr      16           
1       DEC          
@R0      17           
1       DEC          
@R1      18           
1       DEC          
R0      19           
1       DEC          
R1      1A           
1       DEC          
R2      1B           
1       DEC          
R3      1C           
1       DEC          
R4      1D           
1       DEC          
R5      1E           
1       DEC          
R6      1F           
1       DEC          
R7      20           
3       JB           
bit addr,code addr      21           
2       AJMP         
code addr      22           
1       RET      23           
1       RL           
A      24           
2       ADD          
A,#data      25           
2       ADD          
A,data addr      26           
1       ADD          
A,@R0      27           
1       ADD          
A,@R1      28           
1       ADD          
A,R0      29           
1       ADD          
A,R1      2A           
1       ADD          
A,R2      2B           
1       ADD          
A,R3      2C           
1       ADD          
A,R4      2D           
1       ADD          
A,R5      2E           
1       ADD          
A,R6      2F           
1       ADD          
A,R7      80           
3       JNB          
bit addr,code addr      31           
2       ACALL        
code addr      32           
1       RETI      83           
1       RLC          
A      34           
2       ADDC         
A,#data      35           
2       ADDC         
A,data addr      36           
1       ADDC         
A,@R0      37           
1       ADDC         
A,@R1      38           
1       ADDC         
A,R0      89           
1       ADDC         
A,R1      3A           
1       ADDC         
A,R2      3B           
1       ADDC         
A,R3      3C           
1       ADDC         
A,R4      3D           
1       ADDC         
A,R5      3E           
1       ADDC         
A,R7      3F           
1       ADDC         
A,R7      40           
2       JC           
code addr      41           
2       AJMP         
code addr      42           
2       ORL          
data addr,A      43           
3       ORL          
data addr,#data      44           
2       ORL          
A,#data      45           
2       ORL          
A,data addr      46           
1       ORL          
A,@R0      47           
1       ORL          
A,@R1      48           
1       ORL          
A,R0      49           
1       ORL          
A,R1      4A           
1       ORL          
A,R2      4B           
1       ORL          
A,R3      4C           
1       ORL          
A,R4      4D           
1       ORL          
A,R5      4E           
1       ORL          
A,R6      4F           
1       ORL          
A,R7      50           
2       JNC          
code addr      51           
2       ACALL        
code addr      52           
2       ANL          
data addr,A      53           
3       ANL          
data addr,#data      54           
2       ANL          
A,#data      55           
2       ANL          
A,data addr      56           
1       ANL          
A,@R0      57           
1       ANL          
A,@R1      58           
1       ANL          
A,R0      59           
1       ANL          
A,R1      5A           
1       ANL          
A,R2      5B           
1       ANL          
A,R3      5C           
1       ANL          
A,R4      5D           
1       ANL          
A,R5      5E           
1       ANL          
A,R6      5F           
1       ANL          
A,R7      60           
2       JZ           
code addr      61           
2       AJMP         
code addr      62           
2       XRL          
data addr,A      63           
3       XRL          
data addr,#data      64           
2       XRL          
A,#data      65           
2       XRL          
A,data addr      66           
1       XRL          
A,@R0      67           
1       XRL          
A,@R1      68           
1       XRL          
A,R0      69           
1       XRL          
A,R1      6A           
1       XRL          
A,R2      6B           
1       XRL          
A,R3      6C           
1       XRL          
A,R4      6D           
1       XRL          
A,R5      6E           
1       XRL          
A,R6      6F           
1       XRL          
A,R7      70           
2       JNZ          
code addr      71           
2       ACALL        
code addr      72           
2       ORL          
C,bit addr      73           
1       JMP          
@A + DPTR      74           
2       MOV          
A,#data      75           
3       MOV          
data addr.#data      76           
2       MOV          
@R0,#data      77           
2       MOV          
@R1,#data      78           
2       MOV          
R0,#data      79           
2       MOV          
R1,#data      7A           
2       MOV          
R2,#data      7B           
2       MOV          
R3,#data      7C           
2       MOV          
R4,#data      7D           
2       MOV          
R5,#data      7E           
2       MOV          
R6,#data      7F           
2       MOV          
R7,#data      80           
2       SJMP         
code addr      81           
2       AJMP         
code addr      82           
2       ANL          
C,bit addr      83           
1       MOVC         
A,@A + PC      84           
1       DIV          
AB      85           
3       MOV          
data addr,data addr      86           
2       MOV          
data addr,@R0      87           
2       MOV          
data addr,@R1      88           
2       MOV          
data addr,R0      89           
2       MOV          
data addr,R1      8A           
2       MOV          
data addr,R2      8B           
2       MOV          
data addr,R3      8C           
2       MOV          
data addr,R4      8D           
2       MOV          
data addr,R5      8E           
2       MOV          
data addr,R6      8F           
2       MOV          
data addr,R7      90           
3       MOV          
DPTR,#data      91           
2       ACALL        
code addr      92           
2       MOV          
bit addr,C      93           
1       MOVC         
A,@A + DPTR      94           
2       SUBB         
A,#data      95           
2       SUBB         
A,data addr      96           
1       SUBB         
A,@R0      97           
1       SUBB         
A,@R1      98           
1       SUBB         
A,R0      99           
1       SUBB         
A,R1      9A           
1       SUBB         
A,R2      9B           
1       SUBB         
A,R3      9C           
1       SUBB         
A,R4      9D           
1       SUBB         
A,R5      9E           
1       SUBB         
A,R6      9F           
1       SUBB         
A,R7      A0           
2       ORL          
C,lbit addr      A1           
2       AJMP         
code addr      A2           
2       MOV          
C,bit addr      A3           
1       INC          
DPTR      A4           
1       MUL          
AB      A5                   
reserved      A6           
2       MOV          
@R0,data addr      A7           
2       MOV          
@R1,data addr      A8           
2       MOV          
R0,data addr      A9           
2       MOV          
R1,data addr      AA           
2       MOV          
R2,data addr      AB           
2       MOV          
R3,data addr      AC           
2       MOV          
R4,data addr      AD           
2       MOV          
R5,data addr      AE           
2       MOV          
R6,data addr      AF           
2       MOV          
R7,data addr      B0           
2       ANL          
C,lbit addr      B1           
2       ACALL        
code addr      B2           
2       CPL          
bit addr      B3           
1       CPL          
C      B4           
3       CJNE         
A,#data,code addr      B5           
3       CJNE         
A,data addr,code addr      B6           
3       CJNE         
@R0,#data,code addr      B7           
3       CJNE         
@R1,#data,code addr      B8           
3       CJNE         
RO,#data,code addr      B9           
3       CJNE         
R1,#data,code addr      BA           
3       CJNE         
R2,#data,code addr      BB           
3       CJNE         
R3,#data,code addr      BC           
3       CJNE         
R4,#data,code addr      BD           
3       CJNE         
R5,#data,code addr      BE           
3       CJNE         
R6,#data,code addr      BF           
3       CJNE         
R7,#data,code addr      C0           
2       PUSH         
data addr      C1           
2       AJMP         
code addr      C2           
2       CLR          
bitaddr      C3           
1       CLR          
C      C4           
1       SWAP         
A      C5           
2       XCH          
A,data addr      C6           
1       XCH          
A,@R0      C7           
1       XCH          
A,@R1      C8           
1       XCH          
A,R0      C9           
1       XCH          
A,R1      CA           
1       XCH          
A,R2      CB           
1       XCH          
A,R3      CC           
1       XCH          
A,R4      CD           
1       XCH          
A,R5      CE           
1       XCH          
A,R6      CF           
1       XCH          
A,R7      D0           
2       POP          
data addr      D1           
2       ACALL        
code addr      D2           
2       SETB         
bit addr      D3           
1       SETB         
C      D4           
1       DA           
A      D5           
3       DJNZ         
data addr,code addr      D6           
1       XCHD         
A,@R0      D7           
1       XCHD         
A,@R1      D8           
2       DJNZ         
R0,code addr      D9           
2       DJNZ         
R1,code addr      DA           
2       DJNZ         
R2,code addr      DB           
2       DJNZ         
R3,code addr      DC           
2       DJNZ         
R4,code addr      DD           
2       DJNZ         
R5,code addr      DE           
2       DJNZ         
R6,code addr      DF           
2       DJNZ         
R7,code addr      E0           
1       MOVX         
A,@DPTR      E1           
2       AJMP         
code addr      E2           
1       MOVX         
A,@R0      E3           
1       MOVX         
A,@R1      E4           
1       CLR          
A      E5           
2       MOV          
A,data addr      E6           
1       MOV          
A,@R0      E7           
1       MOV          
A,@R1      E8           
1       MOV          
A,R0      E9           
1       MOV          
A,R1      EA           
1       MOV          
A, R2      EB           
1       MOV          
A,R3      EC           
1       MOV          
A,R4      ED           
1       MOV          
A,R5      EE           
1       MOV          
A,R6      EF           
1       MOV          
A,R7      F0           
1       MOVX         
@DPTR,A      F1           
2       ACALL        
code addr      F2           
1       MOVX         
@R0,A      F3           
1       MOVX         
@R1,A      F4           
1       CPL          
A      F5           
2       MOV          
data addr,A      F6           
1       MOV          
@R0,A      F7           
1       MOV          
@R1,A      F8           
1       MOV          
R0,A      F9           
1       MOV          
R1,A      FA           
1       MOV          
R2,A      FB           
1       MOV          
R3,A      FC           
1       MOV          
R4,A      FD           
1       MOV          
R5,A      FE           
1       MOV          
R6,A      FF           
1       MOV          
R7,A

Copyright © Madis Kaal 2000-