SlideShare une entreprise Scribd logo
1  sur  40
Numerical Bases Used in Programming

     • Hexadecimal

     • Binary

     • BCD
Hexadecimal Basis
• Hexadecimal Digits:

1 2 3 4 5 6 7 8 9 A B C D E F

  A=10
  B=11
  C=12
  D=13
  E=14
  F=15
Decimal, Binary, BCD, & Hexadecimal Numbers

   (43)10=

   (0100 0011)BCD=

   ( 0010 1011 )2 =

   (   2     B   )16
Register
                           s
      SP


       A

       B

       R0
                    DPTR           DPH                  DPL
       R1

       R2             PC                     PC
       R3

       R4                   Some 8051 16-bit Register

       R5

       R6

       R7

Some 8-bitt Registers of
      the 8051
Memory mapping in 8051

• ROM memory map in 8051 family


                   4k                8k

          0000H             0000H



          0FFFH


                            1FFFH
                   8751
                  AT89C51
                                     8752
                                    AT89C52
• RAM memory space allocation in the 8051

            7FH


                                               Scratch pad RAM


             30H

            2FH
                                           Bit-Addressable RAM

             20H
            1FH                           Register Bank 3
            18H
            17H
                                         Register Bank 2
            10H
             0FH                  Stack) Register Bank 1)
             08H
             07H
                                         Register Bank 0
             00H
Addressing Modes

•   Register
•   Direct
•   Register Indirect
•   Immediate
•   Relative
•   Absolute
•   Long
•   Indexed
Register Addressing Mode

MOV Rn, A       ;n=0,..,7
ADD       A, Rn
MOV DPL, R6

MOV DPTR, A
MOV Rm, Rn
Direct Addressing Mode

 Although the entire of 128 bytes of RAM can be
 accessed using direct addressing mode, it is most
 often used to access RAM loc. 30 – 7FH.

MOV R0, 40H
MOV 56H, A
MOV A, 4         ; ≡ MOV A, R4
MOV 6, 2         ; copy R2 to R6
                 ; MOV R6,R2 is invalid !
Register Indirect Addressing Mode

• In this mode, register is used as a pointer to the
  data.

MOV       A,@Ri        ; move content of RAM loc.
 where address is held by Ri into A ( i=0 or 1 )

MOV         @R1,B

  In other word, the content of register R0 or R1 is
  sources or target in MOV, ADD and SUBB
  insructions.
Immediate Addressing Mode


MOV A,#65H

MOV R6,#65H

MOV DPTR,#2343H

MOV P1,#65H
Relative, Absolute, & Long Addressing

   Used only with jump and call instructions:

                    SJMP

                ACALL,AJMP

                LCALL,LJMP
Indexed Addressing Mode
• This mode is widely used in accessing data
  elements of look-up table entries located in the
  program (code) space ROM at the 8051

            MOVC       A,@A+DPTR
                      (A,@A+PC)
  A= content of address A +DPTR from ROM
Note:
 Because the data elements are stored in the
 program (code ) space ROM of the 8051, it uses
 the instruction MOVC instead of MOV. The
 “C” means code.
Some Simple Instructions
MOV dest,source                   ; dest = source

  MOV A,#72H             ;A=72H
  MOV R4,#62H            ;R4=62H
  MOV B,0F9H             ;B=the content of F9’th byte of RAM

  MOV DPTR,#7634H
  MOV DPL,#34H
  MOV DPH,#76H

  MOV P1,A               ;mov A to port 1

Note 1:
  MOV A,#72H ≠ MOV A,72H
  After instruction “MOV A,72H ” the content of 72’th byte of RAM will
  replace in Accumulator.

Note 2:
  MOV A,R3      ≡        MOV A,3
ADDA, Source                 ;A=A+SOURCE

 ADDA,#6            ;A=A+6

 ADDA,R6            ;A=A+R6

 ADD       A,6               ;A=A+[6] or A=A+R6

 ADD       A,0F3H            ;A=A+[0F3H]


SUBB       A, Source                  ;A=A-SOURCE-C

 SUBB      A,#6              ;A=A-6

 SUBB      A,R6              ;A=A+R6
MUL & DIV
• MUL   AB ;B|A = A*B
  MOV   A,#25H
  MOV   B,#65H
  MUL   AB       ;25H*65H=0E99
                 ;B=0EH, A=99H

• DIV   AB ;A = A/B, B = A mod B
  MOV   A,#25
  MOV   B,#10
  DIV   AB       ;A=2, B=5
SETB bit                 ; bit=1
CLR bit                  ; bit=0

SETB    C                ; CY=1
SETB    P0.0             ;bit 0 from port 0 =1
SETB    P3.7             ;bit 7 from port 3 =1
SETB    ACC.2            ;bit 2 from ACCUMULATOR =1
SETB    05               ;set high D5 of RAM loc. 20h

Note:

CLR instruction is as same as SETB
i.e.:
    CLR         C        ;CY=0

But following instruction is only for CLR:
  CLR            A       ;A=0
DEC   byte   ;byte=byte-1
INC   byte   ;byte=byte+1

INC   R7
DEC   A
DEC   40H    ; [40]=[40]-1
RR – RL – RRC – RLC A

EXAMPLE:
 RR    A

RR:

RRC:                    C

RL:

RLC:                    C
ANL - ORL – XRL
Bitwise Logical Operations:
AND, OR, XOR
EXAMPLE:
  MOV        R5,#89H
  ANL R5,#08H



CPL          A           ;1’s complement
Example:
      MOV          A,#55H ;A=01010101 B
L01: CPL           A
      MOV          P1,A
      ACALL               DELAY
      SJMP         L01
Stack in the 8051
• The register used to
  access the stack is called
  SP (stack pointer)
  register.                    7FH

                                                  Scratch pad RAM
• The stack pointer in the
                               30H
  8051 is only 8 bits wide,
  which means that it can      2FH
                                              Bit-Addressable RAM
  take value 00 to FFH.
                                20H
  When 8051 powered up,        1FH            Register Bank 3
  the SP register contains     18H
                               17H
  value 07.                    10H
                                             Register Bank 2

                               0FH    Stack) Register Bank 1)
                               08H
                               07H
                                             Register Bank 0
                               00H
Example:
             MOV        R6,#25H
             MOV        R1,#12H
             MOV        R4,#0F3H
             PUSH       6
             PUSH       1
             PUSH       4



  0BH                    0BH            0BH            0BH


  0AH                    0AH            0AH            0AH      F3


  09H                    09H            09H      12    09H      12


   08H                   08H       25   08H      25    08H      25


         Start SP=07H          SP=08H         SP=09H         SP=08H
LOOP and JUMP Instructions
       Conditional Jumps :
 JZ               Jump if A=0

 JNZ              Jump if A/=0

 DJNZ             Decrement and jump if A/=0
 CJNE A,byte      Jump if A/=byte
 CJNE reg,#data   Jump if byte/=#data
 JC               Jump if CY=1

 JNC              Jump if CY=0

 JB               Jump if bit=1

 JNB              Jump if bit=0

 JBC              Jump if bit=1 and clear bit
DJNZ:

Write a program to clear ACC, then
add 3 to the accumulator ten time

Solution:
             MOV    A,#0
             MOV    R2,#10
AGAIN:       ADD    A,#03
             DJNZ   R2,AGAIN ;repeat until R2=0 (10 times)
             MOV    R5,A
LJMP(long jump)
  LJMP is an unconditional jump. It is a 3-byte instruction.
  It allows a jump to any memory location from 0000 to
  FFFFH.

AJMP(absolute jump)
  In this 2-byte instruction, It allows a jump to any memory
  location within the 2k block of program memory.

SJMP(short jump)
  In this 2-byte instruction. The relative address range of 00-
  FFH is divided into forward and backward jumps, that is ,
  within -128 to +127 bytes of memory relative to the address
  of the current PC.
CALL Instructions
  Another control transfer instruction is the CALL
  instruction, which is used to call a subroutine.


• LCALL(long call)
  This 3-byte instruction can be used to call
  subroutines located anywhere within the 64K
  byte address space of the 8051.

• ACALL (absolute call)
  ACALL is 2-byte instruction. the target
  address of the subroutine must be within 2K
  byte range.
Example:
  Write a program to copy a block of 10 bytes from RAM
  location starting at 37h to RAM location starting at 59h.

Solution:
  MOV R0,#37h               ; source pointer
  MOV R1,#59h               ; dest pointer
  MOV R2,#10                ; counter
L1: MOV A,@R0
  MOV @R1,A
  INC R0
  INC R1
  DJNZ R2,L1
Decimal Addition
     156 + 248
.   100's   10's   1's

.    1       5     6

+    2       4     8

=    4       0     4          16 Bit Addition
                             1A44 + 22DB = 3D1F

                         .           256's       16’s   1's

                         .       1           A   4       4

                         +       2           2   D      B

                         =       3           D   1      F
Performing the Addition with 8051
                       .        65536's              256's   1's

                       .                              R6     R7

                       +                              R4     R5

                       =          R1                  R2     R3




1.Add the low bytes R7 and R5, leave the answer in R3.

2.Add the high bytes R6 and R4, adding any carry from step 1, and leave the answer in R2.

3.Put any carry from step 2 in the final byte, R1.
Steps 1, 2, 3
MOV A,R7 ;Move the low-byte into the accumulator

ADD A,R5 ;Add the second low-byte to the accumulator

MOV R3,A ;Move the answer to the low-byte of the result


