汇编语言问题 判断BUF中的数是正数,负数,还是0,并分别统计它们的个数

问题描述:

汇编语言问题 判断BUF中的数是正数,负数,还是0,并分别统计它们的个数
判断BUF中的数是正数,负数,还是0,并分别统计它们的个数
DATA SEGMENT
BUF DB 1,-1,-2,-3,-0
A DB 0
B DB 0
D DB 0
N EQU 5
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA BX,BUF
MOV A,0
MOV B,0
MOV D,0
MOV CX,N
L0:MOV AX,[BX]
CMP AX,0
JL L1
CMP AX,0
JG L2
CMP AX,0
JZ L3
JMP NEXT
L1:INC A
JMP NEXT
L2:INC B
JMP NEXT
L3:INC D
NEXT:ADD BX,1
LOOP L0
MOV AH,4CH
INT 21H
CODE ENDS
END START
各位大神为什么执行完的结果计数时把0当成了正数

MOV AX,[BX]
CMP AX,0
JL L1
CMP AX,0
JG L2
CMP AX,0
JZ L3
把ax改成al试试.