📄 chp3_30.asm
字号:
stack segment stack'stack'
dw 32 dup(?)
stack ends
data segment
IBUF DB 255,0,255 DUP(?)
ABCD DB 0AH,'ABCD:',255 DUP(?)
MNOPQ DB 0AH,0DH,'MNOPQ:',255 DUP(?)
data ends
code segment
begin proc far
assume cs:code,ss:stack,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX,OFFSET IBUF
MOV AH,10
INT 21H
MOV BX,2
MOV SI,OFFSET ABCD+7
MOV DI,OFFSET MNOPQ+9
AG: CMP IBUF[BX-1],0DH
JE EXIT
CMP IBUF[BX],'-'
JNE P1
CALL MP
JMP AG
P1: XCHG SI,DI
CALL MP
XCHG SI,DI
JMP AG
EXIT: MOV BYTE PTR [SI-1],'$'
MOV BYTE PTR [DI-1],'$'
MOV AH,9
MOV DX,OFFSET ABCD
INT 21H
MOV DX,OFFSET MNOPQ
INT 21H
ret
begin endp
MP PROC
MOV AL,IBUF[BX]
MOV [DI],AL
INC DI
INC BX
CMP IBUF[BX-1],0DH
JE BACK
CMP IBUF[BX-1],','
JNE MP
BACK: RET
MP ENDP
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -