;**************************************************************
;***    EMS40.ASM                                           ***
;***                                                        ***
;***    function        EMS_Ems.getStatus                   ***
;***                        : Boolean;                      ***
;***                                                        ***
;***    Returns 0 for OK status or an error                 ***
;***    code.                                               ***
;***                                                        ***
;***    (Ems Version 3.0)                                   ***
;**************************************************************

;--------------------------------------
;
; Declare memory model and language
;

        .model  large,pascal     

;--------------------------------------
;
; Include ems definition file
;

        include emsdefs.asm 

;--------------------------------------
;
; Declare errno as extrn to this
; module
;

        extrn   errno:WORD 

;--------------------------------------
;
; Declare function as PUBLIC
;

        public  EMS_Ems@getStatus

;--------------------------------------
;
; Begin code segment
;

        .code

EMS_Ems@getStatus   proc    self: DWord

        mov     ah,GetStatus            ; Move function code
        int     Ems                     ; Do the ems call

;
;   Return AH to caller
;
        mov     al,ah
        xor     ah,ah                   ; Zero high byte
        mov     errno,ax                ; Save in errno too
        ret                             ; Return to caller

EMS_Ems@getStatus   endp                ; End of procedure

        end                             ; End of source file
