📄 dspbio.asm
字号:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Project : DSKEDT-FDOS 0.0.7
;; Author : Ottonello, Santiago
;; E-Mail : sanotto@yahoo.com
;; Webpage : http://www.visual-opal.de
;; Date : 22.8.2003
;; Caption : Disk Editor
;; Filename : DSPBIO.ASM
;; Function : Display Basic Input/Output Functions
;; Notes : Shamelesly stolen from Peter Norton and
;; Jhon Socha. Thank you Guys...
;; Adapted to FDOS by me...
;; Compile Syntax : nasm DSKEDT.ASM -f bin -o DSKEDT.BIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BEGSR WRTHEX
SAVREG CX,DX
mov dh, dl
mov CX, 4
shr dl, cl
EXSR WRTHED
mov dl, dh
and dl, 0FH
EXSR WRTHED
RSTREG CX,DX
ENDSR
BEGSR WRTHED
push DX
cmp dl, 10
IF ae
add dl, "A"-10
ELSE
add dl, "0"
ENDIF
PRTCHR dl
pop DX
ENDSR
BEGSR WRTDEC
SAVREG AX,CX,DX,SI
mov AX, DX
mov SI, 10
xor CX, CX
REPEAT
xor DX, DX
div SI
push DX
inc CX
or AX, AX
UNTIL z
.WRTDIG:
pop DX
EXSR WRTHED
loop .WRTDIG
RSTREG AX,CX,DX,SI
ENDSR
BEGSR WRTCHR
SAVREG AX,BX,CX,DX
mov ah, 9
mov bh, 0
mov CX, 1
mov al, dl
mov bl, 7
int 10H
EXSR CURRIG
RSTREG AX,BX,CX,DX
ENDSR
BEGSR RPTCHR
SAVREG CX
.LOOP:
EXSR WRTCHR
loop .LOOP
RSTREG CX
ENDSR
BEGSR WRTPAT
SAVREG AX,CX,DX,SI
pushf
cld
mov SI, DX
.PATLOP:
lodsb
or al, al
jz .ENDPAT
mov dl, al
lodsb
mov cl, al
xor ch, ch
EXSR RPTCHR
jmp .PATLOP
.ENDPAT:
popf
RSTREG AX,CX,DX,SI
ENDSR
BEGSR RPTATR
SAVREG AX,BX,CX,DX
mov bl, dl
xor bh, bh
mov DX, CX
mov CX, 1
.ATRLOP:
mov ah, 8
int 10H
mov ah, 9
int 10H
EXSR CURRIG
dec DX
jnz .ATRLOP
RSTREG AX,BX,CX,DX
ENDSR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -