📄 shiyang3.asm
字号:
DATAS SEGMENT
BUF DB 20 DUP(?)
MAX DB ?
MIN DB ?
BUF1 DB 'Please Input 20 Number!',0DH,0AH,'$'
BUF2 DB 'The Number you Input is:',0DH,0AH,'$'
BUF3 DB 'The MIN Number you Input is:',0DH,0AH,'$'
BUF4 DB 'The MAX Number you Input is:',0DH,0AH,'$'
BUF5 DB ' ',0DH,0AH,'$'
BUF6 DB 'EXIT:Q!Any Other Key CONTINUE!',0DH,0AH,'$'
BUF7 DB '01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 ',0DH,0AH,'$'
DATAS ENDS
STACKS SEGMENT STACK
SA DB 100 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
START: MOV AX,DATAS
MOV DS,AX
STARR: MOV DX,OFFSET BUF5
MOV AH,9
INT 21H
MOV DX,OFFSET BUF1
MOV AH,9
INT 21H
MOV DX,OFFSET BUF7
MOV AH,9
INT 21H
MOV CX,20
MOV DI,0
LOOP1: CALL SHUR
MOV BUF[DI],BL
INC DI
MOV DL,20H
MOV AH,2
INT 21H
LOOP LOOP1
MOV DL,0AH
MOV AH,2
INT 21H
MOV BX,0
MOV CX,20
MOV AL,BUF[BX]
MOV MIN,AL
MOV MAX,AL
L3: INC BX
CMP BUF[BX],AL
JBE L4
MOV AL,BUF[BX]
MOV MAX,AL
L4: LOOP L3
MOV BX,0
MOV CX,20
MOV AL,MIN
L5: INC BX
CMP AL,BUF[BX]
JBE L6
MOV AL,BUF[BX]
MOV MIN,AL
L6: LOOP L5
MOV DX,OFFSET BUF5
MOV AH,9
INT 21H
MOV DX,OFFSET BUF2
MOV AH,9
INT 21H
MOV BX,OFFSET BUF
MOV CX,20
LOOP2: CALL XIAN
INC BX
LOOP LOOP2
MOV DX,OFFSET BUF5
MOV AH,9
INT 21H
MOV DX,OFFSET BUF3
MOV AH,9
INT 21H
LEA BX,MIN
CALL XIAN
MOV DX,OFFSET BUF5
MOV AH,9
INT 21H
MOV DX,OFFSET BUF4
MOV AH,9
INT 21H
LEA BX,MAX
CALL XIAN
MOV DX,OFFSET BUF5
MOV AH,9
INT 21H
MOV DX,OFFSET BUF6
MOV AH,9
INT 21H
MOV AH,7
INT 21H
CMP AL,51H
JE EXITT
CMP AL,71H
JE EXITT
JMP STARR
EXITT: MOV AH,4CH
INT 21H
RET
MAIN ENDP
SHUR PROC NEAR
PUSH CX
MOV CH,02H
KAII: MOV AH,01
INT 21H
CMP AL,30H
JL ERRR
CMP AL,39H
JG DAYU
AND AL,0FH
JMP OUTT
ERRR: MOV AH,2
MOV DL,08H
INT 21H
JMP KAII
DAYU: CMP AL,41H
JL ERRR
CMP AL,46H
JG ERRR
MOV BL,37H
SUB AL,BL
OUTT: CMP CH,02H
JE GAO
OR AL,DL
MOV BL,AL
JMP OUU
GAO: DEC CH
MOV CL,4
SHL AL,CL
MOV DL,AL
JMP KAII
OUU: POP CX
RET
SHUR ENDP
XIAN PROC NEAR
PUSH CX
MOV CH,02H
CHUC: MOV AL,[BX]
CMP CH,02H
JE GAOO
AND AL,0FH
JMP DDI
GAOO: MOV CL,04H
SHR AL,CL
DDI: DEC CH
OR AL,30H
MOV DL,AL
CMP DL,3AH
JL ZHII
ADD DL,07H
ZHII: MOV AH,2
INT 21H
CMP CH,01H
JE CHUC
MOV DL,20H
MOV AH,2
INT 21H
POP CX
RET
XIAN ENDP
CODES ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -