home *** CD-ROM | disk | FTP | other *** search
- ; _TR_PEEK.ASM
- ;
- ; by Ralph Davis
- ; modified by Leonard Zerman
- ;
- ; Placed in the public domain by Tom Rettig Associates, 10/22/1990.
- ;
- PUBLIC _TR_PEEK_PARMS
-
- EXTRN __TR_HTOI:FAR
-
- INCLUDE EXTENDA.MAC
-
- ;*****************************************************
- _TR_PEEK_TEXT SEGMENT BYTE PUBLIC 'CODE'
- ASSUME CS:_TR_PEEK_TEXT
- ;-----------------------------------------------------
- _TR_PEEK_PARMS PROC FAR
- ;
- ; processes parameters passed to PEEK() functions
- ;
- ; RETURNS: Segment in SI, offset in AX
- ;-------------------
- PUSH BX
- GET_PCOUNT ; call _parinfo(0) to
- ; make sure parameter was passed
- CMP AX,2 ; do we have two parameters?
- JL PGP_RET ; no, go to error routine
- GET_CHAR 1 ; PCOUNT OK, so get parameters
- PUSH DX ; now pass address to _TR_HTOI
- PUSH AX
- CALL __TR_HTOI ; returns integer in AX
- ADD SP,4
- PUSH AX ; first parameter is segment address
- ; save it
- GET_PTYPE 2 ; call _parinfo() to see if offset
- ; is hex string or number
- AND AX,CHARACTER ; is it hex string?
- JNZ PGP_2 ; yes, use _parc()
- GET_INT 2 ; no, get offset as int
- JMP SHORT PGP_3
- PGP_2:
- GET_CHAR 2 ; Get parm 2 as char *
- PUSH DX ; Pass it to _tr_htoi()
- PUSH AX
- CALL __TR_HTOI ; returns offset as integer in AX
- ADD SP,4
- PGP_3:
- POP SI ; retrieve requested segment address
- POP BX
- PGP_RET: RET
-
- _TR_PEEK_PARMS ENDP
- ;------------------------------------------------
- _TR_PEEK_TEXT ENDS
- ;************************************************
- END
-