DATA SEGMENT
BUFFER DB 100
DB 0
DB 100 DUP (0)
MIN DB 0
STRING DB 0DH,0AH,'-----------',0DH,0AH,'INPUT WRONG,PLEASE INPUT AGAIN',0DH,0AH,'$'
STRING1 DB 0DH,0AH,'-----------',0DH,0AH,'THE MIN IS ',0DH,0AH,'$'
DATA ENDS
STACK SEGMENT STACK 'STACK'
DB 100 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
MAIN: MOV AX,DATA
MOV DS,AX
CALL INPUT
CALL JUDGE
CALL BIJIAO
CALL OUTPUT
MOV AX,4C00H
INT 21H
INPUT PROC
MOV DX,SEG BUFFER
MOV DS,DX
MOV DX,OFFSET BUFFER
MOV AH,0AH
INT 21H
RET
INPUT ENDP
JUDGE PROC
LEA BX,BUFFER
JUDGE1: MOV AL,[BX+2]
CMP AL,'.'
JZ C ;找到!则跳转到子程序C
CMP AL,','
JZ B ;找到,则跳转到子程序B
CMP AL,30H
JB A ;不高于跳转到A
CMP AL,39H
JA A ;不低于跳转到A
JMP B
A: MOV AH,09H
MOV DX,SEG STRING
MOV DS,DX
MOV DX,OFFSET STRING
INT 21H
JMP C
B: INC BX
JMP JUDGE1
C: NOP
BUFFER DB 100
DB 0
DB 100 DUP (0)
MIN DB 0
STRING DB 0DH,0AH,'-----------',0DH,0AH,'INPUT WRONG,PLEASE INPUT AGAIN',0DH,0AH,'$'
STRING1 DB 0DH,0AH,'-----------',0DH,0AH,'THE MIN IS ',0DH,0AH,'$'
DATA ENDS
STACK SEGMENT STACK 'STACK'
DB 100 DUP (?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
MAIN: MOV AX,DATA
MOV DS,AX
CALL INPUT
CALL JUDGE
CALL BIJIAO
CALL OUTPUT
MOV AX,4C00H
INT 21H
INPUT PROC
MOV DX,SEG BUFFER
MOV DS,DX
MOV DX,OFFSET BUFFER
MOV AH,0AH
INT 21H
RET
INPUT ENDP
JUDGE PROC
LEA BX,BUFFER
JUDGE1: MOV AL,[BX+2]
CMP AL,'.'
JZ C ;找到!则跳转到子程序C
CMP AL,','
JZ B ;找到,则跳转到子程序B
CMP AL,30H
JB A ;不高于跳转到A
CMP AL,39H
JA A ;不低于跳转到A
JMP B
A: MOV AH,09H
MOV DX,SEG STRING
MOV DS,DX
MOV DX,OFFSET STRING
INT 21H
JMP C
B: INC BX
JMP JUDGE1
C: NOP
