第1个回答 2012-11-06
以前编写过这样的程序,稍稍改了改,就适合于楼主的要求了。
下面的程序已经经过测试,符合要求。
DATA SEGMENT
TABLE DB 0, -19, 27, 44, 93, -38, 0, 85, 120, 32
;存放了10个带符号数,要求统计其中正数、负数和零的个数,
PLUS DB ?
NEGT DB ?
ZERO DB ?
DATA ENDS
;--------------------------------------------
CODE SEGMENT
ASSUME CS:CODE, DS:DATA
START:
MOV AX, DATA
MOV DS, AX
;-----------------------------
MOV PLUS, 0
MOV NEGT, 0
MOV ZERO, 0
;-----------------------
LEA SI, TABLE
MOV CX, 10
AGAIN:
MOV AL, [SI]
SUB AL, 0
JE X3
JS X2
INC PLUS
JMP NEXT
X2:
INC NEGT
JMP NEXT
X3:
INC ZERO
NEXT:
INC SI
LOOP AGAIN
;-----------------------------
MOV AH, 4CH
INT 21H
CODE ENDS
;--------------------------------------------
END START
程序的结果,要用DEBUG来观看。