]>
wirehaze git hosting - MS-DOS.git/blob - v4.0/src/MAPPER/SCROLLUP.ASM
4 title CP
/DOS VioScrollUp mapper
6 vioxxx
segment byte public 'vio'
7 assume
cs:vioxxx
,ds:nothing
,es:nothing
,ss:nothing
9 ; ************************************************************************* *
11 ; * MODULE: VioScrollUp
13 ; * FILE NAME: scrollup.asm
21 ; * push word rightcol
24 ; * push word vio handle
27 ; * MODULES CALLED: BIOS Int 10h
31 ; *************************************************************************
39 error_bvs_parameter equ
0002h
44 handle dw ?
; vio handle
45 cell dd ?
; cell to be written
46 lines dw ?
; number of blank lines
47 rightcol dw ?
; right column
48 botrow dw ?
; bottom row
49 leftcol dw ?
; left column
54 Enter VioScrollUp
; save registers
56 mov bx,[bp].lines
; get number of blank lines
57 cmp bl,25 ; check for validity
58 jg error
; jump if invalid
64 ar02: mov ah,06h ; set scroll up function code
66 mov bx,[bp].rightcol
; get right col number
67 cmp bl,80 ; check the validity
68 jg error
; branch if error
69 mov dl,bl ; right column number in DL
71 mov bx,[bp].botrow
; get bottom row
72 cmp bl,25 ; check for validity
73 jg error
; branch if error
74 mov dh,bl ; bottom row in DH
76 mov bx,[bp].leftcol
; get left column number
77 mov cl,bl ; left column in CL
79 mov bx,[bp].toprow
; get top row number
80 mov ch,bl ; top row in CH
82 lds si,[bp].cell
; Set up cell in BX
83 mov bx,ds:[si] ; *****************
84 ; cmp bl,15 ; check validity ** assume good **
85 ; jg error ; branch if error ** attribute! **
87 mov bh,bl ; filler attribute in BH
88 pushal
; Save registers in case int 10h
90 int 10h
; scrollup the display
93 sub ax,ax ; set no error code
96 error: mov ax,error_bvs_parameter
; set error code
98 exit: Mexit
; pop registers
99 ret size
str - 6 ; return