; Assembly language subroutine for partial screen scrolling
; By George Leritte
; Copyright 1987 by Softdisk, Inc.
; Syntax:  call scroll%(rowul,colul,rowlr,collr,attr,lines,direct)

dgroup   group   data

code     segment para public 'code' 
         assume cs:code, ds:dgroup

;Main Code Section 
;-----------------
        public scroll
scroll  proc far
        push bp
        mov bp,sp
        mov si,[bp+18]  ;upper left row
        mov ch,[si]
        mov si,[bp+16]  ;upper left column
        mov cl,[si]
        mov si,[bp+14]  ;lower right row
        mov dh,[si]
        mov si,[bp+12]  ;lower right column
        mov dl,[si]
        mov si,[bp+10]  ;attribute
        mov bh,[si]
        mov si,[bp+ 8]  ;lines to scroll
        mov al,[si]
        mov si,[bp+ 6]  ;direction of scroll
        mov ah,[si]
        int 10h
        pop bp
        ret 14
scroll  endp

data     segment public 'dgroup'
data    ends

code    ends
end

