统计数组BUF中正数、负数、0的个数顺序存放在变量NUM中
DATAS SEGMENT
BUF DB 5,6,1,0,-8,6,0
N=$-BUF
NUM DB 3 DUP(?)
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
MOV CX,N
MOV SI,OFFSET BUF
CYCLE:
CMP BYTE PTR [SI],0
JL A1
JZ A2
INC NUM
JMP A3
A1:
INC NUM+1
JMP A3
A2:
INC NUM+2
A3:
INC SI
LOOP CYCLE
;取消注释如下代码可以运行后看到分别看到正数,负数,0的个数
;MOV AH,2
;MOV DL,NUM
;OR DL,30H
;INT 21H
;MOV AH,2
;MOV DL,NUM+1
;OR DL,30H
;INT 21H
;MOV AH,2
;MOV DL,NUM+2
;OR DL,30H
;INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
该段汇编代码用于统计BUF数组中正数、负数和0的个数,结果分别存储在NUM变量的三个位置。程序通过CX循环计数,利用CMP、JMP指令判断并更新计数器。最后,通过INT21H调用显示结果(未启用)。
3856

被折叠的 条评论
为什么被折叠?



