📄 cursor.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 : CURSOR.ASM
;; Function : Cursor handling Routines
;; Notes : Shamelesly stolen fron Peter Norton and
;; Jhon Socha. Thank you Guys...
;; Adapted to FDOS by me...
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
BEGSR GOTOXY
SAVREG AX,BX
mov bh, 0
mov AH, 2
INT 10h
RSTREG AX,BX
ENDSR
BEGSR CURRIG
SAVREG AX,BX,CX,DX
mov ah, 3
mov bh, 0
int 10H
mov ah,2
inc dl
cmp dl, 79
jbe .OK
PRTSTR CRLF
jmp .DONE
.OK: int 10H
.DONE:
RSTREG AX,BX,CX,DX
ENDSR
BEGSR CLREOL
SAVREG AX,BX,CX,DX
mov ah, 3
xor bh, bh
int 10H
mov ah, 6
xor al, al
mov ch, dh
mov cl, dl
mov dl, 79
mov bh, 7
int 10H
RSTREG AX,BX,CX,DX
ENDSR
BEGSR MOVTHP
SAVREG AX,CX,DX
mov dh, [linbse]
add dh, 2
add dh, [phacuy]
mov dl, 8
mov cl, 3
mov al, [phacux]
mul cl
add dl, al
EXSR GOTOXY
RSTREG AX,CX,DX
ENDSR
BEGSR MOVTAP
SAVREG AX,DX
mov dh, [linbse]
add dh, 2
add dh, [phacuy]
mov dl, 59
add dl, [phacux]
EXSR GOTOXY
RSTREG AX,DX
ENDSR
BEGSR SAVRCU
SAVREG AX,BX,CX,DX
mov ah, 3
xor bh, bh
int 10H
mov [reacuy], dl
mov [reacux], dl
RSTREG AX,BX,CX,DX
ENDSR
BEGSR RSTRCU
SAVREG DX
mov dl, [reacuy]
mov dh, [reacux]
EXSR GOTOXY
RSTREG DX
ENDSR
BEGSR WRTPHA
SAVREG CX,DX
EXSR SAVRCU
EXSR MOVTHP
mov CX, 4
mov dl, 70H
EXSR RPTATR
EXSR MOVTAP
mov CX, 1
EXSR RPTATR
EXSR RSTRCU
RSTREG CX,DX
ENDSR
BEGSR ERAPHA
SAVREG CX,DX
EXSR SAVRCU
EXSR MOVTHP
mov CX, 4
mov dl, 7
EXSR RPTATR
EXSR MOVTAP
mov CX, 1
EXSR RPTATR
EXSR RSTRCU
RSTREG CX,DX
ENDSR
BEGSR PHAUP
EXSR ERAPHA
dec byte [phacuy]
jns .DECOKY
mov byte [phacuy], 0
.DECOKY:
EXSR WRTPHA
ENDSR
BEGSR PHADWN
EXSR ERAPHA
inc byte [phacuy]
cmp byte [phacuy], 16
jb .INCOKY
mov byte [phacuy], 15
.INCOKY:
EXSR WRTPHA
ENDSR
BEGSR PHALEF
EXSR ERAPHA
dec byte [phacux]
jns .DECOKY
mov byte [phacux], 0
.DECOKY:
EXSR WRTPHA
ENDSR
BEGSR PHARIG
EXSR ERAPHA
inc byte [phacux]
cmp byte [phacux], 16
jb .INCOKY
mov byte [phacux], 15
.INCOKY:
EXSR WRTPHA
ENDSR
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -