📄 noname33.asm
字号:
DATA SEGMENT
BUFFER DB 100
DB ?
DB 100 DUP(?)
CHARS DB 'INPUT:$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
MAIN PROC FAR
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
START: MOV DX,OFFSET CHARS
MOV AH,9
INT 21H
MOV DX,OFFSET BUFFER
MOV AH,0AH
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
MOV DL,0DH
MOV AH,2
INT 21H
MOV SI,OFFSET BUFFER
INC SI
MOV AL,[SI]
INC SI
MOV DL,[SI]
MOV DH,[SI]
MOV DI,SI
MOV CL,AL
MOV CH,0
MOV BL,1
MOV BH,0
DEC CL
GO1: INC SI
CMP DL,[SI]
JNE TO1
INC BL
TO1: LOOP GO1
CALL OUTPUT
MOV BL,1
TO5: INC DI
DEC AL
CMP AL,1
JE TO3
CMP DH,[DI]
JE TO5
MOV DL,[DI]
MOV SI,DI
MOV CL,AL
MOV CH,0
DEC CL
GO2: INC SI
CMP [SI],DL
JNE TO2
INC BL
MOV [SI],DH
TO2: LOOP GO2
CALL OUTPUT
MOV BL,1
JMP TO5
TO3: CMP DH,[DI]
JE TO4
MOV DL,[DI]
MOV BL,1
CALL OUTPUT
TO4: RET
MAIN ENDP
OUTPUT PROC
PUSH AX
PUSH CX
PUSHF
MOV AH,2
INT 21H
MOV DL,20H
MOV AH,2
INT 21H
MOV AL,BL
MOV AH,0
MOV CL,10
DIV CL
ADD AH,30H
ADD AL,30H
MOV CH,AH
MOV DL,AL
MOV AH,2
INT 21H
MOV DL,CH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
MOV DL,0DH
MOV AH,2
INT 21H
POPF
POP CX
POP AX
RET
OUTPUT ENDP
CODE ENDS
END MAIN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -