Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
Selected Reading
8085 Program to find the HCF of two given bytes
In this program we will see how to find the HCF or GCD of two numbers using 8085.
Problem Statement
Write 8085 Assembly language program to find the HCF of two numbers stored at memory location 8000H and 8001H.
Discussion
This problem is solved by the Euclidean algorithm to find HCF. This algorithm is very simple.The algorithm steps are as follows −
-
If first number and second number are same, then
- go to step 3.
Else if first number < second number, then
-
- exchange no1 andno2.
first-number <-first-number – second-number; go to step 1
Display result as first-number
The values are stored at location 8000H and 8001H, and the result will be stored at location8050H.
Input
First Input
| Address | Data |
|---|---|
| ... | ... |
| 8000 | 2D |
| 8001 | 69 |
| ... | ... |
| 8050 | 0F |
| ... | ... |
Second Input
| Address | Data |
|---|---|
| ... | ... |
| 8000 | 25 |
| 8001 | 35 |
| ... | ... |
| 8050 | 01 |
| ... | ... |
Flow Diagram

Program
| Address | HEXCodes | Labels | Mnemonics | Comments |
|---|---|---|---|---|
| F000 | 21, 00, 80 | LXI H,8000H | Point to the first number | |
| F003 | 7E | MOV A, M | Load the first number into Acc | |
| F004 | 23 | INX H | Point to next location | |
| F005 | 46 | MOV B, M | Load the second number | |
| F006 | B8 | LOOP | CMP B | Compare B with A |
| F007 | CA, 17, F0 | JZ STORE | When A and Bare same, store the result | |
| F00A | DA, 11, F0 | JC EXG | If B > A, then exchange B and A | |
| F00D | 90 | SUB B | if B < A,subtract B from A | |
| F00E | C3, 06, F0 | JMP LOOP | Jump to LOOP | |
| F011 | 48 | EXG | MOV C,B | Load C with B |
| F012 | 47 | MOV B, A | Move A to B | |
| F013 | 79 | MOV A, C | Move C to A | |
| F014 | C3, 06, F0 | JMP LOOP | Jump to LOOP | |
| F017 | 32, 50, 80 | STORE | STA 8050H | Store the value into memory |
| F01A | 76 | HLT | Terminate the program |
Output
First Output
| Address | Data |
|---|---|
| ... | ... |
| 8050 | 0F |
| ... | ... |
Second Output
| Address | Data |
|---|---|
| ... | ... |
| 8050 | 01 |
| ... | ... |
Advertisements
