setjmp.s

来自「Newlib 嵌入式 C库 标准实现代码」· S 代码 · 共 54 行

S
54
字号
/* * ==================================================== * Copyright (C) 2007 by Ellips BV. All rights reserved. * * Permission to use, copy, modify, and distribute this * software is freely granted, provided that this notice * is preserved. * ==================================================== */ /* **  jmp_buf: **   rbx rbp r12 r13 r14 r15 rsp rip **   0   8   16  24  32  40  48  56 */  #include "x86_64mach.h"  .global SYM (setjmp)  .global SYM (longjmp)  SOTYPE_FUNCTION(setjmp)  SOTYPE_FUNCTION(longjmp)SYM (setjmp):  movq    rbx,  0 (rdi)  movq    rbp,  8 (rdi)  movq    r12, 16 (rdi)  movq    r13, 24 (rdi)  movq    r14, 32 (rdi)  movq    r15, 40 (rdi)  leaq    8 (rsp), rax  movq    rax, 48 (rdi)  movq    (rsp), rax  movq    rax, 56 (rdi)  movq    $0, rax  retSYM (longjmp):  movq    rsi, rax        /* Return value */  movq     8 (rdi), rbp  __CLI  movq    48 (rdi), rsp  pushq   56 (rdi)  movq     0 (rdi), rbx  movq    16 (rdi), r12  movq    24 (rdi), r13  movq    32 (rdi), r14  movq    40 (rdi), r15  __STI  ret

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?