home *** CD-ROM | disk | FTP | other *** search
- .radix 16
- ;
- cseg segment
- assume cs:cseg, ds:cseg
- ;
- video equ 10 ; bios video interrupt
- exit equ 20 ; return to ccp routine
- dos equ 21
- getmode equ 0f
- getattr equ 8
- setcurs equ 2
- ttywrit equ 0e08 ; tty write a backspace
- scroll equ 0600
- inforeq equ 1130 ; char gen routine, get info
- ;
- org 100
- ;
- clr: mov dl, 18 ; assume 24 rows
- sub bh, bh
- mov ax, inforeq
- int video ; get number of rows in dl
- mov ah, getmode
- int video
- dec ah
- mov ch, dl
- mov cl, ah ; cx = maximum row and col
- xor ah, ah ; graphics attribute
- cmp al, 07 ; see if monochrome mode
- je mono
- cmp al, 03 ; see if notext mode
- ja notext
- mono: ; on a text screen, get current attribute
- mov dl, 20 ; write space to display
- mov ah, 02
- int dos
- mov ax, ttywrit ; wipe it out with a backspace
- int video
- mov ah, getattr ; read attribute
- int video
- ;
- notext: push bx ; save video page
- mov bh, ah ; screen to be cleared
- mov dx, cx
- sub cx, cx
- mov ax, scroll
- int video
- pop bx ; get back video page
- sub dx, dx ; home cursor
- mov ah, setcurs
- int video
- ;
- int exit
- cseg ends
- end clr
-