【正确答案】DATA SEGMENT
ARRAY DB 12H,89H,98H,34H……
A DB 20 DUP(?)
B DB 20 DUP(?)
N1 DB 0
N2 DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET ARRAY
LEA SI,A
LEA DI,B
MOV CX,20
NEXT: MOV AL,[BX]
AND AL,80H
JNS A1 ;是正数,转到A1
INC N2 ;是负数,负数个数加1
MOV [DI],AL ;负数存于B处
INC DI
JMP LOP
A1: MOV [SI],AL ;正数存于A处
INC SI
INC N1
LOP: INC BX
LOOP NEXT
MOV AL,N1 ;显示正数的个数
CALL ABC
MOV DL,OAH ;回车
MOV AH,02H
INT 21H
MOV DL,0DH
INT 21H
MOV AL,N2 ;显示负数的个数
CALL ABC
MOV AH,4CH
INT 21H
ABC PROC
CBW
MOV BL,10
DIV BL
MOV DH,AH
MOV DL,AL
ADD DL,30H
MOV AH,02H
INT 21H
MOV DL,DH
ADD DL,30H
INT 21H
RET
ABC ENDP
CODE ENDS
END START
【答案解析】