MOV A,R6 ;Move the high-byte into the accumulator

ADDC A,R4 ;Add the second high-byte to the accumulator, plus carry.

MOV R2,A ;Move the answer to the high-byte of the result


MOV A,#00h ;By default, the highest byte will be zero.

ADDC A,#00h ;Add zero, plus carry from step 2.

MOV R1,A ;Move the answer to the highest byte of the result
The Whole Program
;Load the first value into R6 and R7
MOV R6,#1Ah
MOV R7,#44h
;Load the first value into R4 and R5
MOV R4,#22h
MOV R5,#0DBh
;Call the 16-bit addition routine LCALL ADD16_16

ADD16_16:

;Step 1 of the process
MOV A,R7 ;Move the low-byte into the accumulator
ADD A,R5 ;Add the second low-byte to the accumulator
MOV R3,A ;Move the answer to the low-byte of the result

;Step 2 of the process
MOV A,R6 ;Move the high-byte into the accumulator
ADDC A,R4 ;Add the second high-byte to the accumulator, plus carry.
MOV R2,A ;Move the answer to the high-byte of the result

;Step 3 of the process
MOV A,#00h ;By default, the highest byte will be zero.
ADDC A,#00h ;Add zero, plus carry from step 2.
MOV MOV R1,A ;Move the answer to the highest byte of the result

;Return - answer now resides in R1, R2, and R3. RET
Timer & Port Operations
• Example:
Write a program using Timer0 to create a 10khz square
  wave on P1.0


            MOV TMOD,#02H     ;8-bit auto-reload mode
            MOV TH0,#-50      ;-50 reload value in TH0
            SETB TR0          ;start timer0
LOOP:       JNB TF0, LOOP     ;wait for overflow
            CLR TF0           ;clear timer0 overflow flag
            CPL P1.0          ;toggle port bit
            SJMP LOOP         ;repeat
            END
Interrupts

1. Enabling and Disabling Interrupts
2. Interrupt Priority
3. Writing the ISR (Interrupt Service
   Routine)
Interrupt Enable (IE) Register :




•   EA : Global enable/disable.
•   ---    : Undefined.
•   ET2 :Enable Timer 2 interrupt.
•   ES :Enable Serial port interrupt.
•   ET1 :Enable Timer 1 interrupt.
•   EX1 :Enable External 1 interrupt.
•   ET0 : Enable Timer 0 interrupt.
•   EX0 : Enable External 0 interrupt.
Interrupt Vectors

Interrupt      Vector Address
System Reset       0000H
 External 0        0003H
  Timer 0          000BH
 External 1        0013H
  Timer 1          001BH
 Serial Port       0023H
  Timer 2          002BH
Writing the ISR
 Example:
Writing the ISR for Timer0 interrupt

             ORG 0000H ;reset
             LJMP MAIN
             ORG 000BH ;Timer0 entry point
T0ISR:       .                ;Timer0 ISR begins
             .
             RETI             ;return to main program
MAIN:        .                ;main program
             .
             .
             END
Structure of Assembly language
 and Running an 8051 program
                              EDITOR
                             PROGRAM

                                       Myfile.asm

                             ASSEMBLER
                              PROGRAM

   Myfile.lst
                                             Other obj file
                Myfile.obj
                              LINKER
                             PROGRAM




                                OH
                             PROGRAM


                                   Myfile.hex
Examples of Our Program Instructions


• MOV C,P1.4
  JC LINE1



• SETB P1.0
  CLR P1.2
8051 Instruction Set
ACALL: Absolute Call                 JC: Jump if Carry Set            PUSH: Push Value Onto Stack

ADD, ADDC: Add Acc. (With Carry)     JMP: Jump to Address             RET: Return From Subroutine

AJMP: Absolute Jump                  JNB: Jump if Bit Not Set         RETI: Return From Interrupt

ANL: Bitwise AND                     JNC: Jump if Carry Not Set       RL: Rotate Accumulator Left

CJNE: Compare & Jump if Not Equal    JNZ: Jump if Acc. Not Zero       RLC: Rotate Acc. Left Through Carry

CLR: Clear Register                  JZ: Jump if Accumulator Zero     RR: Rotate Accumulator Right

CPL: Complement Register             LCALL: Long Call                 RRC: Rotate Acc. Right Through Carry

DA: Decimal Adjust                   LJMP: Long Jump                  SETB: Set Bit

DEC: Decrement Register              MOV: Move Memory                 SJMP: Short Jump

DIV: Divide Accumulator by B         MOVC: Move Code Memory           SUBB: Sub. From Acc. With Borrow

DJNZ: Dec. Reg. & Jump if Not Zero   MOVX: Move Extended Memory       SWAP: Swap Accumulator Nibbles

INC: Increment Register              MUL: Multiply Accumulator by B   XCH: Exchange Bytes

