8085 微处理器数据字段中交替显示 00 和 FF 的程序
这里我们将看到一个 8085 微处理器程序。这个程序将交替生成 00H 和 FFH。
问题陈述 −
编写一个可以交替生成 00H 和 FFH 的 8085 汇编语言程序。
讨论 −
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