; more source code at http://www.ahjoe.com/source/srcdown.asp PUBLIC GETENVSTR CODE SEGMENT ASSUME CS:CODE GETENVSTR PROC FAR ;IN: DS=PSP SEG. ; ES:BX -> ENV VAR NAME ;OUT: DS:DX -> ENV VAR VALUE; IF DX=0FFFFH, NOT FOUND PUSH AX PUSH BX PUSH SI PUSH DI XOR DI, DI MOV DX, BX MOV DS, DS:[2CH] REPEAG: MOV BX, DX FINDREP: MOV AL, ES:[BX] CMP AL, DS:[DI] JNZ NOTEQU INC BX INC DI JMP FINDREP NOTEQU: CMP BYTE PTR DS:[DI], '=' JNZ NOTEQUCH CMP BYTE PTR ES:[BX], 0 JZ FOUNDIT NOTEQUCH: CMP BYTE PTR DS:[DI], 0 JZ LOCAZERO INC DI JMP NOTEQUCH LOCAZERO: INC DI CMP BYTE PTR DS:[DI], 0 JNZ REPEAG MOV DX, 0FFFFH JMP GETENVOK FOUNDIT: MOV DX, DI INC DX GETENVOK: POP DI POP SI POP BX POP AX RETF GETENVSTR ENDP CODE ENDS END GETENVSTR