CODE SEGMENT
ASSUME CS:CODE
ORG 100H
START:
PUSH CS
POP DS
PUSH CS
POP ES
LEA DX,DATA
MOV AH,10
INT 21H
LEA SI,DATA
MOV CL,BYTE PTR [SI+1]
XOR CH,CH
INC SI
INC SI
MOV AL,[SI]
MOV BYTE PTR MAXCHAR,AL
INC SI
DEC CX
@MAIN0:
MOV AL,[SI]
CMP AL,BYTE PTR MAXCHAR
JLE @MAIN1
MOV BYTE PTR MAXCHAR,AL
@MAIN1:
INC SI
LOOP @MAIN0
MOV AH,2
MOV DL,13
INT 21H
MOV DL,10
INT 21H
MOV DL,BYTE PTR MAXCHAR
INT 21H
MOV AH,4CH
INT 21H
DATA DB 255
DB ?
DB 255 DUP(?)
MAXCHAR DB ?
CODE ENDS
END START
一边输入,一边过滤,即可。
舍弃小的数,保留较大的。
接受到回车,就输出最大值。
程序如下:
CODE SEGMENT
ASSUME CS:CODE
BG:
MOV BL, 20H
IN_X: MOV AH, 1
INT 21H
CMP AL, 13
JZ DISP
CMP AL, BL
JB IN_X
MOV BL, AL
JMP IN_X
DISP:
MOV AH, 2
MOV DL, 13
INT 21H
MOV DL, 10
INT 21H
MOV DL, BL
MOV AH, 2
INT 21H
MOV AH, 4CH
INT 21H
CODE ENDS
END BG
当你输入 567948275,本程序就会输出 9。