问题—— 在8085微处理器中编写汇编语言程序,以反转16位数字。
null
例如—— 假设16位数字存储在存储器位置2050和2051。
算法-
- 加载寄存器L中存储位置2050的内容和寄存器H中存储位置2051的内容
- 移动累加器A中L的内容
- 通过执行 RLC 指令4次
- 在L中移动A的内容
- 将H的内容移动到A中
- 通过执行 RLC 指令4次
- 在H中移动L的内容
- 在L中移动A的内容
- 将L的内容存储在存储位置2050中,将H的内容存储在存储位置2051中
项目-
内存地址 | 助记符 | 议论 |
---|---|---|
2000 | LHLD 2050 | L |
2003 | 莫夫A,L | A |
2004 | RLC | 将累加器内容向左旋转1位,不带进位 |
2005 | RLC | 将累加器内容向左旋转1位,不带进位 |
2006 | RLC | 将累加器内容向左旋转1位,不带进位 |
2007 | RLC | 将累加器内容向左旋转1位,不带进位 |
2008 | MOV L,A | L |
2009 | MOV A,H | A |
200A | RLC | 将累加器内容向左旋转1位,不带进位 |
200B | RLC | 将累加器内容向左旋转1位,不带进位 |
200C | RLC | 将累加器内容向左旋转1位,不带进位 |
200D | RLC | 将累加器内容向左旋转1位,不带进位 |
200E | 莫夫H,L | H |
200F | MOV L,A | L |
2010 | SHLD 2050 | M[2050] |
2013 | HLT | 结束 |
解释—— 寄存器A、H、L用于一般用途。
- LHLD 2050: 以L和H分别加载存储单元2050和2051的内容。
- 电影A,L: 在A中移动L的内容。
- RLC: 将A的内容左移一位,不带进位。将当前指令重复4次,使A的内容颠倒。
- MOV L,A: 在洛杉矶的内容。
- MOV A,H: 在A中移动H的内容。
- RLC: 将A的内容左移一位,不带进位。将当前指令重复4次,使A的内容颠倒。
- MOV H,L: 移动H中L的内容。
- MOV L,A: 在L中移动A的内容。
- SHLD 2050: 在2050年存储L的含量,在2051年存储H的含量。
- HLT: 停止执行程序并停止任何进一步的执行。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END