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