STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
DATA SEGMENT
BUF DB 8,10,-5,100,-7,25,40,0,3
N=$-BUF
COUNT DW 0 ;>0
COUNT1 DW 0 ;=0
COUNT2 DW 0 ;<0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
BEGIN: MOV AX,DATA
MOV DS,AX
LEA BX,BUF
MOV CX,N
MOV AX,0
AGAIN: CMP BYTE PTR[BX],0
JLE CLE
MOV AX,COUNT
INC AX
MOV COUNT,AX
JMP NEXT
CLE: JZ CEZ
MOV AX,COUNT2
INC AX
MOV COUNT2,AX
JMP NEXT
CEZ: MOV AX,COUNT1
INC AX
MOV COUNT1,AX
NEXT: INC BX
DEC CX
JNZ AGAIN
MOV AH,4CH
INT 21H
CODE ENDS
END BEGIN
本文介绍了一段使用汇编语言处理数组的程序示例,该程序遍历数组并统计正数、负数及零的数量。通过对数组元素进行比较,递增相应的计数器来实现这一功能。
25





