8085程序:在数据字段中交替显示00和FF
现在让我们来看一个Intel 8085微处理器的程序。在这个程序中,我们将交替生成00H和FFH。
问题陈述:
编写8085汇编语言程序,交替生成00H和FFH。
讨论:
00H和FFH每秒交替变化。所以我们需要一秒钟的延迟。我们创建了一个延迟子程序来生成1秒的延迟。
注意:这里为了简单起见,我们将数字存储到内存中。为了显示数字,我们可以使用7段显示器和其他显示功能将其显示在显示器上。
输入:
这里我们没有提供任何输入。
流程图:

程序:
| 地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
|---|---|---|---|---|
| F000 | AF | LOOP | XRA A | 清零A寄存器 |
| F001 | 32, 50, 80 | STA 8050H | 将00H存储到8050H | |
| F004 | CD, 11, F0 | CALL DELAY | 等待1秒 | |
| F007 | 3D | DCR A | 递减A以获得FFH | |
| F008 | 32, 50, 80 | STA 8050H | 将FFH存储到8050H | |
| F00B | CD, 11, F0 | CALL DELAY | 等待1秒 | |
| F00E | C3, 00, F0 | JMP LOOP | 跳转到LOOP | |
| F011 | 0E, 02 | DELAY | MVI C,02H | 将计数器初始化为02H |
| F014 | 11, FF, FF | L1 | LXI D,FFFFH | 将FFFFH加载到DE |
| F016 | 1B | L2 | DCX D | 递减DE |
| F017 | 7A | MOV A,D | 将D移动到A | |
| F018 | B3 | ORA E | A和E进行或运算 | |
| F019 | C2, 16, F0 | JNZ L2 | 如果Z=0,跳转到L2 | |
| F01C | 0D | DCR C | C减1 | |
| F01D | C2, 13, F0 | JNZ L1 | 如果Z=0,跳转到L1 | |
| F020 | C9 | RET | 子程序返回 |
输出:
数字存储在内存位置8000H中。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP