8085 微处理器中查找两个给定字节的 HCF 程序


在这里,我们将了解如何使用 8085 查找两个给定字节的 HCF 或 GCD。这些数字是 8 位数字,不超过此大小。

问题陈述

           编写一个 8085 汇编语言程序,以查找存储在内存位置 8000H 和 8001H 中的两个数字的 HCF 或 GCD。

讨论

           这里我们将使用欧几里得算法来查找 HCF。此算法非常简单。我们必须遵循以下步骤−

  • 如果第一个数字和第二个数字相同,则
    a) 转到步骤 3。

否则,如果第一个数字 < 第二个数字,则
          b) 交换 no1 和 no2。

  • 第一个数字 ← 第一个数字 – 第二个数字;转到步骤 1
  • 将结果显示为第一个数字

这些值存储在位置 8000H 和 8001H 中,结果将存储在位置 8050H 中。

输入

第一个输入

地址
数据


8000
2D
8001
69


8050
0F


 

第二个输入

地址
数据


8000
25
8001
35


8050
01


流程图

程序

地址
十六进制代码
标签
助记符
注释
F000
21, 00, 80
 
LXI H,8000H
指向第一个数字
F003
7E
 
MOV A,M
将第一个数字加载到累加器
F004
23
 
INX H  
指向下一个位置
F005
46
 
MOV B,M
加载第二个数字
F006
B8
LOOP
CMP B  
将 B 与 A 比较
F007
CA, 17, F0
 
JZ STORE  
当 A 和 B 相同时,存储结果
F00A
DA, 11, F0
 
JC EXG  
如果 B > A,则交换 B 和 A
F00D
90
 
SUB B  
如果 B < A,则从 A 中减去 B
F00E
C3, 06, F0
 
JMP LOOP
跳转到 LOOP
F011
48
EXG
MOV C,B
将 B 加载到 C
F012
47
 
MOV B,A
将 A 移动到 B
F013
79
 
MOV A,C
将 C 移动到 A
F014
C3, 06, F0
 
JMP LOOP  
跳转到 LOOP
F017
32, 50, 80
STORE
STA 8050H  
将值存储到内存中
F01A
76
 
HLT
终止程序
 
 
 
 
 
 

输出

第一个输出

地址
数据


8050
0F


 

第二个输出

地址
数据


8050
01


 

 

 

 

更新于: 2020-07-06

580 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告