JB: Jump if Bit Set                  NOP: No Operation                XCHD: Exchange Digits

JBC: Jump if Bit Set and Clear Bit   ORL: Bitwise OR                  XRL: Bitwise Exclusive OR

                                     POP: Pop Value From Stack        Undefined: Undefined Instruction

Contenu connexe

Tendances

Instruction set summary
Instruction set summary Instruction set summary
Instruction set summary janicetiong
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction setStefan Oprea
 
8051 addressing modes
 8051 addressing modes 8051 addressing modes
8051 addressing modesghoshshweta
 
B sc e 5.2 mp unit 2 soft ware(alp)
B sc e 5.2 mp unit 2 soft ware(alp)B sc e 5.2 mp unit 2 soft ware(alp)
B sc e 5.2 mp unit 2 soft ware(alp)MahiboobAliMulla
 
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareInstruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareProf. Swapnil V. Kaware
 
Microprocessor system - summarize
Microprocessor system - summarizeMicroprocessor system - summarize
Microprocessor system - summarizeHisham Mat Hussin
 
8051 micro controllers Instruction set
8051 micro controllers Instruction set 8051 micro controllers Instruction set
8051 micro controllers Instruction set Nitin Ahire
 
1347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 80511347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 8051techbed
 
Solution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiSolution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiMuhammad Abdullah
 
8051 addressing modes
8051 addressing modes8051 addressing modes
8051 addressing modesVima Mali
 
Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)Safin Biswas
 
Winter training,Readymade Projects,Buy Projects,Corporate Training
Winter training,Readymade Projects,Buy Projects,Corporate TrainingWinter training,Readymade Projects,Buy Projects,Corporate Training
Winter training,Readymade Projects,Buy Projects,Corporate TrainingTechnogroovy
 
Arithmetic and logical instructions set
Arithmetic and logical instructions setArithmetic and logical instructions set
Arithmetic and logical instructions setRobert Almazan
 
The 8051 microcontroller
The 8051 microcontrollerThe 8051 microcontroller
The 8051 microcontrollerPallaviHailkar
 

Tendances (20)

Instruction set summary
Instruction set summary Instruction set summary
Instruction set summary
 
8051assembly language
8051assembly language8051assembly language
8051assembly language
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction set
 
Stack and subroutine
Stack and subroutineStack and subroutine
Stack and subroutine
 
8051 addressing modes
 8051 addressing modes 8051 addressing modes
8051 addressing modes
 
B sc e 5.2 mp unit 2 soft ware(alp)
B sc e 5.2 mp unit 2 soft ware(alp)B sc e 5.2 mp unit 2 soft ware(alp)
B sc e 5.2 mp unit 2 soft ware(alp)
 
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareInstruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
 
Microprocessor system - summarize
Microprocessor system - summarizeMicroprocessor system - summarize
Microprocessor system - summarize
 
8051 micro controllers Instruction set
8051 micro controllers Instruction set 8051 micro controllers Instruction set
8051 micro controllers Instruction set
 
1347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 80511347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 8051
 
Solution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiSolution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidi
 
8051 addressing modes
8051 addressing modes8051 addressing modes
8051 addressing modes
 
Uc 2(vii)
Uc 2(vii)Uc 2(vii)
Uc 2(vii)
 
Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)Stack in microprocessor 8085(presantation)
Stack in microprocessor 8085(presantation)
 
Winter training,Readymade Projects,Buy Projects,Corporate Training
Winter training,Readymade Projects,Buy Projects,Corporate TrainingWinter training,Readymade Projects,Buy Projects,Corporate Training
Winter training,Readymade Projects,Buy Projects,Corporate Training
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction set
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
Arm chap 3 last
Arm chap 3 lastArm chap 3 last
Arm chap 3 last
 
Arithmetic and logical instructions set
Arithmetic and logical instructions setArithmetic and logical instructions set
Arithmetic and logical instructions set
 
The 8051 microcontroller
The 8051 microcontrollerThe 8051 microcontroller
The 8051 microcontroller
 

En vedette (13)

Browsers
BrowsersBrowsers
Browsers
 
Rizhao 2x350 mw_140900_hq1
Rizhao 2x350 mw_140900_hq1Rizhao 2x350 mw_140900_hq1
Rizhao 2x350 mw_140900_hq1
 
Rizhao 2x350 mw_140900_hq
Rizhao 2x350 mw_140900_hqRizhao 2x350 mw_140900_hq
Rizhao 2x350 mw_140900_hq
 
Kait_online_judge_8
Kait_online_judge_8Kait_online_judge_8
Kait_online_judge_8
 
Rizhao Power Plant Project 140900
Rizhao Power Plant Project 140900Rizhao Power Plant Project 140900
Rizhao Power Plant Project 140900
 
Rizhao 140900 0
Rizhao 140900 0Rizhao 140900 0
Rizhao 140900 0
 
Presentation
PresentationPresentation
Presentation
 
Fuel php勉強会 1
Fuel php勉強会 1Fuel php勉強会 1
Fuel php勉強会 1
 
K.vishal. 5th std, pupil tree school, bellary
K.vishal. 5th std, pupil tree school, bellaryK.vishal. 5th std, pupil tree school, bellary
K.vishal. 5th std, pupil tree school, bellary
 
Kait online judge contest#7
Kait online judge contest#7Kait online judge contest#7
Kait online judge contest#7
 
Profesiografia hosteleria y turismo
Profesiografia hosteleria y turismoProfesiografia hosteleria y turismo
Profesiografia hosteleria y turismo
 
Raj kumar
Raj kumarRaj kumar
Raj kumar
 
COMPRENSIÓN LECTORA INICIAL
COMPRENSIÓN LECTORA INICIALCOMPRENSIÓN LECTORA INICIAL
COMPRENSIÓN LECTORA INICIAL
 

Similaire à Microcontroller 8051 soft

Microcontroller 8051- soft.ppt
Microcontroller 8051- soft.pptMicrocontroller 8051- soft.ppt
Microcontroller 8051- soft.pptsteffydean
 
Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051logesh waran
 
8051 microcontroller
8051 microcontroller8051 microcontroller
8051 microcontrollerjokersclown57
 
Micro controller(pratheesh)
Micro controller(pratheesh)Micro controller(pratheesh)
Micro controller(pratheesh)Pratheesh Pala
 
Maicrocontroller lab basic experiments
Maicrocontroller lab basic experimentsMaicrocontroller lab basic experiments
Maicrocontroller lab basic experimentsnoorahamed tahasildar
 
Maicrocontroller lab basic experiments
Maicrocontroller lab basic experimentsMaicrocontroller lab basic experiments
Maicrocontroller lab basic experimentsNoor Tahasildar
 
Maicrocontroller lab basic experiments
Maicrocontroller lab basic experiments Maicrocontroller lab basic experiments
Maicrocontroller lab basic experiments noorahamed tahasildar
 
Micro Controller lab basic experiments (1)
Micro Controller lab basic experiments (1)Micro Controller lab basic experiments (1)
Micro Controller lab basic experiments (1)Noor Tahasildar
 
Lecture 4 (8051 instruction set) rv01
Lecture 4 (8051 instruction set) rv01Lecture 4 (8051 instruction set) rv01
Lecture 4 (8051 instruction set) rv01cairo university
 
Section 1 8051 microcontroller instruction set
Section 1 8051 microcontroller instruction setSection 1 8051 microcontroller instruction set
Section 1 8051 microcontroller instruction setnueng-kk
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction setprakash y
 
New text document
New text documentNew text document
New text documentzocaniveb
 
MICROCONTROLLERS-module2 (7).pptx
MICROCONTROLLERS-module2 (7).pptxMICROCONTROLLERS-module2 (7).pptx
MICROCONTROLLERS-module2 (7).pptxAmoghR3
 

Similaire à Microcontroller 8051 soft (20)

Microcontroller 8051- soft.ppt
Microcontroller 8051- soft.pptMicrocontroller 8051- soft.ppt
Microcontroller 8051- soft.ppt
 
Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051
 
8051 microcontroller
8051 microcontroller8051 microcontroller
8051 microcontroller
 
Micro controller(pratheesh)
Micro controller(pratheesh)Micro controller(pratheesh)
Micro controller(pratheesh)
 
Maicrocontroller lab basic experiments
Maicrocontroller lab basic experimentsMaicrocontroller lab basic experiments
Maicrocontroller lab basic experiments
 
Maicrocontroller lab basic experiments
Maicrocontroller lab basic experimentsMaicrocontroller lab basic experiments
Maicrocontroller lab basic experiments
 
Maicrocontroller lab basic experiments
Maicrocontroller lab basic experiments Maicrocontroller lab basic experiments
Maicrocontroller lab basic experiments
 
Micro Controller lab basic experiments (1)
Micro Controller lab basic experiments (1)Micro Controller lab basic experiments (1)
Micro Controller lab basic experiments (1)
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
Lecture 4 (8051 instruction set) rv01
Lecture 4 (8051 instruction set) rv01Lecture 4 (8051 instruction set) rv01
Lecture 4 (8051 instruction set) rv01
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
instructions set of 8051.pdf
instructions set of 8051.pdfinstructions set of 8051.pdf
instructions set of 8051.pdf
 
Section 1 8051 microcontroller instruction set
Section 1 8051 microcontroller instruction setSection 1 8051 microcontroller instruction set
Section 1 8051 microcontroller instruction set
 
