;************************************************************** ;*** EMS4F1.ASM *** ;*** *** ;*** function EMS_Ems.restPartialMap40( *** ;*** buffer: Pointer) *** ;*** : Boolean; *** ;*** *** ;*** Restores the state of a subset of expanded mem page *** ;*** mapping from buffer *** ;*** *** ;*** Returns 0 if no error or an error code. *** ;*** *** ;*** *** ;*** (Ems Version 4.0) *** ;************************************************************** .model large,pascal include emsdefs.asm extrn errno:WORD ; ; Define entry point ; public EMS_Ems@restPartialMap40 .code EMS_Ems@restPartialMap40 proc buffer:Far Ptr Word, self:DWord push ds ; Save registers push si lds si,buffer ; DS:SI gets buffer address mov ax,RestPartialMap40 ; Make EMS call int Ems or ah,ah ; Set flags jnz error xor ax,ax ; return OK pop si ; Restore regs pop ds ret error: pop si ; Restore regs pop ds mov al,ah ; AL gets error code xor ah,ah ; Zero extend mov errno,ax ; Save in errno too ret EMS_Ems@restPartialMap40 endp ; End of procedure end ; End of source file