这些代码不知道什么意思求标注
DATA SEGMENT
ARRAY DB 1,2,3,4,5,6,一1,一2,一3,0,0,0
LENG EQU $-ARRAY;数组长度
POSI DB?:正数个数
NEGT DB?:负数个数
ZERO DB?:零的个数
POSIEVEN DB?:正偶数
POSIODD DB?:正奇数
NEGTEVEN DB?:负偶数
NEGTODD DB?:负奇数
:用于打印提示的字符串定义
POSICHAR DB 'Positive:$’
NEGTCHAR DB 'Negtive:$’
ZEROCHAR DB 'Zero:$’
EVENCHAR DB' Even:$’
ODDCHAR DB' Odd:$’
CR DB ODH,OAH,'$';回车换行的ASCII码
DATA ENDS
: ---------------------
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
: -------------------------------------------------------
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET ARRAY-1
MOV CL,LENG:数组长度赋予CL
MOV AL,O
LOP: CMP CL,O;循环控制条件:数组长度减为零
JE CALC:为零则跳出
INC Sl
DEC CL
MOV BL,[SI】I采用基址加变址寻址
CMP BL,AL;和零比较
JG ISPOSI:是正数跳转
JE ISZERO;是零跳转
JL ISNEGT;是负数跳转
: ---------------------------------------------------
ISPOSI: INC POSI:正数个数加一
AND BX.1
ADD POSIEVEN,BL;和1与之后的结果加到正偶数中
JMP LOP
ISZERO: INC ZERO
JMP LOP
ISNEGT: INC NEGT:负数个数加一
AND BX.1
ADD NEGTEVEN,BL;和1与之后结果加到负偶数中
JMP LOP
:-------------------------------------------------------
CALC: MOV AH,POSI
MOV AL,POSIEVEN
SUB AH,AL;计算正奇数个数
MOV POSIODD,AH
MOV AH,NEGT
MOV AL,NEGTEVEN
SUB AH,AL;计算负奇数个数
MOV NEGTODD,AH
: ----------------------------------------------------
PRINT::打印正数提示符和正数(奇偶)个数
MOV AH,09H
MOV DX,OFFSET POSICHAR
INT 21H
MOV AH,02H
MOV DL,POSI
ADD DL,30H
INT 21H
MOV AH,09H
MOV DX,OFFSET EVENCHAR
INT 21H
MOV AH,02H
MOV DL,POSIEVEN
ADD DL,30H
INT 21H
MOV AH,09H
MOV DX,OFFSET ODDCHAR
INT 21H
MOV AH,02H
MOV DL,POSIODD
ADD DL,30H
INT 21H
MOV DX,OFFSET CR
MOV AH,09H
INT 21H
: --------------------------------------------------
:打印负数提示符和负数(奇偶)个数
MOV AH,09H
MOV DX,OFFSET NEGTCHAR
INT 21H
MOV AH,02H
MOV DL,NEGT
ADD DL,30H
INT 21H
MOV AH,09H
MOV DX,OFFSET EVENCHAR
INT 21H
MOV AH,02H
MOV DL,NEGTEVEN
ADD DL,30H
INT 21H
MOV AH,09H
MOV DX,OFFSET ODDCHAR
INT 21H
MOV AH,02H
MOV DL,NEGTODD
ADD DL,30H
INT 21H
MOV DX,OFFSET CR
MOV AH,09H
INT 21H
MOV AH,09H
MOV DX,OFFSET ZEROCHAR
INT 21H
MOV AH,02H
MOV DL,ZERO
ADD DL,30H
INT 21H
EXT: MOV AX,4COOH
INT 21H
:-----------------------