home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS - Coast to Coast
/
simteldosarchivecoasttocoast2.iso
/
awk
/
awk320sr.zip
/
SETARGV.DIF
< prev
next >
Wrap
Text File
|
1988-10-02
|
3KB
|
98 lines
***** setargv.old
inc bx ; BX = Nb of arguments (at least 1)
Processing label near
***** setargv.new
inc bx ; BX = Nb of arguments (at least 1)
xor ah, ah ; setup for processing
Processing label near
*****
***** setargv.old
call NextChar
ja NotQuote ; Not a quote and there are more
InString label near
jb BuildArgv ; Command line is empty now
call NextChar
ja InString ; Not a quote and there are more
NotQuote label near
cmp al, ' '
***** setargv.new
call NextChar
jb BuildArgv ; Command line is empty now
jz InString ; Quote found
cmp al, ' '
*****
***** setargv.old
cmp al, 9
jne Processing ; \t is an argument separator
EndArgument label near
***** setargv.new
cmp al, 9
je EndArgument ; \t is an argument separator
mov ah,1
jmp Processing ; process next character
EndArgument label near
*****
***** setargv.old
xor al, al ; Space and TAB are argument separators
jmp short Processing
***** setargv.new
xor al, al ; Space and TAB are argument separators
jmp Processing ; process next character
InString label near
call NextChar
jb BuildArgv ; Command line is empty now
jnz InString ; Not a quote
jmp Processing ; process next character
*****
***** setargv.old
NextChar PROC NEAR
or ax, ax
jz NextChar0
***** setargv.new
NextChar PROC NEAR
or ah, ah
jz NextChar0
*****
***** setargv.old
NextChar0 label near
xchg ah, al
xor al, al
stc
***** setargv.new
NextChar0 label near
mov ah, al
stc
*****
***** setargv.old
dec cx
sub al, '"'
jz NextChar2 ; Quote found --> AL = 0 and ZF ON
add al, '"'
cmp al,'\'
***** setargv.new
dec cx
cmp al, '"'
je NextChar3 ; Quote found
cmp al,'\'
*****
***** setargv.old
ret
NextChar ENDP
***** setargv.new
ret
NextChar3 label near
xor ah, ah ; Set ZF on AH = 0 and AL = '"'
ret
NextChar ENDP
*****