;************************************************************** ;*** EMS540.ASM *** ;*** *** ;*** function EMS_Ems.getAllHandleNames40( *** ;*** var info_list: EMS_HandleNameInfoArr;*** ;*** : Boolean; *** ;*** *** ;*** *** ;*** Fill 8 byte handle names to 2550 MAX entries *** ;*** *** ;*** 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@getAllHandleNames40 extrn errno:WORD .code EMS_Ems@getAllHandleNames40 proc info_list:Far Ptr Byte, self:DWord push di ; Save DI les di,info_list ; ES:DI gets address of buffer mov ax,GetAllHandleNames40 ; Make the EMS call int Ems or ah,ah ; Set flags jnz error xor ax,ax ; Return OK pop di ; Restore DI ret error: pop di ; Restore DI mov al,ah ; AL gets error code xor ah,ah ; Zero extend mov errno,ax ; Save in errno too ret EMS_Ems@getAllHandleNames40 endp ; End of procedure end ; End of source file