用汇编语言,求大神帮忙

2026年09月23日 18:12
有2个网友回答
网友(1):

        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

网友(2):

一边输入,一边过滤,即可。
舍弃小的数,保留较大的。
接受到回车,就输出最大值。
程序如下:
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。