📄 getenv.asm
字号:
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -