;
;		VRAM直接操作型PUT32K
;			HIGH-C関数型
;void	vput2( int x1, int y1, int x2, int y2, char *data );
;
	.386p
	extrn	SMALL?:word
code	segment dword 'CODE'
CGROUP	group	code
	assume	cs:CGROUP
	public	vput2
vput2	proc	near
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	push	es
	mov	ax,104h
	mov	es,ax
	mov	edi,[ebp+8]	;x1
	mov	eax,[ebp+12]	;y1
	mov	edx,[ebp+16]	;x2
	mov	ecx,[ebp+20]	;y2
	mov	esi,[ebp+24]	;ofs
	sub	ecx,eax
	inc	ecx			;ecx y size
	sal	eax,9			;vram先頭計算
	add	eax,edi
	sal	eax,1
	add	eax,40000h		;eax vram先頭
	sub	edx,edi
	inc	edx			;edx x size
la1:	mov	edi,eax
	add	eax,1024
	mov	ebx,ecx
	mov	ecx,edx
	rep movsw
	mov	ecx,ebx
	loop	la1
	pop	es
	pop	edi
	pop	esi
	pop	ebx
	pop	ebp
	ret
vput2	endp
code	ENDS
	END
