x64 寄存器使用_cosmoslife的博客-程序员ITS304

技术标签: 汇编编程学习  

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 非易失的 必须根据需要由被调用方保留。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cosmoslife/article/details/8771773

智能推荐

CH340G芯片被电脑无法识别_为dream而生的博客-程序员ITS304_ch340无法识别

作为一个绘制pcb的新手在CH340G模块调试上把所有的错误都犯完了1.找了百度图片的一个电路图,发现根本不能用。电路犯了两个致命错误,1.第四管脚“U3”接地;在5伏供电的方式下,第四管脚应该接一个0.01uf的退耦电脑,这个问题导致我上电,烧芯片。2.没有加滤波电容,这也是我一直没有发现的问题,在大牛的指导下我才知道滤波电容的重要性,在VCC和GND加了22uf和0.1uf的滤波电容(普通电容...

Spry学习(二)----XML数据集及主从表显示 _majkandy的博客-程序员ITS304

页面代码:test.html 1head> 2    meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 3    title>Spry Exampletitle> 4     5    Link the Spry libraries--> 6    script type="text/javascript"

Apache Kafka 2.7.0 稳定版发布,有哪些值得关心的变化?_过往记忆的博客-程序员ITS304

Apache Kafka 2.7.0 于2020年12月21日正式发布,这个版本是目前 Kafka 最新稳定版本,大家可以根据需要自行决定是否需要升级到次版本,关于各个版本升级到 Apa...

How to sync a fork repo to keep it up-to-date with the upstream repo on Windows?_Benjamin_Xu的博客-程序员ITS304

In this article I'll introuduce how to sync a fork repo to keep it up-to-date with the upstream repo on Windows7 or other Win-OS.Because the sync's operation on Linux&&Unix is easier than on Windows

ChemDraw 16最新版本发布 更效率科研的首选_weixin_33958366的博客-程序员ITS304

ChemDraw一直是全球领先的科学绘图软件,致力于为科学家、教师以及学生提供最新的智能应用程序。ChemDraw 16版本相较于15版本做出了较大的改进,大大缩短科研时间,提高科研效率。扩展Name-to-Structure库, 完美兼容win10和Office 365、3D建模等。ChemDraw 16最新版体验地址:http://www.chemdraw.com.cn/xiazai.ht...

Spring Boot 引入Elasticsearch7_不会飞的鹰m的博客-程序员ITS304_elasticsearch7 springboot

Spring Boot 引入Elasticsearch7前置条件这里使用的Elasticsearch版本为7.26,之前有在ELK安装中有介绍过了具体安装方法。有想法的小伙伴可以去考古一下!在这里的使用场景需要将多个数据库的数据增量同步到ES中,使用到了Logstash导入数据库数据到ES,而到了这一步是为了去查询ES中存在的数据,并对数据进行处理统计。引入依赖<!-- 这里使用的Spring boot 2.3.5.RELEASE 兼容 Elasticsearch7.* 其他版本请自行百度

随便推点

linux基础知识 基础命令,Linux基础知识之history命令详解_weixin_39900023的博客-程序员ITS304

该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统。为什么要学习history命令?history命令是Linux的一个内嵌的shell命令,history命令的使用有时会大大缩短我们输入命令的时间,达到节省命令快捷操作的要求。学会history命令之后,我们可以隐藏一些含有敏感信息的命令输入,做到使系统更加安全的目的。我们还可以定...

PCBA/DR4019S-Qualcomm-IPQ4019-2T2R-Dual-Band-2-4GHz-5GHz-support-OpenWRT-802.11ac-Wave-2_Wallys-wireless的博客-程序员ITS304

https://www.wallystech.com/Routerboard/DR4019S-Qualcomm-IPQ4019-2T2R-Dual-Band-2-4GHz-5GHz-support-OpenWRT-802.11ac-Wave-2.htmlWEB:http://www.wallystech.com EMA...

多视图几何三维重建实战系列- Cascade-MVSNet_Tom Hardy的博客-程序员ITS304

点击上方“计算机视觉工坊”,选择“星标”干货第一时间送达MVSNet在2018年提出后,在估计深度图的应用中取得了非常好的结果。应用CNN于立体匹配的技术也使得传统的匹配效率整体提高。但是...

VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 未能将管道连接到虚拟机: 系统找不到指定的文件。_蓝色小靴子的博客-程序员ITS304_vmware未能将管道连接到虚拟机:系统找不到指定的文件

今天碰到了VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 未能将管道连接到虚拟机: 系统找不到指定的文件问题,应该是上次关闭虚拟机时出现了问题。最终如下用如下方法解决:1.右键VMware选择属性,进入兼容性界面,把以管理员身份运行勾上2.再次打开虚拟机发现出现新错误:VMX进程已提前退出解决方案:打开开始菜单设置应用下拉找到VMware点击修改选择下一歩点击修复修复...

流媒体服务器(4)—— 流媒体协议系列之RTMP_Data-Mining的博客-程序员ITS304

RTMP一、总体介绍RTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。RTMP工作在TCP之上,默认使用端口1935。工作原理:RTMP 的 message 会切分为 n 个 chunk,再通过TCP协议传输。为什么 rtmp 基于 tcp 协议,tcp 协议已经有化整为零的方式, rtmp 还需要将 message 划分更小的单元 chunk 呢?分析原...