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相加
输入
| 寄存器 | 数据 |
|---|---|
| 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 |
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP