www.pudn.com > fxvmm210.zip > _FXCHK.ASM


;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
; 
; Node checking procedures 
; 
 
	TITLE	FXCHK 
	.386p 
	.387 
 
FXCHK_TEXT	SEGMENT	BYTE public USE16 'CODE' 
FXCHK_TEXT	ENDS 
 
_DATA	SEGMENT	WORD public USE16 'DATA' 
_DATA	ENDS 
 
_BSS	SEGMENT	WORD public USE16 'BSS' 
_BSS	ENDS 
 
DGROUP	GROUP	_DATA, _BSS 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
include ..\source.asm\_fxvmm.inc 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
	extrn		_fxvmm_firstblk:WORD 
	extrn		_fxvmm_global_xms_handle:WORD 
	extrn		_fxvmm_global_ems_handle:WORD 
	extrn		_fxvmm_global_dos_handle:WORD 
	extrn		_fxvmm_global_vrt_handle:WORD 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
	public		__fxvmm_chk_fxnode 
	public		__fxvmm_checkall 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
FXCHK_TEXT	SEGMENT 
	assume	cs: FXCHK_TEXT 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
__fxvmm_chk_fxnode: 
	push	bp 
	mov	bp,sp 
	mov	ax,[bp+006h] 
	or	ax,[bp+008h] 
	jnz	@@L1 
	xor	ax,ax 
	pop	bp 
	retf 
@@L1:	les	bx,dword ptr [bp+006h] 
	cmp	word ptr es:[bx],0FEDCh 
	jz	@@L2 
	xor	ax,ax 
	pop	bp 
	retf 
@@L2:	les	bx,dword ptr [bp+006h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	assume	ds: DGROUP 
	cmp	ax,_fxvmm_global_vrt_handle 
	jz	@@L3 
	les	bx,dword ptr [bp+006h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_xms_handle 
	jz	@@L3 
	les	bx,dword ptr [bp+006h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_ems_handle 
	jz	@@L3 
	les	bx,dword ptr [bp+006h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_dos_handle 
	jz	@@L3 
	xor	ax,ax 
	pop	bp 
	retf 
@@L3:	les	bx,dword ptr [bp+006h] 
	mov	ax,es:[bx+00Fh] 
	or	ax,es:[bx+011h] 
	jz	@@L4 
	les	bx,dword ptr [bp+006h] 
	les	bx,dword ptr es:[bx+00Fh] 
	mov	ax,es:[bx+00Dh] 
	mov	dx,es:[bx+00Bh] 
	cmp	ax,[bp+008h] 
	jnz	@@L5 
	cmp	dx,[bp+006h] 
	jz	@@L4 
@@L5:	xor	ax,ax 
	pop	bp 
	retf 
@@L4:	mov	ax,0001h 
	pop	bp 
	retf 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
__fxvmm_checkall: 
	push	bp 
	mov	bp,sp 
	sub	sp,+004h 
	mov	ax,_fxvmm_firstblk + 00002h 
	mov	dx,_fxvmm_firstblk 
	mov	[bp-002h],ax 
	mov	[bp-004h],dx 
	mov	ax,[bp-004h] 
	or	ax,[bp-002h] 
	jnz	@@L6 
	mov	ax,0001h 
	mov	sp,bp 
	pop	bp 
	retf 
@@L6:	les	bx,dword ptr [bp-004h] 
	cmp	word ptr es:[bx],0FEDCh 
	jz	@@L7 
	mov	ax,0002h 
	mov	sp,bp 
	pop	bp 
	retf 
@@L7:	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_vrt_handle 
	jnz	@@L8 
	jmp	@@L9 
@@L8:	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_xms_handle 
	jnz	@@L10 
	jmp	@@L9 
@@L10:	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_ems_handle 
	jnz	@@L11 
	jmp	@@L9 
@@L11:	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_dos_handle 
	jnz	@@L12 
	jmp	@@L9 
@@L12:	mov	ax,0002h 
	mov	sp,bp 
	pop	bp 
	retf 
	jmp	@@L9 
@@L18:	les	bx,dword ptr [bp-004h] 
	cmp	word ptr es:[bx],0FEDCh 
	jz	@@L13 
	mov	ax,0003h 
	mov	sp,bp 
	pop	bp 
	retf 
@@L13:	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_vrt_handle 
	jz	@@L14 
	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_xms_handle 
	jz	@@L14 
	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_ems_handle 
	jz	@@L14 
	les	bx,dword ptr [bp-004h] 
	mov	al,es:[bx+002h] 
	and	ax,007Fh 
	cmp	ax,_fxvmm_global_dos_handle 
	jz	@@L14 
	mov	ax,0003h 
	mov	sp,bp 
	pop	bp 
	retf 
@@L14:	les	bx,dword ptr [bp-004h] 
	mov	ax,es:[bx+00Fh] 
	or	ax,es:[bx+011h] 
	jz	@@L15 
	les	bx,dword ptr [bp-004h] 
	les	bx,dword ptr es:[bx+00Fh] 
	mov	ax,es:[bx+00Dh] 
	mov	dx,es:[bx+00Bh] 
	cmp	ax,[bp-002h] 
	jnz	@@L16 
	cmp	dx,[bp-004h] 
	jz	@@L15 
@@L16:	mov	ax,0003h 
	mov	sp,bp 
	pop	bp 
	retf 
@@L15:	les	bx,dword ptr [bp-004h] 
	mov	ax,es:[bx+00Dh] 
	mov	dx,es:[bx+00Bh] 
	mov	[bp-002h],ax 
	mov	[bp-004h],dx 
@@L9:	mov	ax,[bp-004h] 
	or	ax,[bp-002h] 
	jz	@@L17 
	jmp	@@L18 
@@L17:	xor	ax,ax 
	mov	sp,bp 
	pop	bp 
	retf 
FXCHK_TEXT	ENDS 
	END 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°