SlideShare una empresa de Scribd logo
1 de 22
8051 ASSEMBLY
LANGUAGE
PROGRAMMING
Ravikumar Tiwari
Assistant Professor
Dept. of Electronics Engineering, GHRCE, Nagpur
INSIDE THE 8051
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
 most widely used registers are A, B, R0,
R1, R2, R3, R4, R5, R6, R7, DPTR and PC
 all registers are 8-bits, except DPTR and
the program counter which are 16 bit
 register A is used for all arithmetic and logic
instructions
 simple instructions MOV and ADD
INSIDE THE 8051
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
MOV instruction
MOV destination, source ;copy source to
destination
MOV A,#55H ;load value 55H into reg A
MOV R0,A ;copy contents of A into R0 (A=R0=55H)
MOV R1,A ;copy contents of A into R1
(A=R0=R1=55H)
MOV R2,A ;copy contents of A into R2
(A=R0=R1=R2=55H)
MOV R3,#95H ;load value 95H into R3 (R3=95H)
MOV A,R3 ;copy contents of R3 into A (A=R3=95H)
INSIDE THE 8051
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
 ADD instruction
◦ ADD A, source ;ADD the source operand
;to the accumulator
MOV A,#25H ;load 25H into A
MOV R2,#34H ;load 34H into R2
ADD A,R2 ;add R2 to accumulator
Executing the program above results in A = 59H
INTRODUCTION TO 8051
ASSEMBLY PROGRAMMING
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Structure of Assembly language
ORG 0H ;start (origin) at 0
MOV R5,#25H ;load 25H into R5
MOV R7,#34H ;load 34H into R7
MOV A,#0 ;load 0 into A
ADD A,R5 ;add contents of R5 to A
;now A = A + R5
ADD A,R7 ;add contents of R7 to A
;now A = A + R7
ADD A, #12H;add to A value 12H
;now A = A + 12H
HERE: SJMP HERE ;stay in this loop
END ;end of asm source file
;Program 2-1: Sample of an Assembly Language Program
ASSEMBLING AND RUNNING
AN 8051 PROGRAM
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
 An Assembly language instruction
consists of four fields:
[label : ] mnemonic [operands]
[;comment]
ASSEMBLING AND RUNNING
AN 8051 PROGRAM
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Figure 2–2 Steps to Create a Program
ASSEMBLING AND RUNNING AN
8051 PROGRAM
 More about "a51" and "obj" files
 "asm" file is source file and for this reason
some assemblers require that this file have
the “a51" extension
 this file is created with an editor such as
Windows Notepad or uVision editor
 uVision assembler converts the a51
assembly language instructions into
machine language and provides the obj file
 assembler also produces the Ist file
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
ASSEMBLING AND RUNNING
AN 8051 PROGRAM
 Ist file (list file)
 lst file is useful to the programmer because it lists all the
opcodes and addresses as well as errors that the
assembler detected
 uVision assumes that the list file is not wanted unless
you indicate that you want to produce it
 file can be accessed by an editor such as Note Pad and
displayed on the monitor or sent to the printer to
produce a hard copy
 programmer uses the list file to find syntax errors
 only after fixing all the errors indicated in the lst file that
the obj file is ready to be input to the linker program
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
THE PROGRAM COUNTER
AND ROM SPACE IN THE 8051
 Program counter in the 8051
 16 bits wide
 can access program addresses 0000
to FFFFH
 total of 64K bytes of code
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
THE PROGRAM COUNTER
AND ROM SPACE IN THE 8051
 Where the 8051 wakes up when it is
powered up:
 wakes up at memory address 0000
when it is powered up
 first opcode must be stored at ROM
address 0000H
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
THE PROGRAM COUNTER
AND ROM SPACE IN THE 8051
 Placing code in program ROM
 the opcode and operand are placed in
ROM locations starting at memory
0000
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
8051 DATA TYPES AND
DIRECTIVES
 8051 data type and directives
◦ DB (define byte)
◦ ORG (origin)
◦ EQU (equate)
◦ END directive
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
8051 DATA TYPES AND
DIRECTIVES
 Rules for labels in Assembly language
◦ each label name must be unique
◦ first character must be alphabetic
◦ reserved words must not be used as
labels
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
8051 FLAG BITS AND THE
PSW REGISTER
 PSW (program status word) register
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Figure 2–4 Bits of the PSW Register
8051 FLAG BITS AND THE
PSW REGISTER
R.K.Tiwari(ravikumar.tiwari@raisoni.net)Table 2–1 Instructions That Affect Flag Bits
8051 REGISTER BANKS AND
STACK
 RAM memory space allocation in the
8051
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Figure 2–5
RAM Allocation in the 8051
8051 REGISTER BANKS AND
STACK
 Register banks in the 8051
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Figure 2–6 8051 Register Banks and their RAM Addresses
8051 REGISTER BANKS AND
STACK
 How to switch register banks
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Table 2–2 PSW Bits Bank Selection
Viewing Register contents in
Keil
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Figure 2–9 Register’s Screen from Keil Simulator
Memory window in Keil
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Figure 2–10 128-Byte Memory Space from Keil Simulator
Problems
 Write an assembly program for
Addition, subtraction. Also write
register content in comment line after
executing that instruction.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)

Más contenido relacionado

La actualidad más candente

Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
9840596838
 
8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware
Prof. Swapnil V. Kaware
 
8051 micro controllers Instruction set
8051 micro controllers Instruction set 8051 micro controllers Instruction set
8051 micro controllers Instruction set
Nitin Ahire
 
Memory organization of 8051
Memory organization of 8051Memory organization of 8051
Memory organization of 8051
Muthu Manickam
 

La actualidad más candente (20)

Serial Communication in 8051
Serial Communication in 8051Serial Communication in 8051
Serial Communication in 8051
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
 
Branch instructions in 8051 micrcocontroller
Branch instructions in 8051 micrcocontrollerBranch instructions in 8051 micrcocontroller
Branch instructions in 8051 micrcocontroller
 
8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware
 
8051 interrupts
8051 interrupts8051 interrupts
8051 interrupts
 
Interfacing LCD with 8051 Microcontroller
Interfacing LCD with 8051 MicrocontrollerInterfacing LCD with 8051 Microcontroller
Interfacing LCD with 8051 Microcontroller
 
Branching instructions in 8086 microprocessor
Branching instructions in 8086 microprocessorBranching instructions in 8086 microprocessor
Branching instructions in 8086 microprocessor
 
DAC Interfacing with 8051.pdf
DAC Interfacing with 8051.pdfDAC Interfacing with 8051.pdf
DAC Interfacing with 8051.pdf
 
Addressing modes 8085
Addressing modes 8085Addressing modes 8085
Addressing modes 8085
 
8051 micro controllers Instruction set
8051 micro controllers Instruction set 8051 micro controllers Instruction set
8051 micro controllers Instruction set
 
Timing Diagram of MVI Instruction of 8085 Microprocessor
Timing Diagram of MVI Instruction of 8085 MicroprocessorTiming Diagram of MVI Instruction of 8085 Microprocessor
Timing Diagram of MVI Instruction of 8085 Microprocessor
 
Subroutine in 8051 microcontroller
Subroutine in 8051 microcontrollerSubroutine in 8051 microcontroller
Subroutine in 8051 microcontroller
 
Relay interfacing with 8051
Relay interfacing with 8051Relay interfacing with 8051
Relay interfacing with 8051
 
Memory organization of 8051
Memory organization of 8051Memory organization of 8051
Memory organization of 8051
 
8086 micro processor
8086 micro processor8086 micro processor
8086 micro processor
 
3 jump, loop and call instructions
3 jump, loop and call instructions3 jump, loop and call instructions
3 jump, loop and call instructions
 
8051 microcontroller
8051 microcontroller8051 microcontroller
8051 microcontroller
 
program status word
program status wordprogram status word
program status word
 
SHLD and LHLD instruction
SHLD and LHLD instructionSHLD and LHLD instruction
SHLD and LHLD instruction
 
8051 Microcontroller I/O ports
8051 Microcontroller I/O ports8051 Microcontroller I/O ports
8051 Microcontroller I/O ports
 

Destacado (9)

Solution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiSolution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidi
 
8051 experiments1
8051 experiments18051 experiments1
8051 experiments1
 
Homework 2 sol
Homework 2 solHomework 2 sol
Homework 2 sol
 
1347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 80511347 Assembly Language Programming Of 8051
1347 Assembly Language Programming Of 8051
 
8051
80518051
8051
 
8051 microcontroller features
8051 microcontroller features8051 microcontroller features
8051 microcontroller features
 
8051 Presentation
8051 Presentation8051 Presentation
8051 Presentation
 
Question paper with solution the 8051 microcontroller based embedded systems...
Question paper with solution  the 8051 microcontroller based embedded systems...Question paper with solution  the 8051 microcontroller based embedded systems...
Question paper with solution the 8051 microcontroller based embedded systems...
 
8051 Microcontroller Notes
8051 Microcontroller Notes8051 Microcontroller Notes
8051 Microcontroller Notes
 

Similar a 8051 Assembly Language Programming

1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp011347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
bvenkanna
 

Similar a 8051 Assembly Language Programming (20)

1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp011347 assemblylanguageprogrammingof8051-100523023308-phpapp01
1347 assemblylanguageprogrammingof8051-100523023308-phpapp01
 
8051assembly language
8051assembly language8051assembly language
8051assembly language
 
12 mt06ped008
12 mt06ped008 12 mt06ped008
12 mt06ped008
 
8051 Microcontroller
8051 Microcontroller8051 Microcontroller
8051 Microcontroller
 
Unit -2 and 3 mekirirygiygyuguiguihiiqio
Unit -2 and 3 mekirirygiygyuguiguihiiqioUnit -2 and 3 mekirirygiygyuguiguihiiqio
Unit -2 and 3 mekirirygiygyuguiguihiiqio
 
8051 microcontroller
8051 microcontroller8051 microcontroller
8051 microcontroller
 
Microcontroller directives
Microcontroller directivesMicrocontroller directives
Microcontroller directives
 
Emb day2 8051
Emb day2 8051Emb day2 8051
Emb day2 8051
 
lect 5
lect 5lect 5
lect 5
 
Microprocessor system - summarize
Microprocessor system - summarizeMicroprocessor system - summarize
Microprocessor system - summarize
 
Microcontroller 8051- soft.ppt
Microcontroller 8051- soft.pptMicrocontroller 8051- soft.ppt
Microcontroller 8051- soft.ppt
 
L10 assembly-language-programming-of-atmega328 p
L10 assembly-language-programming-of-atmega328 pL10 assembly-language-programming-of-atmega328 p
L10 assembly-language-programming-of-atmega328 p
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
03 addr mode & instructions
03 addr mode & instructions03 addr mode & instructions
03 addr mode & instructions
 
8051 Microcontroller
8051 Microcontroller8051 Microcontroller
8051 Microcontroller
 
Assembler Programming
Assembler ProgrammingAssembler Programming
Assembler Programming
 
Introduction to Embedded system programming using 8051
Introduction to Embedded system programming using 8051Introduction to Embedded system programming using 8051
Introduction to Embedded system programming using 8051
 
Module 2 PPT of ES.pptx
Module 2 PPT of ES.pptxModule 2 PPT of ES.pptx
Module 2 PPT of ES.pptx
 
The 8051 microcontroller
The 8051  microcontroller The 8051  microcontroller
The 8051 microcontroller
 
5 addressing modes
5 addressing modes5 addressing modes
5 addressing modes
 

Más de Ravikumar Tiwari (7)

