Skip to content

Instantly share code, notes, and snippets.

@Zer0xFF
Created April 22, 2020 19:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Zer0xFF/e597b49a728ddd58e9d618d95f91614d to your computer and use it in GitHub Desktop.
Save Zer0xFF/e597b49a728ddd58e9d618d95f91614d to your computer and use it in GitHub Desktop.
asm(
"mov %0, %%rsi\n\t"
"mov %1, %%rdi\n\t"
"call _trumpoline\n\t"
:
:
"r" (m_code), "g"(context)
: "rsi", "rdi"
);
.text
.global _trumpoline
_trumpoline:
push %rbp
push %rax
push %rcx
push %rdx
push %rbx
push %rsi
push %rdi
push %r8
push %r9
push %r10
push %r11
push %r12
push %r13
push %r14
push %r15
callq *%rsi
pop %r15
pop %r14
pop %r13
pop %r12
pop %r11
pop %r10
pop %r9
pop %r8
pop %rdi
pop %rsi
pop %rbx
pop %rdx
pop %rcx
pop %rax
pop %rbp
ret
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment