问题—— 编写一个程序,使用直接寻址模式交换两个16位数字,其中起始地址为 2000 第一个16位数字存储在 3000 第二个16位数字存储在 3002 内存地址。
null
例如——
算法-
- 将16位数字从存储器3000加载到寄存器对(H-L)
- 交换寄存器对
- 将16位数字从存储器3002加载到寄存器对(H-L)
- 交换两个寄存器对
- 停止
项目-
记忆力 | 助记符 | 操作数 | 议论 |
---|---|---|---|
2000 | LHLD | [3000] | [H-L] |
2003 | XCHG | [H-L][D-E] | |
2004 | LHLD | [3002] | [H-L] |
2007 | XCHG | [H-L][D-E] | |
2008 | HLT | 停止 |
解释—— 寄存器(H-L)对(D-E)对用于一般用途。
- LHLD 用于使用16位地址(3字节指令)直接加载寄存器对H-L
- XCHG 用于交换两个寄存器对(H-L)、(D-E)的数据(1字节指令)
- HLT 用于停止程序。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END