统计一组有符号字节数据2,-1,56,-38,4,20,15,32,18中大于0且小于20的数据个数,并保存到CONNUM字节变量单元中,然后再显示到屏幕上。
时间: 2023-12-03 22:03:48 浏览: 27
好的,我可以为你提供一份使用汇编语言实现的程序,用于统计这组数据中大于0且小于20的数据个数并将其保存到CONNUM字节变量单元中。
```
DATA SEGMENT
DATA DB 2, -1, 56, -38, 4, 20, 15, 32, 18
CONNUM DB ?
DATA ENDS
CODE SEGMENT
START:
MOV AX, DATA
MOV DS, AX
MOV CX, 9
MOV BL, 0
MOV CONNUM, 0
L1:
MOV AL, DATA[SI]
CMP AL, 0
JLE L2
CMP AL, 20
JGE L2
INC CONNUM
L2:
INC SI
LOOP L1
MOV AH, 09H
MOV DX, OFFSET MSG1
INT 21H
MOV AH, 02H
MOV DL, CONNUM
ADD DL, 48
INT 21H
MOV AH, 4CH
INT 21H
MSG1 DB 'Number of data between 0 and 20: $'
CODE ENDS
END START
```
在这个程序中,我们定义了一个名为DATA的数据段,其中包含了题目中给定的一组数据。我们还定义了一个名为CONNUM的字节变量单元,用于存储大于0且小于20的数据个数。
在代码段中,我们首先将数据段的地址加载到AX寄存器中,并将DS寄存器设置为这个地址。然后,我们使用CX寄存器来迭代遍历DATA数据段中的每个元素。对于每个元素,我们使用AL寄存器进行比较,如果它大于0且小于20,则将CONNUM加1。最后,我们使用INT 21H中断来将结果输出到屏幕上。
注意,这个程序是用8086汇编语言编写的,如果你在其他平台上运行,可能需要进行一些修改。
相关推荐
![java](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)