汇编语言编程:统计以下数组中大于100的整数的个数,并打印输出。 Array1 DB 27,240,180,120,67,48,30,”$”
时间: 2024-01-09 10:05:12 浏览: 63
汇编语言写一个过程statA,该过程统计一个数组(数组中元素为双字长)中有多少正整数,该过程有两个参数传递。
好的,以下是汇编语言程序的代码:
```
DATA SEGMENT
Array1 DB 27,240,180,120,67,48,30,”$”
count DB 0 ; 用于存储大于100的整数个数
DATA ENDS
CODE SEGMENT
START:
MOV AX, DATA ; 初始化数据段寄存器
MOV DS, AX
MOV CX, 7 ; 数组长度为7,所以循环7次
MOV SI, 0 ; 数组索引从0开始
LOOP1:
MOV AL, Array1[SI] ; 取出数组元素
CMP AL, 100 ; 比较是否大于100
JBE NOT_LARGER ; 如果小于等于100,跳过
INC count ; 如果大于100,计数器加1
NOT_LARGER:
INC SI ; 数组索引加1
LOOP LOOP1 ; 循环
; 打印输出结果
MOV DL, count
ADD DL, 30H ; 转换成ASCII码
MOV AH, 02H
MOV DL, ' '
INT 21H
MOV DL, '>'
INT 21H
MOV AH, 02H
INT 21H
MOV AH, 02H
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END START
```
程序运行后,会输出大于100的整数的个数。具体实现过程如下:
- 首先,将数组存储在数据段中,并初始化一个计数器 count 为 0。
- 使用循环指令遍历数组,将每个数组元素与 100 进行比较。如果大于 100,则计数器 count 加 1。
- 最后,将计数器 count 转换为 ASCII 码并输出。
注意:这段代码是基于 DOS 环境下的汇编语言程序,可能需要在 DOSBox 等模拟器环境下运行。
阅读全文