8085程序模拟十进制向上计数器
现在让我们来看一个Intel 8085微处理器的程序。在这个程序中,我们将看到如何模拟十进制向上计数器。
问题陈述:
编写8085汇编语言程序来模拟十进制向上计数器。
讨论:
在本节中,我们正在模拟十进制向上计数器。在这里,计数器将从0到99计数100个十进制数字。所有值都将在每0.5秒更新一次。对于十进制计数,我们使用DAA指令。
注意:这里为简单起见,我们将数字存储到内存中。为了像计数器一样模拟它,我们可以使用7段显示器来显示数字
输入:
这里我们没有提供任何输入。
流程图:
程序:
地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
---|---|---|---|---|
F000 | AF | XRA A | 用00H初始化A | |
F001 | 32, 00, 80 | LOOP | STA 8000H | 将A存储到8000H |
F004 | CD, 10, F0 | CALL DELAY | 等待0.5秒 | |
F007 | 3A, 00, 80 | LDA 8000H | 从8000H取回数据 | |
F00A | C6, 01 | ADI 01H | 将01H与数字相加 | |
F00C | 27 | DAA | 十进制调整 | |
F00D | C3, 01, F0 | JMP LOOP | 跳转到LOOP | |
F010 | 01, FF, FF | DELAY | LXI B,FFFFH | 将BC寄存器对初始化为FFFFH |
F013 | 0B | L1 | DCX B | 减少BC |
F014 | 78 | MOV A,B | 将B移到A | |
F015 | B1 | ORA C | C或E | |
F016 | C2, 13, F0 | JNZ L1 | 如果Z = 0,则跳转到L1 | |
F014 | C9 | RET | 从子程序返回 |
输出:
数字存储在内存位置8000H中。
广告