home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
utils
/
miscutil.zip
/
TBWINDOW.ZIP
/
SCROLL.ASM
< prev
next >
Wrap
Assembly Source File
|
1987-05-27
|
3KB
|
53 lines
title SCROLL
page 60,132
dir equ [bp + 06h] ; DIR%
lines equ [bp + 0Ah] ; LINES%
rtcol equ [bp + 0Eh] ; RTCOL%
botrow equ [bp + 12h] ; BOTROW%
leftcol equ [bp + 16h] ; LEFTCOL%
toprow equ [bp + 1Ah] ; TOPROW%
program segment ; begin program segment
assume cs:program ; parameters on stack
push bp ; save for basic
mov bp,sp ; establish stack
push es ; save for return
push bp ; save for later
mov ah,0Fh ; dos function
int 10h ; get current video mode
pop bp ; restore bp
les di,leftcol ; get pointer to left column
mov dl,es:[di] ; get lsb only to dl
dec dx ; dec for 0-79 format
les di,toprow ; get pointer to top row
mov dh,es:[di] ; get lsb only to dh
dec dh ; dec for 0-24 format
push bp ; save for later
push dx ; save for later
push bx ; save for later
mov ah,02h ; dos function
int 10h ; set cursor to inside area
pop bx ; restore bx
mov ah,08h ; dos function
int 10h ; get attribute
pop cx ; ch=toprow cl=leftcol was dx
pop bp ; restore bp
les di,rtcol ; get pointer to right column
mov dl,es:[di] ; get lsb only to dl
dec dx ; dec for 0-79 format
les di,botrow ; get pointer to botrow
mov dh,es:[di] ; get lsb only to dh
dec dh ; dec for 0-24 format
les di,lines ; get pointer to lines
mov al,es:[di] ; get lsb only to al
mov bh,ah ; mov attribute to bh
les di,dir ; get pointer to direction
mov ah,es:[di] ; put in ah
int 10h ; finally scroll
pop es ; restore es
pop bp ; back to basic
program ends
end