;========================================================================
;
;	ＲＳパラメータの取得
;
	.386p

realint_para	struc
intNo	dw	?	;割り込み番号
r_ds	dw	?
r_es	dw	?
r_fs	dw	?
r_gs	dw	?
r_eax	dd	?
r_edx	dd	?
realint_para	ends

code	segment	use32
	assume	cs:code,ds:code


;	char *getCMOSpara()

cpara:
	db 200 dup (?)
rpara:
	db 18 dup (?)

	public	getCMOSpara
getCMOSpara	proc	near

	push	ebp
	push	edi
	push	ebx
	push	ecx
	push	es

	push	ds
	pop	es
	mov	ebx,offset cpara
	mov	ecx,200
	mov	eax,250fh
	int	21h
	jc	#Error


	xor	edi,edi
	mov	di,cx
	shr	ecx,16
	mov	word ptr rpara.r_ds,cx

	mov	word ptr rpara.intNo,8eh
	mov	dword ptr rpara.r_eax,0
	mov	edx,offset rpara
	mov	eax,2511h	
	int	21h

	mov	eax,offset cpara
	pop	es
	pop	ecx
	pop	ebx
	pop	edi
	pop	ebp

	ret


#Error:
	pop	es
	pop	ecx
	pop	ebx
	pop	edi
	pop	ebp
	xor	eax,eax

	ret

getCMOSpara	endp


code	ends
	end
