123456789101112131415161718192021222324252627 |
- .globl setjmp
- setjmp:
- mov (%rsp), %rsi
- mov %rsi, (%rdi)
- mov %rsp, 0x8(%rdi)
- mov %rbp, 0x10(%rdi)
- mov %rbx, 0x18(%rdi)
- mov %r12, 0x20(%rdi)
- mov %r13, 0x28(%rdi)
- mov %r14, 0x30(%rdi)
- mov %r15, 0x38(%rdi)
- xor %eax, %eax
- ret
- .globl longjmp
- longjmp:
- mov %esi, %eax
- mov 0x38(%rdi), %r15
- mov 0x30(%rdi), %r14
- mov 0x28(%rdi), %r13
- mov 0x20(%rdi), %r12
- mov 0x18(%rdi), %rbx
- mov 0x10(%rdi), %rbp
- mov 0x8(%rdi), %rsp
- mov (%rdi), %rsi
- mov %rsi, (%rsp)
- ret
|