Course Outcome and Program Outcome Calculation(new method)
Course Outcome and Program Outcome Calculation(new method)Course Outcome and Program Outcome Calculation(new method)
Course Outcome and Program Outcome Calculation(new method)
 
Fun with arduino
Fun with arduinoFun with arduino
Fun with arduino
 
ARM- Programmer's Model
ARM- Programmer's ModelARM- Programmer's Model
ARM- Programmer's Model
 
ARM Micro-controller
ARM Micro-controllerARM Micro-controller
ARM Micro-controller
 
8051 Addressing modes
8051 Addressing modes8051 Addressing modes
8051 Addressing modes
 
RISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van NeumannRISC Vs CISC, Harvard v/s Van Neumann
RISC Vs CISC, Harvard v/s Van Neumann
 
Introducing Embedded Systems and the Microcontrollers
Introducing Embedded Systems and the MicrocontrollersIntroducing Embedded Systems and the Microcontrollers
Introducing Embedded Systems and the Microcontrollers
 

Último

DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
MayuraD1
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
mphochane1998
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ssuser89054b
 

Último (20)

HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
DeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakesDeepFakes presentation : brief idea of DeepFakes
DeepFakes presentation : brief idea of DeepFakes
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
Bhubaneswar🌹Call Girls Bhubaneswar ❤Komal 9777949614 💟 Full Trusted CALL GIRL...
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 

