使用查詢表查詢數字的平方值的8085程式


現在讓我們來看一個Intel 8085微處理器的程式。這個程式主要是為了求一個數字的平方。

問題陳述

編寫8085組合語言程式,使用查詢表查詢數字的平方。

討論

在這個例子中,我們使用查詢表來查詢數字的平方。這個程式的主要限制是它只能找到0-F範圍內的平方。當輸入大於F時,它將失敗。我們將平方結果儲存到記憶體中。當數字大於F時,我們將FFH儲存到記憶體中以指示錯誤。

我們從8000H位置獲取數字,查詢表儲存在9000H位置。

查詢表如下所示。

數字平方值
0000
0101
02
04
03
09
04
10
05
19
06
24
07
31
08
40
09
51
0A
64
0B
79
0C
90
0D
A9
0E
C4
0F
E1

輸入

第一個輸入

地址
資料
.
.
.
.
.
.
8000
06
.
.
.
.
.
.

第二個輸入

地址
資料
.
.
.
.
.
.
8000
0C
.
.
.
.
.
.

第三個輸入

地址
資料
.
.
.
.
.
.
8000
25
.
.
.
.
.
.

流程圖

程式

地址
十六進位制程式碼
標籤
助記符
註釋
F000
21,00, 90

LXIH, 9000H
指向查詢表地址
F003
3A,00, 80

LDA 8000H
獲取資料
F006
FE,0F

CPI 0FH
檢查輸入是否> 15D
F008
DA,13, F0

JC AFTER
檢查數字是否大於0A
F00B
3E, FF

MVIA, FFH
將FFH載入到A
F00D
32,50, 80

STA 8050H
為大於15D的數字儲存FFH
F010
C3,1B, F0

JMP DONE
結束程式
F013
4F
AFTER
MOVC, A
新增所需的地址
F014
06,00

MVIB,00H
清除暫存器B
F016
09

DAD B
將BC與HL對相加
F017
7E

MOVA, M
從查詢表中獲取結果
F018
32,50, 80

STA 8050H
儲存結果
F01B
76
DONE
HLT
終止程式

輸出

第一個輸出

地址
資料
.
.
.
.
.
.
8050
24
.
.
.
.
.
.

第二個輸出

地址
資料
.
.
.
.
.
.
8050
90
.
.
.
.
.
.

第三個輸出

地址
資料
.
.
.
.
.
.
8050
FF
.
.
.
.
.
.

更新於: 2020年6月26日

4K+瀏覽量

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.