- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
8085 program to search a number in an array of n numbers
In this program we will see how to search an element in an array of bytes using 8085.
Problem Statement
Write 8085 Assembly language program to search a key value in an array of data using linear search technique.
Discussion
In this program the data are stored at location 8002H to 8007H. The 8000H is containing the size of the block, and 8001H is holding the key value to search. After executing this program, it will return the address of the data where the item is found and store the address at location 9000H and9001H. If the item is not found, it will return FFFFH.
If the data is present in the memory at FFFFH, then also it will store FFFFH, so it is ambiguous condition. We are assuming that the data are not stored atFFFFH, so we have chosen that value to indicate the data is not present.
Input
Address | Data |
---|---|
... | ... |
8000 | 06 |
8001 | 55 |
8002 | 11 |
8003 | 22 |
8004 | 33 |
8005 | 44 |
8006 | 55 |
8007 | 66 |
... | ... |
Flow Diagram
Program
Address | HEX Codes | Labels | Mnemonics | Comments |
---|---|---|---|---|
F000 | 21, 00, 80 | LXI H,8000H | Point to get array size | |
F003 | 4E | MOV C, M | Get the size of array | |
F004 | 23 | INX H | Point to next location | |
F005 | 46 | MOV B, M | Get the key value to search | |
F006 | 78 | MOV A, B | Take the key into acc | |
F007 | 23 | LOOP | INX H | Point to next location |
F008 | BE | CMP M | Compare memory element with Acc | |
F009 | CA, 19, F0 | JZ FOUND | When Z flag is set, go to FOUND | |
F00C | 0D | DCR C | Decrease C by1 | |
F00D | C2, 07, F0 | JNZ LOOP | When Count is not 0, jump to LOOP | |
F010 | 21, FF, FF | LXI H, FFFF | Load FFFFHinto HL pair | |
F013 | 22, 00, 90 | SHLD 9000H | Store at9000H | |
F016 | C3, 1C, F0 | JMP DONE | Jump to DONE | |
F019 | 22, 00, 90 | FOUND | SHLD 9000H | Store at9000H |
F01C | 76 | DONE | HLT | Terminate the program |
Output
Address | Data |
---|---|
... | ... |
9000 | 06 |
9001 | 80 |
... | ... |
- Related Articles
- 8085 program to add numbers in an array
- 8086 program to determine largest number in an array of n numbers
- 8086 program to determine cubes of numbers in an array of n numbers
- 8086 program to determine squares of numbers in an array of n numbers
- 8085 Assembly language program to find largest number in an array
- 8085 Program to Add N numbers, of size 8 bits
- Program to Find the largest number in an array of data in 8085 Microprocessor
- Program to Find the smallest number in an array of data in 8085 Microprocessor
- 8085 program to find the sum of first n natural numbers
- 8085 Program to perform linear search
- Write a Golang program to search an element in an array
- Swift Program to Search an Element in an Array
- 8085 program to find smallest number between two numbers
- C# Program to search for a string in an array of strings
- Program to perform linear search in 8085 Microprocessor
