push 0x1000
If you can save on registration (and you don't mind dropping the flags), how about something like:
xor eax, eax inc eax shl eax, 12 push eax
mov BYTE [eax],0x31
Zero here does not come from a constant, but from the addressing mode. Try:
xchg eax, ecx mov BYTE [ecx],0x31 xchg eax, ecx
source share