8085程式:反轉16位數
在本程式中,我們將學習如何使用8085反轉16位數的數字。
問題陳述
編寫8085組合語言程式,反轉儲存在8000H-8001H位置的16位數。並將結果儲存在8050H-8051H。
討論
這裡的任務很簡單。8085中有一些旋轉指令。RRC、RLC分別用於將累加器內容向右和向左旋轉,不帶進位。我們可以使用RRC或RLC來執行此任務。在最終結果中,H和L的每一位都反轉了,H和L的值也反轉了。因此完成了全部反轉操作。
輸入
| 地址 | 資料 |
|---|---|
| … | … |
| 8000 | AB |
| 8001 | CD |
| … | … |
流程圖

程式
| 地址 | 十六進位制程式碼 | 標籤 | 助記符 | 註釋 |
|---|---|---|---|---|
| F000 | 2A, 00, 80 | | LHLD 8000H | 將數字放入HL暫存器對 |
| F003 | 7D | | MOV A,L | 將L載入到A |
| F004 | 0F | | RRC | 向右旋轉四次,不帶進位 |
| F005 | 0F | | RRC | |
| F006 | 0F | | RRC | |
| F007 | 0F | | RRC | |
| F008 | 6F | | MOV L,A | 將反轉後的數字再次儲存到L |
| F009 | 7C | | MOV A,H | 將H載入到A |
| F00A | 0F | | RRC | 向右旋轉四次,不帶進位 |
| F00B | 0F | | RRC | |
| F00C | 0F | | RRC | |
| F00D | 0F | | RRC | |
| F00E | 65 | | MOV H,L | 將L的值賦給H |
| F00F | 6F | | MOV L,A | 將反轉後的數字儲存到L |
| F010 | 22, 50, 80 | | SHLD 8050H | 將結果儲存到記憶體 |
| F013 | 76 | | HLT | 終止程式 |
輸出
| 地址 | 資料 |
|---|---|
| … | … |
| 8050 | DC |
| 8051 | BA |
| … | … |
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP