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


;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
; 
; Protected/Real mode detection procedures 
; 
 
	TITLE	FXPROT 
 
	.386p 
	.387 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
FXPROT_TEXT	SEGMENT	BYTE public USE16 'CODE' 
FXPROT_TEXT	ENDS 
 
FXPROT_DATA	SEGMENT	WORD public USE16 'FAR_DATA' 
FXPROT_DATA	ENDS 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
 
	extrn		__fxvmm_detwin:NEAR 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
	public		__fxvmm_detprotmode 
 
FXPROT_TEXT	SEGMENT 
	assume	cs: FXPROT_TEXT 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
include ..\source.asm\_fxvmm.inc 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°± 
 
__fxvmm_detprotmode: 
	enter	00004h,000h 
	push	ds 
	mov	ax,seg FXPROT_DATA 
	mov	ds,ax 
	smsw	cx 
	ror	cx,1 
	mov	word ptr [bp-002h],0000h 
	mov	[bp-004h],cx 
	mov	ax,[bp-004h] 
	and	ax,8000h 
	or	ax,0000h 
	jnz	@@L1 
	xor	ax,ax 
	jmp	short @@L2 
@@L1:	call	far ptr __fxvmm_detwin 
	cwd 
	mov	[bp-002h],dx 
	mov	[bp-004h],ax 
	cmp	word ptr [bp-002h],+000h 
	jnz	@@L3 
	cmp	word ptr [bp-004h],+003h 
	jz	@@L4 
@@L3:	cmp	word ptr [bp-002h],+000h 
	jnz	@@L5 
	cmp	word ptr [bp-004h],+004h 
	jnz	@@L5 
@@L4:	mov     ax ,0002h 
	jmp	short @@L2 
@@L5:	mov	ax ,0001h 
@@L2:	pop	ds 
	leave 
	retf 
FXPROT_TEXT	ENDS 
	END 
 
;±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°±°