📄 l1.asm
字号:
; NAME LOUEXE1
DATA SEGMENT
INNUM DB 10
DB ?
DB 10 DUP(?)
MES DB 'PLEASE PUT IN MUMBER',0AH,0DH,'$'
OUTMES DB 'THE MAX,MIN,AVERAGE NUMBER IS',0AH,0DH,'$'
MAX DB ?
MIN DB ?
AVEG DB ?
COUNT EQU 7
DATA ENDS
STACK SEGMENT PARA STACK'STACK'
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START PROC FAR
BEGIN:PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
RD: MOV DX,OFFSET MES
MOV AH,09H
INT 21H
PUTNUM: MOV DX,OFFSET INNUM
MOV AH,0AH
INT 21H
MOV CX,COUNT
MOV BX,OFFSET INNUM
ADD BX,2
MOV AL,[BX]
INC BX
DEC CX
MAXNUM: CMP AL,[BX]
JGE MAXNEXT
MOV AL,[BX]
MAXNEXT:INC BX
LOOP MAXNUM
MOV MAX,AL
MOV CX,COUNT-1
MOV BX,OFFSET INNUM
ADD BX,2
MOV AL,[BX]
INC BX
MINNUM: CMP AL,[BX]
JL MINNEXT
MOV AL,[BX]
MINNEXT: INC BX
LOOP MINNUM
MOV MIN,AL
MOV CX,COUNT-1
MOV BX,OFFSET INNUM
ADD BX,2
MOV AL,[BX]
INC BX
CLC
MOV AH,0
AND AL,0FH
TOTAL: MOV DL,[BX]
AND DL,0FH
ADD AL,DL
ADC AH,0
INC BX
LOOP TOTAL
AVEGNUM:MOV CL,COUNT
DIV CL
OR AL,30H
MOV AVEG,AL
PUTOUT: MOV DX,OFFSET OUTMES
MOV AH,09H
INT 21H
MOV DL,MAX
MOV AH,2
INT 21H
MOV DL,MIN
MOV AH,2
INT 21H
MOV DL,AVEG
MOV AH,2
INT 21H
RET
START ENDP
CODE ENDS
END BEGIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -