zoukankan      html  css  js  c++  java
  • x64 寄存器使用

    http://blog.csdn.net/cosmoslife/article/details/8771773

    http://blog.csdn.net/herx1/article/details/3134889

    x64 结构提供了 16 个通用寄存器(以后称为整数寄存器),以及 16 个可供浮点使用的 XMM 寄存器。易失寄存器是由调用方假想的临时寄存器,并要在调用过程中销毁。非易失寄存器需要在整个函数调用过程中保留其值,并且一旦使用,则必须由被调用方保存。

    下表说明了每种寄存器在整个函数调用过程中的使用方法:

    Register 状态 请使用
    RAX 易失的 返回值寄存器
    RCX 易失的 第一个整型参数
    RDX 易失的 第二个整型参数
    R8 易失的 第三个整型参数
    R9 易失的 第四个整型参数
    R10:R11 易失的 必须根据需要由调用方保留;在 syscall/sysret 指令中使用
    R12:R15 非易失的 必须由被调用方保留
    RDI 非易失的 必须由被调用方保留
    RSI 非易失的 必须由被调用方保留
    RBX 非易失的 必须由被调用方保留
    RBP 非易失的 可用作帧指针;必须由被调用方保留
    RSP 非易失的 堆栈指针
    XMM0 易失的 第一个 FP 参数
    XMM1 易失的 第二个 FP 参数
    XMM2 易失的 第三个 FP 参数
    XMM3 易失的 第四个 FP 参数
    XMM4:XMM5 易失的 必须根据需要由调用方保留
    XMM6:XMM15 非易失的 必须根据需要由被调用方保留。
  • 相关阅读:
    实现一个WEBIM
    拼写纠错
    UML系列图用例图
    [bzoj1670][Usaco2006 Oct]Building the Moat
    [bzoj3626][LNOI2014]LCA
    转:用JS写的一个树型结构
    一个购物车中修改商品数量的实列
    网站访问统计在Global.asax中的配置的深入讨论
    转:JavaScript中的三级联动
    转:用Sql Server存储上载图片字体
  • 原文地址:https://www.cnblogs.com/zengkefu/p/7087376.html
Copyright © 2011-2022 走看看