日期:2014-05-20  浏览次数:20775 次

这些代码不知道什么意思求标注
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
:-----------------------