home *** CD-ROM | disk | FTP | other *** search
- ;char seek_expanded();
-
- EXTRN _memory_model:byte
- EXTRN _error_code:byte
-
- _TEXT SEGMENT BYTE PUBLIC 'CODE'
- ASSUME CS:_TEXT
- PUBLIC _seek_expanded
- _seek_expanded proc near
- mov ah,35h ;function to search INT vector
- mov al,67h ;EMS vector
- int 21h ;
- or bx,bx ;zero?
- jnz L1 ;go test for board if not
- mov ax,es ;test segment too
- or ax,ax ;
- jnz L1 ;
- mov _error_code,1 ;else set error message
- mov al,0 ;
- ret ;
- L1: mov ah,40h ;function number
- int 67H ;EMS interrupt
- mov al,1 ;return value = TRUE
- mov _error_code,0 ;0 = no error
- or ah,ah ;returns 0 if present
- jz L2 ;jump if no error
- dec al ;return value = FALSE
- inc _error_code ;1 = software malfunction
- cmp ah,80h ;test
- je L2 ;jump if error 1
- inc _error_code ;2 = hardware malfunction
- L2: cmp _memory_model,0 ;quit
- jle Quit ;
- db 0CBh ;RET far
- Quit: ret ;RET near
- _seek_expanded endp
- _TEXT ENDS
- END