void foo(){
asm{
neg EAX;
je L2;
L1:
neg EAX;
jne L1;
L2:
inc EAX;
}
}
results in:
_D1a3fooFZv:
push EBP
mov EBP,ESP
neg EAX
je LF
jmp short L9
L9: neg EAX
jne L9
jmp short LF
LF: inc EAX
pop EBP
ret
but should be:
_D1a3fooFZv:
push EBP
mov EBP,ESP
neg EAX
je LF
L9: neg EAX
jne L9
LF: inc EAX
pop EBP
ret