8085程序用于统计小于0A的元素个数
在本节中,我们将使用8085统计小于0AH的元素个数。
问题陈述
存在一个包含一些元素的数组。编写8085汇编语言程序,统计小于0AH的元素个数。
讨论
数组从F051H开始存储。F050存储数组的大小。逻辑很简单。首先,我们将数组大小加载到B寄存器中。C寄存器将统计小于0AH的元素个数。我们将从内存中逐个读取数字,然后将其与0A进行比较。如果CY标志被置位,则表示累加器中存储的值较小,因此将C加1,否则忽略它。
输入
| 地址 | 数据 |
|---|---|
| F050 | FE |
| F051 | 02 |
| F052 | 07 |
| F053 | A5 |
| F054 | 48 |
| F055 | 08 |
流程图

程序
| 地址 | 十六进制代码 | 标签 | 助记符 | 注释 |
|---|---|---|---|---|
| 8000 | 21, 50, F0 | | LXI H,F050 | 指向内存位置F050 |
| 8003 | 46 | | MOV B,M | 将数组大小加载到B寄存器 |
| 8004 | 0E, 00 | | MVI C,00H | 清零C寄存器,用于计数 |
| 8006 | 23 | LOOP | INX H | 指向数组的第一个元素 |
| 8007 | 7E | | MOV A,M | 将内存元素加载到累加器 |
| 8008 | FE, 0A | | CPI 0AH | 比较累加器和0AH |
| 800A | D2, 0E, 80 | | JNC SKIP | 如果数字较大,则跳过 |
| 800D | 0C | | INR C | 将C加1 |
| 800E | 05 | SKIP | DCR B | 将B减1 |
| 800F | C2, 06, 80 | | JNZ LOOP | 如果数组未完成,则跳转到Loop |
| 8012 | 79 | | MOV A,C | 将C中的数字移动到A |
| 8013 | 32, 50, 51 | | STA F150 | 将结果存储在F150H |
| 8016 | 76 | | HLT | 终止程序。 |
输出
| 地址 | 数据 |
|---|---|
| F150 | 03 |
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP