
- Microprocessor Tutorial
- Microprocessor - Home
- Microprocessor - Overview
- Microprocessor - Classification
- 8085 Microprocessor
- Microprocessor - 8085 Architecture
- 8085 Pin Configuration
- Addressing Modes & Interrupts
- 8085 Instruction Sets
- 8086 Microprocessor
- Microprocessor - 8086 Overview
- 8086 Functional Units
- 8086 Pin Configuration
- 8086 Instruction Sets
- Microprocessor - 8086 Interrupts
- 8086 Addressing Modes
- Multiprocessor Configuration
- Configuration Overview
- 8087 Numeric Data Processor
- I/O Interfacing
- I/O Interfacing Overview
- 8279 Programmable Keyboard
- 8257 DMA Controller
- Microcontrollers
- Microcontrollers - Overview
- Microcontrollers - 8051 Architecture
- 8051 Pin Description
- 8051 Input Output Ports
- Microcontrollers - 8051 Interrupts
- Peripheral Devices
- Programmable Peripheral Interface
- Intel 8255A - Pin Description
- 8253 - Programmable Interval Timer
- 8253/54 - Operational Modes
- Microprocessor Useful Resources
- Microprocessor - Quick Guide
- Microprocessor - Useful Resources
- Microprocessor - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Microprocessor - 8085 Instruction Sets
Let us take a look at the programming of 8085 Microprocessor.
Instruction sets are instruction codes to perform some task. It is classified into five categories.
S.No. | Instruction & Description |
---|---|
1 | Control Instructions
Following is the table showing the list of Control instructions with their meanings. |
2 | Logical Instructions
Following is the table showing the list of Logical instructions with their meanings. |
3 | Branching Instructions
Following is the table showing the list of Branching instructions with their meanings. |
4 | Arithmetic Instructions
Following is the table showing the list of Arithmetic instructions with their meanings. |
5 | Data Transfer Instructions
Following is the table showing the list of Data-transfer instructions with their meanings. |
8085 – Demo Programs
Now, let us take a look at some program demonstrations using the above instructions −
Adding Two 8-bit Numbers
Write a program to add data at 3005H & 3006H memory location and store the result at 3007H memory location.
Problem demo −
(3005H) = 14H (3006H) = 89H
Result −
14H + 89H = 9DH
The program code can be written like this −
LXI H 3005H : "HL points 3005H" MOV A, M : "Getting first operand" INX H : "HL points 3006H" ADD M : "Add second operand" INX H : "HL points 3007H" MOV M, A : "Store result at 3007H" HLT : "Exit program"
Exchanging the Memory Locations
Write a program to exchange the data at 5000M& 6000M memory location.
LDA 5000M : "Getting the contents at5000M location into accumulator" MOV B, A : "Save the contents into B register" LDA 6000M : "Getting the contents at 6000M location into accumulator" STA 5000M : "Store the contents of accumulator at address 5000M" MOV A, B : "Get the saved contents back into A register" STA 6000M : "Store the contents of accumulator at address 6000M"
Arrange Numbers in an Ascending Order
Write a program to arrange first 10 numbers from memory address 3000H in an ascending order.
MVI B, 09 :"Initialize counter" START :"LXI H, 3000H: Initialize memory pointer" MVI C, 09H :"Initialize counter 2" BACK: MOV A, M :"Get the number" INX H :"Increment memory pointer" CMP M :"Compare number with next number" JC SKIP :"If less, don’t interchange" JZ SKIP :"If equal, don’t interchange" MOV D, M MOV M, A DCX H MOV M, D INX H :"Interchange two numbers" SKIP:DCR C :"Decrement counter 2" JNZ BACK :"If not zero, repeat" DCR B :"Decrement counter 1" JNZ START HLT :"Terminate program execution"