public _XMM_GlobalEnableA20
public _XMM_GlobalDisableA20
public _XMM_EnableA20
public _XMM_DisableA20
public _XMM_QueryA20
public _XMM_QueryLargestFree
public _XMM_QueryTotalFree
public _XMM_AllocateExtended
public _XMM_FreeExtended
public _XMM_MoveExtended
public _XMM_LockExtended
public _XMM_UnLockExtended
public _XMM_GetHandleLength
public _XMM_GetHandleInfo
public _XMM_ReallocateExtended
public _XMM_RequestUMB
public _XMM_ReleaseUMB
;**
;.Name _XMM_Installed
;.Title Ïîëó÷åíèå àäðåñà óïðàâëÿþùåé ôóíêöèè
;
;.Descr Ýòà ôóíêöèÿ ïðîâåðÿåò íàëè÷èå äðàéâåðà
; HIMEM.SYS è â ñëó÷àå åãî ïðèñóñòâèÿ
; çàïîìèíàåò àäðåñ óïðàâëÿþùåé ôóíêöèè.
;
;.Proto unsigned XMM_Installed(void);
;
;.Params Íå èñïîëüçóþòñÿ
;
;.Return 0 - äðàéâåð HIMEM.SYS íå óñòàíîâëåí;
; 1 - äðàéâåð HIMEM.SYS óñòàíîâëåí.
;
;**
_XMM_Installed proc near
c_begin
mov ax, 4300h
int 2fh
cmp al, 80h
jne NotInstalled
mov ax, 4310h
int 2fh
mov word ptr [XMM_Control], bx
mov word ptr [XMM_Control+2], es
mov ax,1
jmp Installed
NotInstalled:
mov ax, 0
Installed:
c_end
_XMM_Installed endp
;**
;.Name _XMM_Version
;.Title Îïðåäåëåíèå âåðñèè äðàéâåðà HIMEM.SYS
;
;.Descr Ýòà ôóíêöèÿ îïðåäåëÿåò âåðñèþ äðàéâåðà
; HIMEM.SYS
;
;.Proto long XMM_Version(void);
;
;.Params Íå èñïîëüçóþòñÿ
;
;.Return Íîìåð âåðñèè â ìëàäøèõ 16 áèòàõ,
; íîìåð èçìåíåíèé - â ñòàðøèõ 16 áèòàõ
; âîçâðàùàåìîãî çíà÷åíèÿ
;
;**
_XMM_Version proc near
push si
push di
xor ah, ah
call [XMM_Control]
mov dx, bx
pop di
pop si
ret