13229286.ppt
13229286.ppt13229286.ppt
13229286.ppt
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction set
 
Emb day2 8051
Emb day2 8051Emb day2 8051
Emb day2 8051
 
addressing-mode-of-8051.pdf
addressing-mode-of-8051.pdfaddressing-mode-of-8051.pdf
addressing-mode-of-8051.pdf
 
Binary to bcd
Binary to bcdBinary to bcd
Binary to bcd
 
New text document
New text documentNew text document
New text document
 
MICROCONTROLLERS-module2 (7).pptx
MICROCONTROLLERS-module2 (7).pptxMICROCONTROLLERS-module2 (7).pptx
MICROCONTROLLERS-module2 (7).pptx
 

Dernier

Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxlancelewisportillo
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...JojoEDelaCruz
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 

Dernier (20)

Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptxQ4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
Q4-PPT-Music9_Lesson-1-Romantic-Opera.pptx
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPS® Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
ENG 5 Q4 WEEk 1 DAY 1 Restate sentences heard in one’s own words. Use appropr...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 

Microcontroller 8051 soft

  • 1.
  • 2. Numerical Bases Used in Programming • Hexadecimal • Binary • BCD
  • 3. Hexadecimal Basis • Hexadecimal Digits: 1 2 3 4 5 6 7 8 9 A B C D E F A=10 B=11 C=12 D=13 E=14 F=15
  • 4. Decimal, Binary, BCD, & Hexadecimal Numbers (43)10= (0100 0011)BCD= ( 0010 1011 )2 = ( 2 B )16
  • 5. Register s SP A B R0 DPTR DPH DPL R1 R2 PC PC R3 R4 Some 8051 16-bit Register R5 R6 R7 Some 8-bitt Registers of the 8051
  • 6. Memory mapping in 8051 • ROM memory map in 8051 family 4k 8k 0000H 0000H 0FFFH 1FFFH 8751 AT89C51 8752 AT89C52
  • 7. • RAM memory space allocation in the 8051 7FH Scratch pad RAM 30H 2FH Bit-Addressable RAM 20H 1FH Register Bank 3 18H 17H Register Bank 2 10H 0FH Stack) Register Bank 1) 08H 07H Register Bank 0 00H
  • 8. Addressing Modes • Register • Direct • Register Indirect • Immediate • Relative • Absolute • Long • Indexed
  • 9. Register Addressing Mode MOV Rn, A ;n=0,..,7 ADD A, Rn MOV DPL, R6 MOV DPTR, A MOV Rm, Rn
  • 10. Direct Addressing Mode Although the entire of 128 bytes of RAM can be accessed using direct addressing mode, it is most often used to access RAM loc. 30 – 7FH. MOV R0, 40H MOV 56H, A MOV A, 4 ; ≡ MOV A, R4 MOV 6, 2 ; copy R2 to R6 ; MOV R6,R2 is invalid !
  • 11. Register Indirect Addressing Mode • In this mode, register is used as a pointer to the data. MOV A,@Ri ; move content of RAM loc. where address is held by Ri into A ( i=0 or 1 ) MOV @R1,B In other word, the content of register R0 or R1 is sources or target in MOV, ADD and SUBB insructions.
  • 12. Immediate Addressing Mode MOV A,#65H MOV R6,#65H MOV DPTR,#2343H MOV P1,#65H
  • 13. Relative, Absolute, & Long Addressing Used only with jump and call instructions: SJMP ACALL,AJMP LCALL,LJMP
  • 14. Indexed Addressing Mode • This mode is widely used in accessing data elements of look-up table entries located in the program (code) space ROM at the 8051 MOVC A,@A+DPTR (A,@A+PC) A= content of address A +DPTR from ROM Note: Because the data elements are stored in the program (code ) space ROM of the 8051, it uses the instruction MOVC instead of MOV. The “C” means code.
  • 15. Some Simple Instructions MOV dest,source ; dest = source MOV A,#72H ;A=72H MOV R4,#62H ;R4=62H MOV B,0F9H ;B=the content of F9’th byte of RAM MOV DPTR,#7634H MOV DPL,#34H MOV DPH,#76H MOV P1,A ;mov A to port 1 Note 1: MOV A,#72H ≠ MOV A,72H After instruction “MOV A,72H ” the content of 72’th byte of RAM will replace in Accumulator. Note 2: MOV A,R3 ≡ MOV A,3
  • 16. ADDA, Source ;A=A+SOURCE ADDA,#6 ;A=A+6 ADDA,R6 ;A=A+R6 ADD A,6 ;A=A+[6] or A=A+R6 ADD A,0F3H ;A=A+[0F3H] SUBB A, Source ;A=A-SOURCE-C SUBB A,#6 ;A=A-6 SUBB A,R6 ;A=A+R6
  • 17. MUL & DIV • MUL AB ;B|A = A*B MOV A,#25H MOV B,#65H MUL AB ;25H*65H=0E99 ;B=0EH, A=99H • DIV AB ;A = A/B, B = A mod B MOV A,#25 MOV B,#10 DIV AB ;A=2, B=5
  • 18. SETB bit ; bit=1 CLR bit ; bit=0 SETB C ; CY=1 SETB P0.0 ;bit 0 from port 0 =1 SETB P3.7 ;bit 7 from port 3 =1 SETB ACC.2 ;bit 2 from ACCUMULATOR =1 SETB 05 ;set high D5 of RAM loc. 20h Note: CLR instruction is as same as SETB i.e.: CLR C ;CY=0 But following instruction is only for CLR: CLR A ;A=0
  • 19. DEC byte ;byte=byte-1 INC byte ;byte=byte+1 INC R7 DEC A DEC 40H ; [40]=[40]-1
  • 20. RR – RL – RRC – RLC A EXAMPLE: RR A RR: RRC: C RL: RLC: C
  • 21. ANL - ORL – XRL Bitwise Logical Operations: AND, OR, XOR EXAMPLE: MOV R5,#89H ANL R5,#08H CPL A ;1’s complement Example: MOV A,#55H ;A=01010101 B L01: CPL A MOV P1,A ACALL DELAY SJMP L01
  • 22. Stack in the 8051 • The register used to access the stack is called SP (stack pointer) register. 7FH Scratch pad RAM • The stack pointer in the 30H 8051 is only 8 bits wide, which means that it can 2FH Bit-Addressable RAM take value 00 to FFH. 20H When 8051 powered up, 1FH Register Bank 3 the SP register contains 18H 17H value 07. 10H Register Bank 2 0FH Stack) Register Bank 1) 08H 07H Register Bank 0 00H
  • 23. Example: MOV R6,#25H MOV R1,#12H MOV R4,#0F3H PUSH 6 PUSH 1 PUSH 4 0BH 0BH 0BH 0BH 0AH 0AH 0AH 0AH F3 09H 09H 09H 12 09H 12 08H 08H 25 08H 25 08H 25 Start SP=07H SP=08H SP=09H SP=08H
  • 24. LOOP and JUMP Instructions Conditional Jumps : JZ Jump if A=0 JNZ Jump if A/=0 DJNZ Decrement and jump if A/=0 CJNE A,byte Jump if A/=byte CJNE reg,#data Jump if byte/=#data JC Jump if CY=1 JNC Jump if CY=0 JB Jump if bit=1 JNB Jump if bit=0 JBC Jump if bit=1 and clear bit
  • 25. DJNZ: Write a program to clear ACC, then add 3 to the accumulator ten time Solution: MOV A,#0 MOV R2,#10 AGAIN: ADD A,#03 DJNZ R2,AGAIN ;repeat until R2=0 (10 times) MOV R5,A
  • 26. LJMP(long jump) LJMP is an unconditional jump. It is a 3-byte instruction. It allows a jump to any memory location from 0000 to FFFFH. AJMP(absolute jump) In this 2-byte instruction, It allows a jump to any memory location within the 2k block of program memory. SJMP(short jump) In this 2-byte instruction. The relative address range of 00- FFH is divided into forward and backward jumps, that is , within -128 to +127 bytes of memory relative to the address of the current PC.
  • 27. CALL Instructions Another control transfer instruction is the CALL instruction, which is used to call a subroutine. • LCALL(long call) This 3-byte instruction can be used to call subroutines located anywhere within the 64K byte address space of the 8051. • ACALL (absolute call) ACALL is 2-byte instruction. the target address of the subroutine must be within 2K byte range.
  • 28. Example: Write a program to copy a block of 10 bytes from RAM location starting at 37h to RAM location starting at 59h. Solution: MOV R0,#37h ; source pointer MOV R1,#59h ; dest pointer MOV R2,#10 ; counter L1: MOV A,@R0 MOV @R1,A INC R0 INC R1 DJNZ R2,L1
  • 29. Decimal Addition 156 + 248 . 100's 10's 1's . 1 5 6 + 2 4 8 = 4 0 4 16 Bit Addition 1A44 + 22DB = 3D1F . 256's 16’s 1's . 1 A 4 4 + 2 2 D B = 3 D 1 F
  • 30. Performing the Addition with 8051 . 65536's 256's 1's . R6 R7 + R4 R5 = R1 R2 R3 1.Add the low bytes R7 and R5, leave the answer in R3. 2.Add the high bytes R6 and R4, adding any carry from step 1, and leave the answer in R2. 3.Put any carry from step 2 in the final byte, R1.
  • 31. Steps 1, 2, 3 MOV A,R7 ;Move the low-byte into the accumulator ADD A,R5 ;Add the second low-byte to the accumulator MOV R3,A ;Move the answer to the low-byte of the result MOV A,R6 ;Move the high-byte into the accumulator ADDC A,R4 ;Add the second high-byte to the accumulator, plus carry. MOV R2,A ;Move the answer to the high-byte of the result MOV A,#00h ;By default, the highest byte will be zero. ADDC A,#00h ;Add zero, plus carry from step 2. MOV R1,A ;Move the answer to the highest byte of the result
  • 32. The Whole Program ;Load the first value into R6 and R7 MOV R6,#1Ah MOV R7,#44h ;Load the first value into R4 and R5 MOV R4,#22h MOV R5,#0DBh ;Call the 16-bit addition routine LCALL ADD16_16 ADD16_16: ;Step 1 of the process MOV A,R7 ;Move the low-byte into the accumulator ADD A,R5 ;Add the second low-byte to the accumulator MOV R3,A ;Move the answer to the low-byte of the result ;Step 2 of the process MOV A,R6 ;Move the high-byte into the accumulator ADDC A,R4 ;Add the second high-byte to the accumulator, plus carry. MOV R2,A ;Move the answer to the high-byte of the result ;Step 3 of the process MOV A,#00h ;By default, the highest byte will be zero. ADDC A,#00h ;Add zero, plus carry from step 2. MOV MOV R1,A ;Move the answer to the highest byte of the result ;Return - answer now resides in R1, R2, and R3. RET
  • 33. Timer & Port Operations • Example: Write a program using Timer0 to create a 10khz square wave on P1.0 MOV TMOD,#02H ;8-bit auto-reload mode MOV TH0,#-50 ;-50 reload value in TH0 SETB TR0 ;start timer0 LOOP: JNB TF0, LOOP ;wait for overflow CLR TF0 ;clear timer0 overflow flag CPL P1.0 ;toggle port bit SJMP LOOP ;repeat END
  • 34. Interrupts 1. Enabling and Disabling Interrupts 2. Interrupt Priority 3. Writing the ISR (Interrupt Service Routine)
  • 35. Interrupt Enable (IE) Register : • EA : Global enable/disable. • --- : Undefined. • ET2 :Enable Timer 2 interrupt. • ES :Enable Serial port interrupt. • ET1 :Enable Timer 1 interrupt. • EX1 :Enable External 1 interrupt. • ET0 : Enable Timer 0 interrupt. • EX0 : Enable External 0 interrupt.
  • 36. Interrupt Vectors Interrupt Vector Address System Reset 0000H External 0 0003H Timer 0 000BH External 1 0013H Timer 1 001BH Serial Port 0023H Timer 2 002BH
  • 37. Writing the ISR Example: Writing the ISR for Timer0 interrupt ORG 0000H ;reset LJMP MAIN ORG 000BH ;Timer0 entry point T0ISR: . ;Timer0 ISR begins . RETI ;return to main program MAIN: . ;main program . . END
  • 38. Structure of Assembly language and Running an 8051 program EDITOR PROGRAM Myfile.asm ASSEMBLER PROGRAM Myfile.lst Other obj file Myfile.obj LINKER PROGRAM OH PROGRAM Myfile.hex
  • 39. Examples of Our Program Instructions • MOV C,P1.4 JC LINE1 • SETB P1.0 CLR P1.2
  • 40. 8051 Instruction Set ACALL: Absolute Call JC: Jump if Carry Set PUSH: Push Value Onto Stack ADD, ADDC: Add Acc. (With Carry) JMP: Jump to Address RET: Return From Subroutine AJMP: Absolute Jump JNB: Jump if Bit Not Set RETI: Return From Interrupt ANL: Bitwise AND JNC: Jump if Carry Not Set RL: Rotate Accumulator Left CJNE: Compare & Jump if Not Equal JNZ: Jump if Acc. Not Zero RLC: Rotate Acc. Left Through Carry CLR: Clear Register JZ: Jump if Accumulator Zero RR: Rotate Accumulator Right CPL: Complement Register LCALL: Long Call RRC: Rotate Acc. Right Through Carry DA: Decimal Adjust LJMP: Long Jump SETB: Set Bit DEC: Decrement Register MOV: Move Memory SJMP: Short Jump DIV: Divide Accumulator by B MOVC: Move Code Memory SUBB: Sub. From Acc. With Borrow DJNZ: Dec. Reg. & Jump if Not Zero MOVX: Move Extended Memory SWAP: Swap Accumulator Nibbles INC: Increment Register MUL: Multiply Accumulator by B XCH: Exchange Bytes JB: Jump if Bit Set NOP: No Operation XCHD: Exchange Digits JBC: Jump if Bit Set and Clear Bit ORL: Bitwise OR XRL: Bitwise Exclusive OR POP: Pop Value From Stack Undefined: Undefined Instruction