8051 Assembly Language Programming

  • 1. 8051 ASSEMBLY LANGUAGE PROGRAMMING Ravikumar Tiwari Assistant Professor Dept. of Electronics Engineering, GHRCE, Nagpur
  • 2. INSIDE THE 8051 R.K.Tiwari(ravikumar.tiwari@raisoni.net)  most widely used registers are A, B, R0, R1, R2, R3, R4, R5, R6, R7, DPTR and PC  all registers are 8-bits, except DPTR and the program counter which are 16 bit  register A is used for all arithmetic and logic instructions  simple instructions MOV and ADD
  • 3. INSIDE THE 8051 R.K.Tiwari(ravikumar.tiwari@raisoni.net) MOV instruction MOV destination, source ;copy source to destination MOV A,#55H ;load value 55H into reg A MOV R0,A ;copy contents of A into R0 (A=R0=55H) MOV R1,A ;copy contents of A into R1 (A=R0=R1=55H) MOV R2,A ;copy contents of A into R2 (A=R0=R1=R2=55H) MOV R3,#95H ;load value 95H into R3 (R3=95H) MOV A,R3 ;copy contents of R3 into A (A=R3=95H)
  • 4. INSIDE THE 8051 R.K.Tiwari(ravikumar.tiwari@raisoni.net)  ADD instruction ◦ ADD A, source ;ADD the source operand ;to the accumulator MOV A,#25H ;load 25H into A MOV R2,#34H ;load 34H into R2 ADD A,R2 ;add R2 to accumulator Executing the program above results in A = 59H
  • 5. INTRODUCTION TO 8051 ASSEMBLY PROGRAMMING R.K.Tiwari(ravikumar.tiwari@raisoni.net) Structure of Assembly language ORG 0H ;start (origin) at 0 MOV R5,#25H ;load 25H into R5 MOV R7,#34H ;load 34H into R7 MOV A,#0 ;load 0 into A ADD A,R5 ;add contents of R5 to A ;now A = A + R5 ADD A,R7 ;add contents of R7 to A ;now A = A + R7 ADD A, #12H;add to A value 12H ;now A = A + 12H HERE: SJMP HERE ;stay in this loop END ;end of asm source file ;Program 2-1: Sample of an Assembly Language Program
  • 6. ASSEMBLING AND RUNNING AN 8051 PROGRAM R.K.Tiwari(ravikumar.tiwari@raisoni.net)  An Assembly language instruction consists of four fields: [label : ] mnemonic [operands] [;comment]
  • 7. ASSEMBLING AND RUNNING AN 8051 PROGRAM R.K.Tiwari(ravikumar.tiwari@raisoni.net) Figure 2–2 Steps to Create a Program
  • 8. ASSEMBLING AND RUNNING AN 8051 PROGRAM  More about "a51" and "obj" files  "asm" file is source file and for this reason some assemblers require that this file have the “a51" extension  this file is created with an editor such as Windows Notepad or uVision editor  uVision assembler converts the a51 assembly language instructions into machine language and provides the obj file  assembler also produces the Ist file R.K.Tiwari(ravikumar.tiwari@raisoni.net)
  • 9. ASSEMBLING AND RUNNING AN 8051 PROGRAM  Ist file (list file)  lst file is useful to the programmer because it lists all the opcodes and addresses as well as errors that the assembler detected  uVision assumes that the list file is not wanted unless you indicate that you want to produce it  file can be accessed by an editor such as Note Pad and displayed on the monitor or sent to the printer to produce a hard copy  programmer uses the list file to find syntax errors  only after fixing all the errors indicated in the lst file that the obj file is ready to be input to the linker program R.K.Tiwari(ravikumar.tiwari@raisoni.net)
  • 10. THE PROGRAM COUNTER AND ROM SPACE IN THE 8051  Program counter in the 8051  16 bits wide  can access program addresses 0000 to FFFFH  total of 64K bytes of code R.K.Tiwari(ravikumar.tiwari@raisoni.net)
  • 11. THE PROGRAM COUNTER AND ROM SPACE IN THE 8051  Where the 8051 wakes up when it is powered up:  wakes up at memory address 0000 when it is powered up  first opcode must be stored at ROM address 0000H R.K.Tiwari(ravikumar.tiwari@raisoni.net)
  • 12. THE PROGRAM COUNTER AND ROM SPACE IN THE 8051  Placing code in program ROM  the opcode and operand are placed in ROM locations starting at memory 0000 R.K.Tiwari(ravikumar.tiwari@raisoni.net)
  • 13. 8051 DATA TYPES AND DIRECTIVES  8051 data type and directives ◦ DB (define byte) ◦ ORG (origin) ◦ EQU (equate) ◦ END directive R.K.Tiwari(ravikumar.tiwari@raisoni.net)
  • 14. 8051 DATA TYPES AND DIRECTIVES  Rules for labels in Assembly language ◦ each label name must be unique ◦ first character must be alphabetic ◦ reserved words must not be used as labels R.K.Tiwari(ravikumar.tiwari@raisoni.net)
  • 15. 8051 FLAG BITS AND THE PSW REGISTER  PSW (program status word) register R.K.Tiwari(ravikumar.tiwari@raisoni.net) Figure 2–4 Bits of the PSW Register
  • 16. 8051 FLAG BITS AND THE PSW REGISTER R.K.Tiwari(ravikumar.tiwari@raisoni.net)Table 2–1 Instructions That Affect Flag Bits
  • 17. 8051 REGISTER BANKS AND STACK  RAM memory space allocation in the 8051 R.K.Tiwari(ravikumar.tiwari@raisoni.net) Figure 2–5 RAM Allocation in the 8051
  • 18. 8051 REGISTER BANKS AND STACK  Register banks in the 8051 R.K.Tiwari(ravikumar.tiwari@raisoni.net) Figure 2–6 8051 Register Banks and their RAM Addresses
  • 19. 8051 REGISTER BANKS AND STACK  How to switch register banks R.K.Tiwari(ravikumar.tiwari@raisoni.net) Table 2–2 PSW Bits Bank Selection
  • 20. Viewing Register contents in Keil R.K.Tiwari(ravikumar.tiwari@raisoni.net) Figure 2–9 Register’s Screen from Keil Simulator
  • 21. Memory window in Keil R.K.Tiwari(ravikumar.tiwari@raisoni.net) Figure 2–10 128-Byte Memory Space from Keil Simulator
  • 22. Problems  Write an assembly program for Addition, subtraction. Also write register content in comment line after executing that instruction. R.K.Tiwari(ravikumar.tiwari@raisoni.net)