请问一下MASM代码如何转换成NASM代码
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 取指定位置的命令行参数
; argv 0 = 执行文件名
; argv 1 = 参数1 ...
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_argv proc _dwArgv,_lpReturn,_dwSize
local @dwArgv,@dwFlag
pushad
inc _dwArgv
mov @dwArgv,0
mov edi,_lpReturn
invoke GetCommandLine
mov esi,eax
cld
_argv_loop:
;********************************************************************
; 忽略参数之间的空格
;********************************************************************
lodsb
or al,al
jz _argv_end
cmp al,CHAR_BLANK
jz _argv_loop
;********************************************************************
; 一个参数开始
; 如果和要求的参数符合,则开始复制到返回缓冲区
;********************************************************************
dec esi
inc @dwArgv
mov @dwFlag,FALSE
mov eax,_dwArgv
cmp eax,@dwArgv
jnz @F
mov @dwFlag,TRUE
@@:
_argv_loop1:
lodsb
or al,al
jz _argv_end
cmp al,CHAR_BLANK
jz _argv_loop ;参数结束
cmp al,CHAR_DELI
jz _argv_loop2
cmp _dwSize,1
jle @F
cmp @dwFlag,TRUE
jne @F
stosb
dec _dwSize
@@:
jmp _argv_loop1 ;继续处理参数内容
_argv_loop2:
lodsb
or al,al
jz _argv_end
cmp al,CHAR_DELI
jz _argv_loop1
cmp _dwSize,1
jle @F
cmp @dwFlag,TRUE
jne @F
stosb
dec _dwSize
@@:
jmp _argv_loop2
_argv_end:
xor al,al
stosb
popad
ret
_argv endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 转换字符串的值
; 参数:字符串地址,进制(缺省为10进制)
; 返回:数值
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_GetStringValue proc _lpString,_dwBase
local @dwValue
pushad
mov ebx,_dwBase
.if ebx == 0
mov ebx,10
.endif
xor eax,eax
mov esi,_lpString
_GSV_Loop:
mov cl,[esi]
inc esi
or cl,cl
jz _GSV_LoopEnd
; cmp cl,20h
; jz _GSV_Loop
cmp cl,'0'
jb _GSV_LoopEnd
cmp cl,'9'
ja _GSV_Check1
sub cl,'0'
jmp _GSV_CheckOK
_GSV_Check1:
or cl,20h
cmp cl,'a'
jb _GSV_LoopEnd
cmp cl,'f'
ja _GSV_LoopEnd
sub cl,'a'-10
_GSV_CheckOK:
movzx ecx,cl
cmp ecx,ebx
jae _GSV_LoopEnd
mul ebx
add eax,ecx
jmp short _GSV_Loop
_GSV_LoopEnd:
mov @dwValue,eax
popad
mov eax,@dwValue
ret
_GetStringValue endp
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>