8085微处理器中两个8位数的加法程序
在这里,我们将看到一个8085汇编语言程序。在这个程序中,我们将看到如何添加两个8位数字。
问题陈述−
编写一个8085汇编语言程序,将两个8位数相加,并将结果存储在8050H和8051H位置。
讨论−
为了执行此任务,我们使用8085微处理器的ADD操作。当加法的结果为1字节时,进位标志不会启用。当结果超过1字节范围时,进位标志将为1。
我们使用8000H和8001H位置的两个数字。当数字为6CH和24H时,结果将为(6C + 24 = 90),当数字为FCH和2FH时,结果将为(FC + 2F = 12B)。这里的结果超过了1字节的范围。
输入
第一个输入
地址 | 数据 |
---|---|
… | … |
8000 | 6C |
8001 | 24 |
… | … |
第二个输入
地址 | 数据 |
---|---|
… | … |
8000 | FC |
8001 | 2F |
… | … |
流程图
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
程序
地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
---|---|---|---|---|
F000 | 0E, 00 | MVI C,00H | 清除C寄存器 | |
F002 | 21, 00, 80 | LXI H,8000H | 加载初始地址以获取操作数 | |
F005 | 7E | MOV A,M | 将内存单元加载到累加器A | |
F006 | 23 | INX H | 指向下一个位置 | |
F007 | 46 | MOV B,M | 将第二个操作数加载到B | |
F008 | 80 | ADD B | 将B与A相加 | |
F009 | D2, 0D, F0 | JNC STORE | 当CY = 0时,跳转到STORE | |
F00C | 0C | INR C | 将C加1 | |
F00D | 21, 50, 80 | STORE | LXI H,8050H | 加载目标地址 |
F010 | 77 | MOV M,A | 存储结果 | |
F011 | 23 | INX H | 指向下一个位置 | |
F012 | 71 | MOV M,C | 存储进位 | |
F013 | 76 | HLT | 结束程序 |
输出
第一个输出
地址 | 数据 |
---|---|
… | … |
8050 | 90 |
8051 | 00 |
… | … |
第二个输出
地址 | 数据 |
---|---|
… | … |
8050 | 2B |
8051 | 01 |
… | … |
广告