home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Serving the Web
/
ServingTheWeb1995.disc1of1.iso
/
connect
/
tcpip
/
crynwr
/
exp16116
/
getenv.asm
< prev
next >
Wrap
Assembly Source File
|
1992-08-05
|
756b
|
38 lines
phd_enviorn equ 2ch
getenv:
;enter with si->environ string to search for.
;exit with cy if not found, or nc, es:di->value if found.
mov es,cs:[phd_enviorn] ;get our enviornment segment.
xor di,di
getenv_1:
push si
push di
getenv_2:
lodsb ;get a character.
or al,al ;end of string?
je getenv_3 ;yes.
scasb ;did it match?
je getenv_2 ;yes.
getenv_3:
je getenv_4
pop di
pop si
xor al,al ;skip to the next string.
mov cx,100h ;no string can be longer than 256 bytes.
repnz scasb
jne getenv_5 ;go if environment is trashed.
cmp byte ptr es:[di],0 ;is this the last one?
jnz getenv_1 ;no - try again.
getenv_5:
stc
ret
getenv_4:
add sp,4 ;pop the old stuff off the stack.
clc
ret