;
; EGA1.ASM
;

        .model large


Prefix	macro
	push	bp
	mov	bp,sp
	push	ds
	push	es
	push	si
	push	di
	endm


Postfix	macro
	pop	di
	pop	si
	pop	es
	pop	ds
	mov	sp,bp
	pop	bp
	ret
	endm


	public	_clrgwin

codeseg	segment	byte public 'CODE'
	assume	cs:codeseg


_clrgwin	proc	far

	Prefix

	mov	ax,0A000h
	mov	es,ax

	mov	di,[bp+6]

	lds	si,[bp+8]

	mov	dx,[bp+12]
	mov	bx,28h
	sub	bx,[bp+10]
	mov	cx,[bp+10]
	mov	al,[bp+8]

clrgwinloop:
	push	cx
	rep	stosb
	pop	cx
	add	di,bx
	dec	dx
	jg	clrgwinloop

	Postfix

_clrgwin	endp


codeseg	ends

	end
