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 非易失的 必须根据需要由被调用方保留。
  • 相关阅读:
    分布式框架---Dubbox 简介
    MySql 多表查询
    MySql 增删改查
    redis
    spring security 自定义登录页面及从数据库查询账户登录
    java数据结构-
    Maven-
    有关多行相同数据,只显示在第一行的实现
    javaWEB的第一次MVC之旅
    JavaWeb中的 请求转发 和 重定向
  • 原文地址:https://www.cnblogs.com/zengkefu/p/7087376.html
Copyright © 2011-2022 走看看