Program to find the HCF of two given bytes in 8085 Microprocessor

8085MicrocontrollerMicroprocessor

Here we will see how to find the HCF or GCD of two given bytes using 8085. The numbers are 8-bit numbers, nor larger than that.

Problem Statement

            Write an 8085 Assembly language program to find the HCF or GCD of two numbers stored at memory location 8000H and 8001H.

Discussion

            Here we will use the Euclidean algorithm to find HCF. This algorithm is very simple. We have to follow these steps−

  • If first number and second number are same, then
    a) go to step 3.

Else if first number < second number, the
          b) exchange no1 and no2.

  • 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 location 8050H.

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
HEX Codes
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 B are 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


 

 

 

 

raja
Published on 04-Oct-2019 14:59:04
Advertisements