home *** CD-ROM | disk | FTP | other *** search
- ; PEEKLONG.ASM
- ;
- ; by Ralph Davis
- ; modified by Leonard Zerman
- ;
- ; Placed in the public domain by Tom Rettig Associates, 10/22/1990.
- ;
- PUBLIC PEEKLONG
-
- EXTRN _TR_PEEK_PARMS:FAR
-
- INCLUDE EXTENDA.MAC
-
-
- ;*****************************************************
- PEEKLONG_TEXT SEGMENT BYTE PUBLIC 'CODE'
- ASSUME CS:PEEKLONG_TEXT
- ;-----------------------------------------------------
- ;
- ; PEEKLONG(segment, offset)
- ;
- ; segment = SPACE(4) && hexadecimal string
- ; offset = number < 65536 or hexadecimal string
- ;
- ; Returns: double word at segment:offset as a long integer
- ; -1 if less than two parameters passed
- ;
- ;--------------
- PEEKLONG PROC FAR
- PUSH BP
- MOV BP,SP
- PUSH DS
- PUSH ES
- PUSH SI
- CALL _TR_PEEK_PARMS
- JL PEEKLONG_ERR ; Sign flag set means less than 2 parms
- MOV DS,SI
- MOV SI,AX ; DS:SI now points to requested double word
- MOV BX,[SI] ; pick it up
- MOV AX,[SI+2] ; in AX:BX
- JMP SHORT PEEKLONG_EXIT ; and we're done
- PEEKLONG_ERR:
- MOV AX,-1 ; return -1 for error condition
- MOV BX,AX
- PEEKLONG_EXIT:
- POP SI
- POP ES
- POP DS
- POP BP
- RET_LONG AX,BX ; return long integer to caller
- RET
- PEEKLONG ENDP
- ;------------------------------------------------
- PEEKLONG_TEXT ENDS
- ;************************************************
- END
-