Assembly Level
Assembly Level
of 8085
(UNIT-2)
(SUB: Microprocessor and Interfaces)
PREPARED BY:
ER. MOHIT MISHRA
ASSOCIATE PROFESSOR
COMPUTER SCIENCE DEPARTMENT
Topics
1. Introduction
2. Programming model of 8085
3. Example Programs
4. Instruction & Data Formats of 8085
1. Introduction
• A microprocessor executes instructions given by
the user
• Instructions should be in a language known to
the microprocessor
• Microprocessor understands the language of 0’s
and 1’s only
• This language is called Machine Language
• For e.g.
01001111
– Is a valid machine language instruction of
8085
– It copies the contents of one of the internal
registers of 8085 to another
A Machine language program to
add two numbers
00111110 ;Copy value 2H in register A
00000010
00000110 ;Copy value 4H in register B
00000100
10000000 ;A = A + B
Assembly Language of 8085
Assembly Machine
Assembler
Language Language
Program
Program Code
Low-level/High-level languages
• Machine language and Assembly language are
both
– Microprocessor specific (Machine dependent)
so they are called
– Low-level languages
• Machine independent languages are called
– High-level languages
– For e.g. BASIC, PASCAL,C++,C,JAVA, etc.
– A software called Compiler is required to
convert a high-level language program to
machine code
2. Programming model of 8085
Accumulator 16-bit
Address Bus
Register Array
ALU
Memory Pointer
Flags Registers 8-bit Data
Bus
Instruction
Decoder
Control Bus
Timing and Control Unit
Accumulator (8-bit) Flag Register (8-bit)
S Z AC P CY
B (8-bit) C (8-bit)
D (8-bit) E (8-bit)
H (8-bit) L (8-bit)
Stack Pointer (SP) (16-bit)
Program Counter (PC) (16-bit)
• Stop processing
Stop
5. Assembly Language Program
10011001 99H A
+
10011001 99H B
0
1 10011001
00110010 32H
99H A
CY
• Storing result in Register memory
CY A
1 10011001 32H
Register B Register C
Step-1 Copy A to C
Step-2
a) Clear register B
b) Increment B by 1
2. Program Logic
Copy A to C
Stop
5. Assembly Language Program
• Load registers D, E MVI D, 2H
MVI E, 3H
• Copy register D to A
• Add register E to A MOV A, D
• Copy A to register C ADD E
MOV C, A
• Use Conditional JNC END
Jump instructions
• Clear register B MVI B, 0H
• Increment B INR B
• Stop processing END: HLT
4. Addressing Modes of 8085
• Format of a typical Assembly language instruction is
given below-
[Label:] Mnemonic [Operands] [;comments]
HLT
MVI A, 20H
MOV M, A ;Copy A to memory location whose
address is stored in register pair HL
LOAD: LDA 2050H ;Load A with contents of memory
location with address 2050H
READ: IN 07H ;Read data from Input port with
address 07H
5. Instruction & Data Formats