这些代码意思不懂啊求大吓们具体注释下
时间:2011-12-14
来源:互联网
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
:-----------------------------------------------------------
CODE ENDS
END START
数据区待统计的数据为:
1,2,3,4,5,6,一1,一2, 一3,0,0,0
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
:-----------------------------------------------------------
CODE ENDS
END START
数据区待统计的数据为:
1,2,3,4,5,6,一1,一2, 一3,0,0,0
作者: w625256464 发布时间: 2011-12-14
汇编。。。我完了!
作者: weichen055 发布时间: 2011-12-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28