Ýòà ôóíêöèÿ áëîêèðóåò áëîê
_XMM_FreeExtended proc near
c_begin
mov ah, 0Ah
mov dx, [bp+4]
call [XMM_Control]
xor dx, dx
dec ax
jz @successA
mov dh, bl
@successA:
c_end
_XMM_FreeExtended endp
;**
;.Name _XMM_MoveExtended
;.Title Êîïèðîâàòü áëîê ðàñøèðåííîé ïàìÿòè
;
;.Descr Ýòà ôóíêöèÿ êîïèðóåò áëîê
; ðàñøèðåííîé ïàìÿòè, èñïîëüçóÿ ñòðóêòóðó
; struct XMM_Move:
;
; struct XMM_Move {
; unsigned long Length;
; unsigned short SourceHandle;
; unsigned long SourceOffset;
; unsigned short DestHandle;
; unsigned long DestOffset;
; };
;
;.Proto long XMM_MoveExtended(struct
; XMM_Move *move_descr);
;
;.Params struct XMM_Move *move_descr -
; óêàçàòåëü íà ñòðóêòóðó, îïèñûâàþùóþ
; ÷òî, îòêóäà è êóäà íàäî êîïèðîâàòü.
;
;.Return < 0 - îøèáêà ïðè êîïèðîâàíèè,
; êîä îøèáêè íàõîäèòñÿ â ñòàðøåì áàéòå.
; 0L - áëîê ñêîïèðîâàí óñïåøíî.
;
;**
_XMM_MoveExtended proc near
c_begin
mov ah, 0Bh
mov si, [bp+4];
call [XMM_Control]
xor dx, dx
dec ax
jz @successB
mov dh, bl
@successB:
c_end
_XMM_MoveExtended endp
;**
;.Name _XMM_LockExtended
;.Title Çàáëîêèðîâàòü áëîê ðàñøèðåííîé ïàìÿòè
;
;.Descr Ýòà ôóíêöèÿ áëîêèðóåò áëîê ðàñøèðåííîé
; ïàìÿòè è âîçâðàùàåò 31 ðàçðÿä åãî
; ôèçè÷åñêîãî àäðåñà.
;
;.Proto long XMM_LockExtended(unsigned handle);
;
;.Params handle - èíäåêñ áëîêèðóåìîãî áëîêà ïàìÿòè;
;
;.Return < 0 - áëîê íå çàáëîêèðîâàí,
; êîä îøèáêè íàõîäèòñÿ â ñòàðøåì áàéòå.
Ñîäåðæàíèå Íàçàä Âïåðåä