X64 架构 通用寄存器

本文详细介绍了在x86_64平台上进行调试时遇到的寄存器,包括16个通用寄存器的分类、别名和功能,以及RIP和EFLAGS的作用。还涵盖了X64架构下的段寄存器和描述符的概念,如内存描述符、系统段描述符和任务状态段。
摘要由CSDN通过智能技术生成
[suweishuai@vmware test]$ arch
x86_64
我在 x86_64 调试 x86_64 上跑的 代码,免不了要跟 x86_64 打交道
调试的时候会遇到 x86_64 的一些寄存器 , 这里 对遇到的寄存器描述一下 , 只考虑 16个通用寄存器+eflags+rip
1.寄存器都是64位的
2.16个通用寄存器,细分为3(4数据寄存器、2变址寄存器、2指针寄存器、8通用寄存器)
3.大多数通用寄存器,可以有别名 来 索引 1 2 4 字节
4.1个指令指针寄存器(RIP) 和 一个标志寄存器(EFLAGS)
  • x86_64 下 16个寄存器的 ABI name
序号8字节name4字节name2字节name1字节nameABI
0raxeaxaxah/alreturn value
1rbxebxbxbh/blcallee saved
2rcxecxcxch/cl4th argument
3rdxedxdxdh/dl3rd argument
------
4rsiesisisil1st argument
5rdiedididilcallee saved
6rbpebpbpbpl2nd argument/不是栈帧
7rspespspsplstack pointer
------
8r8r8dr8wr8b5th argument
9r9r9dr9wr9b6th argument
10r10r10dr10wr10bcaller saved
11r11r11dr11wr11bcaller saved
12r12r12dr12wr12bcaller saved
13r13r13dr13wr13bcaller saved
14r14r14dr14wr14bcaller saved
15r15r15dr15wr15bcaller saved
  • 标志寄存器和指令指针寄存器
序号8字节name4字节name2字节name
16rflagseflagsflags
17ripeipip
  • X64架构下的段寄存器
CS
DS
ES
FS
GS
SS
  • 描述符
描述符
	存储器描述符
	系统描述符
		系统的段描述符
		门描述符


描述符表
	全局...
	中断...
	局部...
	任务状态段
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值