-
-
[旧帖]
[求助]Win32汇编中的一个标号问题,不见其跳转
0.00雪花
-
发表于:
2011-9-26 20:00
1443
-
[旧帖] [求助]Win32汇编中的一个标号问题,不见其跳转
0.00雪花
_FormatText proc uses esi _lpData,_dwSize,_hFile
local @szBuffer[128]:byte,@dwBytesWrite
mov esi,_lpData
mov ecx,_dwSize
lea edi,@szBuffer
xor edx,edx
cld
_LoopBegin:
or ecx,ecx ;判断ecx是否为0,or之后zf相应变化,以配合后面的jz指令 (如果ecx值为0,zf置位)
jz _WriteLine ;zf值为1则跳转
lodsb ;将esi 放入al 比较,esi 减少
dec ecx
cmp al,0dh ;遇到0dh则丢弃
jz _LoopBegin
cmp al,0ah ;遇到0ah则扩展为0dh,0ah
jz _LineEnd
stosb ;al 拷贝到edi处
inc edx
cmp edx,sizeof @szBuffer-2
jae _WriteLine ;行缓冲区满则保存
jmp _LoopBegin
_LineEnd:
mov ax,0a0dh
stosw
inc edx
inc edx
_WriteLine:
push ecx
.if edx
invoke WriteFile,_hFile,addr @szBuffer,edx,addr @dwBytesWrite,NULL
.endif
lea edi,@szBuffer
xor edx,edx
pop ecx
or ecx,ecx
jnz _LoopBegin ;ecx不为0则跳转
ret
_FormatText endp
那个_LoopBegin:标号是在哪里被调用的,求赐教,不胜感激
[培训]传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!