8085程序查找一系列偶数的和
在这个程序中,我们将学习如何查找所有偶数的和。
问题陈述
编写 8085 汇编语言程序以查找存储在数组中的所有偶数的和。数组的大小存储在位置 F100;数字从内存位置 F101 开始存储。结果将存储在 F150 中。
讨论
要检查一个数字是奇数还是偶数,我们可以进行 AND 操作。如果一个数字是奇数,那么它将包含 1 作为最低有效位,对于偶数,最低有效位将为 0。因此,在 AND 操作后,如果结果为 0,则它是偶数。通过使用循环,我们仅在数字为偶数时才添加数字。
输入
| 地址 | 数据 |
|---|---|
. . . | . . . |
| F100 | 08 |
| F101 | 0C |
| F102 | 0F |
| F103 | 0A |
| F104 | 0B |
| F105 | 02 |
| F106 | 03 |
| F107 | 05 |
| F108 | 08 |
. . . | . . . |
流程图

程序
| 地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
|---|---|---|---|---|
| F000 | 3A, 00, F1 | | LDA F100 | 将元素数量加载到 A 中 |
| F003 | 4F | | MOV C,A | 加载计数器 |
| F004 | 06, 00 | | MVI B,00 | 清除 B 以存储总和 |
| F006 | 21, 01, F1 | | LXI H,F101 | 初始化指针以获取数字 |
| F009 | 7E | LOOP | MOV A,M | 从内存中获取数字 |
| F00A | E6, 01 | | ANI 01 | 掩码位以检查是偶数还是奇数 |
| F00C | C2, 12, F0 | | JNZ SKIP | 如果它不为零,则跳过它 |
| F00F | 78 | | MOV A,B | 将 B 加载到 A 中 |
| F010 | 86 | | ADD M | 将 A 和内存元素相加 |
| F011 | 47 | | MOV B,A | 将 A 存储到 B 中 |
| F012 | 23 | SKIP | INX H | 指向下一个位置 |
| F013 | 0D | | DCR C | 减少计数器 |
| F014 | C2, 09, F0 | | JNZ LOOP | 直到 Z = 1,跳转到 LOOP |
| F017 | 32, 50, F1 | | STA F150 | 存储结果 |
| F020 | 76 | | HLT | 终止程序 |
输出
| 地址 | 数据 |
|---|---|
. . . | . . . |
| F150 | 20 |
. . . | . . . |
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP