8085程序:累加存储在寄存器中的三个16位数
在这个程序中,我们将学习如何将存储在寄存器对中的三个16位数相加。
问题陈述
编写8085汇编语言程序,将存储在寄存器对BC、DE和HL中的三个16位数相加。将结果存储在DE寄存器对中。
讨论
在这个程序中,我们将16位数存储到BC、DE和HL寄存器对中。我们有DAD D指令,它可以将HL和DE寄存器对相加,并将结果存储到HL寄存器对中。之后将BC复制到DE,然后再次执行DAD D进行相加。最后使用XCHG指令将结果存储到DE寄存器对中。
这里我们将0502H + 1211H + 2133H = 3846H相加
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
输入
寄存器 | 数据 |
---|---|
BC | 0502 |
DE | 1211 |
HL | 2133 |
流程图
程序
地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
---|---|---|---|---|
F000 | 01, 02, 05 | | LXI B,0502H | |
F003 | 11, 11, 12 | | LXI D,1211H | |
F006 | 21, 33, 21 | | LXI H,2133H | |
F009 | 19 | | DAD D | 将DE和HL相加,结果存储到HL |
F00A | 50 | | MOV D,B | 将B复制到D |
F00B | 59 | | MOV E,C | 将C复制到E |
F00C | 19 | | DAD D | 将DE和HL(实际上是BC)相加,结果存储到HL |
F00D | EB | | XCHG | 交换DE和HL |
F00E | 76 | | HLT | 结束程序 |
输出
寄存器 | 数据 |
---|---|
DE | 3846 |
广告