寄存器介绍

其余相关内容可参考个人博客

x86-64处理器的16个通用寄存器

寄存器简介主要功能不同位数的名称(64/32/16/8)
rax累加器,是算术运算的主要寄存器存储返回值raxeaxaxal
rax累加器,是算术运算的主要寄存器存储返回值raxeaxaxal
rbx基址寄存器,被调用者保存存放存储区的起始地址rbxebxbxbl
rcx计数寄存器循环操作和字串处理的计数控制;函数调用时的第4个参数rcxecxcxcl
rdxI/O指针I/O操作时提供外部设备接口的端口地址;函数调用时的第3个参数rdxedxdxdl
rsi(source index)源变址寄存器,与rds段寄存器联用,可以访问数据段中的任一个存储单元函数调用时的第2个参数rsiesisisil
rdi(destination index)目的变址寄存器,与res段寄存器联用,可以访问附加段中的任一个存储单元函数调用时的第1个参数rdiedididil
rbp(base pointer)基址指针寄存器,用于提供堆栈内某个单元的偏移地址,与rss段寄存器联用,可以访问堆栈中的任一个存储单元,被调用者保存rbpebpbpbpl
rsp(stack pointer)栈顶指针寄存器,提供堆栈栈顶单元的偏移地址,与rss段寄存器联用,以控制数据进栈和出栈rspespspspl
r8函数调用时的第5个参数r8r8dr8wr8b
r9函数调用时的第6个参数r9r9dr9wr9b
r10~r15被调用者保存

控制寄存器

寄存器简介主要功能
rip(Instruction Pointer)指令指针寄存器,存放代码段中指令的偏移地址
FR(Flags Register)标志寄存器,用于存放反映处理器和运行程序执行结果状态的控制标志和条件码标志例如可以查看cmp的结果

段寄存器

寄存器简介
CS(code segment)代码段地址寄存器,存放代码段的起始地址
DS(data segment)数据段地址寄存器,存放数据段的起始地址
SS(stack segment)堆栈段地址寄存器,存放堆栈段的起始地址
ES(extra segment)附加段地址寄存器,存放附加段的起始地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值