Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : ASMFILE.ZIP
Filename : ROLLSCRN.ASM

 
Output of file : ROLLSCRN.ASM contained in archive : ASMFILE.ZIP
; Title: ROLLSCRN.ASM
; Author: F. Ho
; Date: sometime 1985
; Syntax: DO ROLLUP WITH 1,2,3,4
; DO ROLLDN WITH 1,2,3,4
; Note: - rollup = rolls UP that part of the screen specified by
; the coordinates
; - rolldn = rolls DOWN that part of the screen specified
; by the coordinates
;
public ROLLUP ; declare as public
public ROLLDN ;
;
extrn _PARNI:far ; declare as external of type far
extrn _RET:far ;
;
;
datasg segment para 'DATA' ; start of data segment
;
TOP db 0h ; top -
LEFT db 0h ; left corner
BOTTOM db 0h ; bottom -
RIGHT db 0h ; right corner
;
datasg ends ; end of data segment
;
;
_prog segment byte ; start of code segment
assume cs:_prog,ds:datasg,es:_prog
;
ROLLUP proc far ; start of ROLLUP process
push bp ; preserve return address
mov bp,sp

push ds ; save registers
push es ;

mov ax,1 ; take 1st para
push ax
call _PARNI
add sp,2 ; restore stack
mov TOP,al ; assign 1st para to TOP

mov ax,2 ; take 2nd para
push ax
call _PARNI
add sp,2
mov LEFT,al ; assign to LEFT

mov ax,3 ; take 3rd para
push ax
call _PARNI
add sp,2
mov BOTTOM,al ; assign to BOTTOM

mov ax,4 ; take 4th para
push ax
call _PARNI
add sp,2
mov RIGHT,al ; assign to right

push cx ; preserve coordinate
push dx ; registers

mov ch,TOP ; assign TOP to high CX
mov cl,LEFT ; assign LEFT to low CX
mov dh,BOTTOM ; assign BOTTOM to high DX
mov dl,RIGHT ; assign RIGHT to low DX

xor ax,ax ; zero out AX
push ax
mov ax,0601h ; request roll up service
mov bh,07 ; normal attribute
int 10h ; issue video int

pop ax ; restore registers
pop dx ; before calling RETs
pop cx ; |

pop es ; |
pop ds ; |
pop bp ; |

call _RET ; Clipper return (actual cleaning)

ret ; actual physical return
ROLLUP endp ; end of process
;
;
ROLLDN proc far
push bp
mov bp,sp

push ds
push es

mov ax,1
push ax
call _PARNI
add sp,2
mov TOP,al

mov ax,2
push ax
call _PARNI
add sp,2
mov LEFT,al

mov ax,3
push ax
call _PARNI
add sp,2
mov BOTTOM,al
mov ax,4
push ax
call _PARNI
add sp,2
mov RIGHT,al

push cx
push dx

mov ch,TOP
mov cl,LEFT
mov dh,BOTTOM
mov dl,RIGHT

xor ax,ax
push ax
mov ax,0701h ; request roll down service
mov bh,07
int 10h

pop ax
pop dx
pop cx

pop es
pop ds
pop bp

call _RET

ret
ROLLDN endp
;
_prog ends
end



  3 Responses to “Category : Dbase (Clipper, FoxBase, etc) Languages Source Code
Archive   : ASMFILE.ZIP
Filename : ROLLSCRN.ASM

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/