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 次瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告