8085程序交换两个8位数
在本程序中,我们将了解如何交换两个数字。
问题陈述
编写8085汇编语言程序,交换存储在8000H和8001H位置的两个8位数。
讨论
在8085中,有一个指令XCHG。使用它,我们可以交换DE和HL的值。我们将数字存储到H和D中,然后使用XCHG交换内容。
输入
地址 | 数据 |
---|---|
. . . | . . . |
8000 | CD |
8001 | 34 |
. . . | . . . |
流程图
程序
地址 | 十六进制代码 | 助记符 | 注释 |
---|---|---|---|
F000 | 3A, 00, 80 | LDA 8000H | 将第一个数字加载到A中 |
F003 | 67 | MOV H, A | 将数字存储到H中 |
F004 | 3A, 01, 80 | LDA 8001H | 将第二个数字加载到A中 |
F007 | 57 | MOV D, A | 将数字存储到D中 |
F008 | EB | XCHG | 交换DE和HL |
F009 | 7C | MOV A, H | 将H的内容取到A中 |
F00A | 32, 00, 80 | STA 8000H | 交换后存储第一个数字 |
F00D | 7A | MOV A, D | 将D的内容取到A中 |
F00E | 32, 01, 80 | STA 8001H | 交换后存储第二个数字 |
F011 | 76 | HLT | 终止程序 |
输出
地址 | 数据 |
---|---|
. . . | . . . |
8000 | 34 |
8001 | CD |
. . . | . . . |
广告