存储器中有N字数组Array,统计其中正数,负数和零的个数,并分别存放在DI,SI,AX寄存器中的程序,有点问题,望高手指教!谢谢!
这是我自己写的一个在存储器中有N字数组Array,统计其中正数,负数和零的个数,并分别存放在DI,SI,AX寄存器中的程序,程序倒是可以运行,但运行结果有问题,希望大家可以帮我看一下!data segment
Array DW -1,3,0,1,-4,2,0,-5,6,8
Zhengshu DW ?
Fushu DW ?
Ling DW ?
pkey db "press any key...$"
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax, data
mov ds, ax
mov es, ax
XOR DI,DI
XOR SI,SI
XOR AX,AX
LEA BX,Array
LOP:
MOV AL,[BX]
CMP AL,00H
JZ END3
JA END2
INC SI
ADD Fushu,SI
ADD BX,Array
JMP LOP
END2:
INC DI
ADD Zhengshu,DI
ADD BX,Array
JMP LOP
END3:
INC AX
ADD Ling,AX
ADD BX,Array
JMP LOP
lea dx, pkey
mov ah, 9
int 21h ; output string at ds:dx
; wait for any key....
mov ah, 1
int 21h
mov ax, 4c00h ; exit to operating system.
int 21h
ends
end start ; set entry point and stop the assembler.