使用查詢表查詢數字的平方值的8085程式
現在讓我們來看一個Intel 8085微處理器的程式。這個程式主要是為了求一個數字的平方。
問題陳述
編寫8085組合語言程式,使用查詢表查詢數字的平方。
討論
在這個例子中,我們使用查詢表來查詢數字的平方。這個程式的主要限制是它只能找到0-F範圍內的平方。當輸入大於F時,它將失敗。我們將平方結果儲存到記憶體中。當數字大於F時,我們將FFH儲存到記憶體中以指示錯誤。
我們從8000H位置獲取數字,查詢表儲存在9000H位置。
查詢表如下所示。
| 數字 | 平方值 |
|---|---|
| 00 | 00 |
| 01 | 01 |
| 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 |
| . . . | . . . |
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP