📄 h217.asm
字号:
stack segment stack'stack'
dw 32 dup(?)
stack ends
data segment
IBF DB 52,0,52 DUP(?)
COBF DB 'COUNT=',2 DUP(?),'$'
MOBF DB 'MAX=',4 DUP(?),'$'
MAX DW ?
data ends
code segment
begin proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX,OFFSET IBF
MOV AH,10
INT 21H
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
MOV SI,OFFSET IBF+2
MOV AX,0
CAGAIN:CMP BYTE PTR [SI],','
JE LOP1
INC SI
CMP BYTE PTR [SI],0DH
JE OVER1
JMP CAGAIN
LOP1: INC AL
INC SI
JMP CAGAIN
OVER1: INC AL
MOV DL,10
DIV DL
OR AH,30H
OR AL,30H
MOV COBF+7,AH
MOV COBF+6,AL
MOV DX,OFFSET COBF
MOV AH,9
INT 21H
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
MOV MAX,0
MOV SI,OFFSET IBF+2
MOV AX,0
MOV CL,4
MAGAIN: SHL AX,CL
AND BYTE PTR [SI],0FH
OR AL,[SI]
INC SI
CMP BYTE PTR [SI],0DH
JE OVER2
CMP BYTE PTR [SI],','
JE LOP2
JMP MAGAIN
LOP2: CMP MAX,AX
JC LOP3
INC SI
MOV AX,0
JMP MAGAIN
LOP3: MOV MAX,AX
MOV AX,0
INC SI
JMP MAGAIN
OVER2: CMP MAX,AX
JC LOP4
MOV BX,MAX
DAGAIN2:MOV DI,7
MOV CH,4
DAGAIN1:MOV DL,0FH
AND DL,BL
ADD DL,30H
MOV MOBF[DI],DL
SHR BX,CL
DEC DI
DEC CH
JNZ DAGAIN1
MOV DX,OFFSET MOBF
MOV AH,9
INT 21H
jmp exit
LOP4: MOV BX,AX
JMP DAGAIN2
MOV DX,OFFSET MOBF
MOV AH,9
INT 21H
exit:
ret
begin endp
code ends
end begin
ret
begin endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -