.intel_syntax noprefix | |
.text | |
.globl _ClobberAndCall | |
_ClobberAndCall: | |
.globl ClobberAndCall | |
ClobberAndCall: | |
/* Load the target function. */ | |
mov eax, [esp+0x4] | |
/* Code register. */ | |
push edi | |
mov edi, 1 | |
/* Thread register. */ | |
push esi | |
mov esi, 1 | |
/* Arguments descriptor register (volatile). */ | |
mov edx, 1 | |
/* Clobber all other volatile registers. */ | |
mov ecx, 1 | |
mov edx, 1 | |
/* Align the frame to 16 bytes. */ | |
sub esp, 4 | |
call eax | |
add esp, 4 | |
pop esi | |
pop edi | |
ret |