;************************************************************** ;*** EMS4E1.ASM *** ;*** *** ;*** function EMS_Ems.restPageMap32( *** ;*** restore_buffer: Pointer) *** ;*** : Boolean; *** ;*** *** ;*** Returns 0 for OK status or an error *** ;*** code. *** ;*** *** ;*** (Ems Version 3.2) *** ;************************************************************** .model large,pascal include emsdefs.asm extrn errno:WORD ; ; Define entry point ; public EMS_Ems@restPageMap32 .code EMS_Ems@restPageMap32 proc restore_buff:Far Ptr DWord, self:DWord push ds ; Save ds push si ; Save si lds si,restore_buff ; Get buffer address into DS:SI mov ax,RestPageMap32 int Ems or ah,ah ; Check for error jnz error xor ax,ax ; Return a zero meaning no error pop si ; Restore si pop ds ; Restore ds ret ; Return to caller error: pop si ; Restore si pop ds ; Restore ds mov al,ah xor ah,ah ; Zero high byte mov errno,ax ; Save in errno too ret ; Return to caller EMS_Ems@restPageMap32 endp ; End of procedure end ; End of source file