📄 h206.asm
字号:
stack segment stack'stack'
dw 32 dup(?)
stack ends
data segment
IBF DB 5,0,5 DUP(?)
OBF DB 4 DUP(?)
COUNT 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,IBF+2
CMP DL,0DH
JE exit
MOV DL,IBF+1
MOV DH,0
MOV COUNT,DX
MOV CL,4
MOV AX,0
MOV SI,OFFSET IBF+2
AGAIN:MOV DL,[SI]
SUB DL,30H
CMP DL,0AH
JC LOP1
SUB DL,7
LOP1:SHL AX,CL
OR AL,DL
INC SI
DEC COUNT
JNZ AGAIN
TEST AX,8000H
JZ LOP2
NEG AX
OR AX,8000H
LOP2:MOV DI,3
MOV DX,0
AGAIN1:mov dl,0fh
and dl,al
CMP DL,0AH
JC LOP3
ADD DL,7
LOP3: ADD DL,30H
MOV OBF[DI],DL
DEC DI
SHR AX,CL
AND AX,AX
JNZ AGAIN1
mov obf+4,'$'
MOV DX,OFFSET OBF
MOV AH,9
INT 21H
exit:
ret
begin endp
code ends
end begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -