反汇编笔记——64位机寄存器

本文介绍了64位机寄存器的变化,包括易失与非易失寄存器的区别,如rax、rcx等,并详细阐述了调试寄存器DR0~DR7的作用及其在硬件和软件断点中的应用。同时提到了64位CPU中的MSR在调试中的用途。
摘要由CSDN通过智能技术生成

64位机寄存器

定义:反汇编涉及到的32位——64位系统中,寄存器发生了些微改变(对于16位系统中的各寄存器,在其名前加上e成为eax/ecx代表其为32位寄存器,其中可存放32位数据;在其名前加上r成为rax/rcx代表其为64位寄存器,其中可存放64位数据)

示例1:64位系统寄存器汇总

PS1:如上图所示,其中‘易失’意味着当使用call指令等指令进行新代码段的调用时,其值有可能发生改变(该性质同16位时代的各寄存器,在call内使用前应当对其进行入栈以保证其内原本存放的数值不发生丢失)

PS2:如上图所示,其中‘非易失’意味着该寄存器在使用call指令进行跳转之后即使为其中存入新值,也不会导致ret回调之后原本存放的数值丢失,因此在call内使用该指令不需要对其进行入栈操作

PS4:上图中rcx/rdx/r8/r9分别作为固定的参数传递寄存器使用,可将之分别视为call调用函数的第1/2/3/4参数(他们作为传参寄存器是无法改变的),其中只能存放整数。

PS5:上图中的‘FP参数’意味浮点型参数,xmm0/xmm1/xmm2/xmm3的意义同rcx/rdx/r8/r9,区别在于其中存放的为浮点数。

示例2:寄存器分级

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值