8085程式查詢數字的n次冪
在本程式中,我們將瞭解如何查詢數字的n次冪。
問題陳述
編寫8085組合語言程式以查詢數字的n次冪。底數儲存在8000H位置,指數儲存在8001H。將結果儲存在8002H。
討論
在8085中,我們不能直接執行乘法運算。這裡我們正在編寫一個子程式,透過重複加法來執行乘法。要執行數字的n次冪,我們必須將數字乘以n次。n值用作計數器。如果底數為03H,指數為05H,則結果為F3H (243D)
輸入
| 地址 | 資料 |
|---|---|
| … | … |
| 8000 | 03 |
| 8001 | 05 |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | 21, 00, 80 | | LXI H,8000H | 初始化HL對 |
| F003 | 46 | | MOV B,M | 將底數取到B |
| F004 | 23 | | INX H | 指向下一個位置 |
| F005 | 4E | | MOV C,M | 將指數取到C |
| F006 | 16, 01 | | MVI D, 01H | 用01H初始化D |
| F008 | CD, 12, F0 | LOOP | CALL MUL | 呼叫子程式進行乘法 |
| F00B | 0D | | DCR C | 將C減1 |
| F00C | C2, 08, F0 | | JNZ LOOP | 跳轉到Loop |
| F00F | 23 | | INX H | 指向下一個位置 |
| F010 | 72 | | MOV M,D | 將D儲存到記憶體中 |
| F011 | 76 | | HLT | 終止程式 |
| F012 | 58 | MUL | MOV E,B | 將B載入到E |
| F013 | AF | | XRA A | 清除累加器以儲存結果 |
| F014 | 82 | ML | ADD D | 將D加到A |
| F015 | 1D | | DCR E | 遞減E |
| F016 | C2, 12, F0 | | JNZ ML | 如果Z = 0,則跳轉到ML |
| F019 | 57 | | MOV D,A | 將A的內容傳輸到D |
| F01A | C9 | | RET | 返回結果 |
輸出
| 地址 | 資料 |
|---|---|
| 8002 | F3 |
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP