untab.asm
来自「dos 1.0 其中包含quick basic源代码、内存管理himem emm」· 汇编 代码 · 共 50 行
ASM
50 行
;
; Expand all tabs to spaces
;
.xlist
include ..\h\cmacros.inc
.list
sBegin code
assumes cs,code
cProc UnTab,<PUBLIC>,<si,di>
ParmW src
ParmW dst
cBegin
push ds
pop es
cld
mov si,src
mov di,dst
mov dx,di
mov cx,1
mov ah,' '
getc:
lodsb
cmp al,9
jz tab
store:
rep stosb
inc cx
or al,al
jnz getc
jmp done
tab:
mov cx,di
sub cx,dx
and cx,7
sub cx,8
neg cx
mov al,ah
jmp store
done:
lea ax,[di-1]
sub ax,dst
cEnd
sEnd
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?