123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- .text
- .globl setjmp
- #ifndef __MINGW32__
- .type setjmp, @function
- #else
- .def setjmp; .scl 2; .type 32; .endef
- #endif
- setjmp:
- pop %rsi
- movq %rbx,0x00(%rdi)
- movq %rsp,0x08(%rdi)
- push %rsi
- movq %rbp,0x10(%rdi)
- movq %r12,0x18(%rdi)
- movq %r13,0x20(%rdi)
- movq %r14,0x28(%rdi)
- movq %r15,0x30(%rdi)
- movq %rsi,0x38(%rdi)
- xor %rax,%rax
- ret
- .globl longjmp
- #ifndef __MINGW32__
- .type longjmp, @function
- #else
- .def longjmp; .scl 2; .type 32; .endef
- #endif
- longjmp:
- movl %esi, %eax
- movq 0x00(%rdi), %rbx
- movq 0x08(%rdi), %rsp
- movq 0x10(%rdi), %rbp
- movq 0x18(%rdi), %r12
- movq 0x20(%rdi), %r13
- movq 0x28(%rdi), %r14
- movq 0x30(%rdi), %r15
- xor %rdx,%rdx
- mov $1,%rcx
- cmp %rax,%rdx
- cmove %rcx,%rax
- jmp *0x38(%rdi)
- #if defined(__ELF__) && defined(__linux__)
- .section .note.GNU-stack,"",%progbits
- #endif
|