l1.asm

来自「输入一个字符串(数字)」· 汇编 代码 · 共 92 行

ASM
92
字号
;    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 + =
减小字号Ctrl + -
显示快捷键?