首页 > 其他分享 >X86-64 Reference Sheet

X86-64 Reference Sheet

时间:2024-08-18 18:07:59浏览次数:14  
标签:functions used Sheet X86 No argument rbp 64 pass

X86-64 Reference Sheet I

https://www.cs.cmu.edu/afs/cs/academic/class/15213-s20/www/recitations/x86-cheat-sheet.pdf


X86-64 Reference Sheet II

Registers

Register

Purpose

Saved across calls

%rax

temp register; return value

No

%rbx

callee-saved

Yes

%rcx

used to pass 4th argument to functions

No

%rdx

used to pass 3rd argument to functions

No

%rsp

stack pointer

Yes

%rbp

callee-saved; base pointer

Yes

%rsi

used to pass 2nd argument to functions

No

%rdi

used to pass 1st argument to functions

No

%r8

used to pass 5th argument to functions

No

%r9

used to pass 6th argument to functions

No

%r10-r11

temporary

No

%r12-r15

callee-saved registers

Yes



Stack Organization

Position

Contents

Frame

8n+16(%rbp)

argument n

Previous

...

...

16(%rbp)

argument 7

8(%rbp)

return address

Current

0(%rbp)

previous %rbp value

-8(%rbp)

locals and temps

...

0(%rsp)


Prologue: 

// call -> pushs %rip onto stack
push %ebp
mov %esp, %ebp

Epilogue:

mov %ebp, %esp
pop %ebp
// ret -> pops %rip from stack

 

SIMD: MMX, SSE, AVX

512-bit

256-bit

128-bit

Preserved

Usage

zmm0

ymm0

xmm0

 

arg1, return

zmm1

ymm1

xmm1

 

arg2

zmm7

ymm7

xmm7

 

arg8

zmm8

ymm8

xmm8

   

zmm15

ymm15

xmm15

   

Example:

double foo(double x, int y) {
  return x + (double) y;
}

_Z3foodi:
	cvtsi2sd	%edi, %xmm1
	addsd	%xmm1, %xmm0
	ret

 

标签:functions,used,Sheet,X86,No,argument,rbp,64,pass
From: https://www.cnblogs.com/william-cheung/p/18365863

相关文章

  • Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
    yuminstall报错:Cannotfindavalidbaseurlforrepo:centos-sclo-rh/x86_64问题原因CentOS7的SCL源在2024年6月30日停止维护了。当scl源里面默认使用了centos官方的地址,无法连接,需要替换为阿里云。解决办法1、重命名原来的文件:cd/etc/yum.repos.d/找到CentOS-SC......
  • Magnet AXIOM 8.0 Windows x64 Multilingual - 数字取证与分析
    MagnetAXIOM8.0Windowsx64Multilingual-数字取证与分析DigitalForensicSoftware请访问原文链接:https://sysin.org/blog/magnet-axiom/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgMagnetAXIOM-恢复并分析一个案件中的证据检查来自移动、云、......
  • 642java jsp SSM疫情防控管理系统(源码+文档+任务书+运行视频+讲解视频)
     项目技术:SSM+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows7/8/1......
  • abc364 题解
    第一次场切A~F,写个题解纪念一下。比赛链接:https://atcoder.jp/contests/abc367A-ShoutEveryday题意:高桥每天\(B\)时刻睡觉,\(C\)时刻起床(\(B,C\)时刻也在睡觉),请问高桥\(A\)时刻是否没睡。思路:对于\(B<=C\)和\(B>C\)分别处理即可。代码:https://atcoder.jp/con......
  • P5642 人造情感(emotion)
    link考虑\(W(U)\)怎么求。定义\(f_x\)表示只考虑所有在\(x\)子树内的路径时最大收益,\(sum_x\)为只考虑\(x\)子树中路径,且钦定\(x\)不选的最大收益。\(g\)的转移显然:\(g_x=\sumf_{to}\)\(f\)转移考虑枚举\(\text{lca}=x\)的所有路径\((u,v,w)\),有:\(f_x\longle......
  • 《艾尔登法环》游戏启动时闪退提示缺少bink2w64.dll文件该怎么修复?艾尔登法环游戏崩溃
    当系统提示缺少bink2w64.dll文件时,您不必过于担忧。可以尝试重新安装相关软件来解决,或者从正规网站下载该文件并放置到指定目录。也可以利用系统的修复工具进行修复,多种途径助您解决这一问题。本篇将为大家带来缺少bink2w64.dll文件的修复方法的内容,感兴趣的小伙伴们一起来看看......
  • [AGC064C] Erase and Divide Game
    link感觉题解说的都很不清晰,这里只谈个人理解。考虑操作的本质是什么,两人从低到高确定二进制下的每一位填的数,并且场上只保留对应后缀的数字,当场上没有数字时当前操作者输。设\(f[i,S]\)表示确定了前\(i\)位,填的数为\(S\),接下来先手是否能赢,那么有\(f[i,S]=\neg(f[i......
  • 2788647047_py
    importsocketimportcsv#读取文件中的域名列表withopen("111.txt","r")asf:domains=[line.strip()forlineinf.readlines()ifline.strip()]#查询域名对应的IP地址ip_addresses={}fordomainindomains:try:ip=socket.gethostbyname(d......
  • 2788647047_py2
    importrequestsimportcsvfrombs4importBeautifulSoupdefget_domain_update_time(domain):"""获取域名在GitHub上的更新时间。Args:domain:域名。Returns:域名的更新时间(UTC)。"""url=f"https://api.github.com/search/code?q......
  • springboot电竞专题网站的设计与实现-附源码641314
    摘 要近年来,随着移动互联网的快速发展,电子商务越来越受到网民们的欢迎,电子商务对国家经济的发展也起着越来越重要的作用。简单的流程、便捷可靠的支付方式、快捷畅通的物流快递、安全的信息保护都使得电子商务越来越赢得网民们的青睐。现今,大量的计算机技术应用于商业领域,......