题目:
统计一个10人班的男女生人数,统计结果男生人数存入变量MAN,女生WOMAN。其中输入时用1表示男生,女生0,其他输入无效!
参考代码:
DATA SEGMENT
MAN DB ?
WOMAN DB ?
COUNT EQU 10
MSG1 DB 0DH,0AH,'MAN OR WOMEN 1/0?','$'
MSG2 DB 0DH,0AH,'MAN:','$'
MSG3 DB 0DH,0AH,'WOMEN:','$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,COUNT
L0: LEA BX,MSG1
L1: MOV DL,[BX] ;循环开始,输出提示
INC BX
CMP DL,'$'
JZ L2
MOV AH,2
INT 21H
JMP L1
L2: MOV AH,1
INT 21H
CMP AL,'1' ;男跳转
JZ LM
CMP AL,'0' ;女跳转
JZ LW
JMP L0
LM: INC MAN ;男增
JMP LN
LW: INC WOMAN ;女增
JMP LN
LN: LOOP L0 ;循环
LEA BX,MSG2
L3: MOV DL,[BX] ;输出男,先输提示后输数量,数要经过相应ASCII码转换,其中大于9的数字要进行额外的加7处理(女同)
INC BX
CMP DL,'$'
JZ L4
MOV AH,2
INT 21H
JMP L3
L4: MOV DL,MAN
ADD DL,30H
MOV AH,2
INT 21H
LEA BX,MSG3
L5: MOV DL,[BX] ;输出女
INC BX
CMP DL,'$'
JZ L6
MOV AH,2
INT 21H
JMP L5
L6: MOV DL,WOMAN
ADD DL,30H
MOV AH,2
INT 21H
MOV AH,4CH ;结束
INT 21H
CODE ENDS
END START