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 非易失的 必须根据需要由被调用方保留。
  • 相关阅读:
    C#调用VC++.net托管库程序集DLL
    SQL Server 2008 评估期已过期解决办法
    TFS2010安装(转)
    将dll添加到GAC(Global Assembly Cache)中
    LINQ to SQL with NOLOCK
    SQL Server 2008创建定期自动备份任务(转)
    问题解决记录(一)
    控制台读入
    数据库
    a标签的onclick与href的执行顺序
  • 原文地址:https://www.cnblogs.com/zengkefu/p/7087376.html
Copyright © 2011-2022 走看看