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 ;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°