📄 h216.asm
字号:
stack segment stack'stack'
dw 32 dup(?)
stack ends
data segment
STRING DB 'INPUT STRINGS:$'
IBF DB 255 DUP(?)
POBF DB 255 DUP(?)
PLUS DB 'PLUS:$'
MINUS DB 'MINUS:$'
MOBF DB 255 DUP(?)
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 SI,OFFSET IBF
MOV DI,OFFSET POBF
MOV BX,OFFSET MOBF
AGAIN:MOV AH,1
INT 21H
CMP AL,'-'
JE LOP1
CMP AL,30H
JNB LOP2
CMP AL,0DH
JNE AGAIN
JMP LOP3
LOP1: MOV [BX],AL
MOV [SI],AL
INC BX
INC SI
MOV AH,1
INT 21H
CMP AL,','
JE BLOP1
CMP AL,0DH
JNE LOP1
DEC DI
JMP LOP3
BLOP1:MOV [BX],AL
MOV [SI],AL
INC BX
INC SI
JMP AGAIN
LOP2: MOV [DI],AL
MOV [SI],AL
INC DI
INC SI
MOV AH,1
INT 21H
CMP AL,','
JE BLOP2
CMP AL,0DH
JNE LOP2
DEC BX
JMP LOP3
BLOP2:MOV [DI],AL
MOV [SI],AL
INC DI
INC SI
JMP AGAIN
LOP3: MOV BYTE PTR [SI],'$'
MOV BYTE PTR [DI],'$'
MOV BYTE PTR [BX],'$'
MOV DX,OFFSET STRING
MOV AH,9
INT 21H
MOV DX,OFFSET IBF
MOV AH,9
INT 21H
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
MOV DX,OFFSET PLUS
MOV AH,9
INT 21H
MOV DX,OFFSET POBF
MOV AH,9
INT 21H
mov dl,0ah
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
MOV DX,OFFSET MINUS
MOV AH,9
INT 21H
MOV DX,OFFSET MOBF
MOV AH,9
INT 21H
ret
begin endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -