8085微處理器中兩個8位數的除法程式
這裡我們將看到一個8085程式。這個程式將使用8085微處理器將兩個8位數相除。
問題陳述 −
編寫一個8085組合語言程式,將兩個8位數相除,並將結果儲存在8020H和8021H位置。
討論 −
8085沒有除法運算。要得到除法的結果,我們應該使用重複減法的方法。
使用此程式,我們將得到商和餘數。8020H將儲存商,8021H將儲存餘數。
我們將資料儲存在8000H和8001H位置。結果儲存在8050H和8051H位置。
輸入
被除數:0EH
除數:04H
商將為3,餘數將為2
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 指令 | 註釋 |
|---|---|---|---|---|
| F000 | 21, 0E, 00 | START | LXI H,0CH | 將8位被除數載入到HL暫存器對中 |
| F003 | 06, 04 | MVI B,04H | 將除數載入到B中以執行num1 / num2 | |
| F005 | 0E, 08 | MVI C, 08 | 初始化計數器 | |
| F007 | 29 | UP | DAD H | 左移1位 HL = HL + HL |
| F008 | 7C | MOV A, H | 將H載入到A中 | |
| F009 | 90 | SUB B | 執行 A = A – B | |
| F00A | DA, 0F, F0 | JC DOWN | 如果MSB<除數,則左移 | |
| F00D | 67 | MOV H,A | 如果MSB>除數,則將A的當前值儲存到H中 | |
| F00E | 2C | INR L | 跟蹤商 | |
| F00F | 0D | DOWN | DCR C | 遞減計數器 |
| F010 | C2, 07, F0 | JNZ UP | 如果未耗盡,則再次執行 | |
| F013 | 22, 20, 80 | SHLD 8020 | 將結果儲存在8020 H中 | |
| F016 | 76 | HLT | 停止 |
輸出
| 地址 | 資料 |
|---|---|
| … | … |
| 8020 | 03 |
| 8021 | 02 |
| … | … |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP