下面的代码究竟是什么意思?
lea rdx,qword ptr ss:[rbp+50]
我有困难rbp+50。是rbp在64位CPU架构的基础指针?基指针指的是什么?我怎样才能找出 的值rbp+50?是什么ss意思?是什么qword意思?我完全混淆了这些术语。
下面的代码究竟是什么意思?
lea rdx,qword ptr ss:[rbp+50]
我有困难rbp+50。是rbp在64位CPU架构的基础指针?基指针指的是什么?我怎样才能找出 的值rbp+50?是什么ss意思?是什么qword意思?我完全混淆了这些术语。
代码的意思是rdx = rbp + 50。
为了解释,我们将自下而上......
qword是 8 字节(64 位)。它代表四字,同dword代表双字。它是每个rXX寄存器的大小。在qword ptr我们正在访问的装置qword大小的存储块(如oppised到byte,word或dword)。
ss代表堆栈段。然而,在非 16 位系统中,所有段通常都映射到 0。它可能在代码中显示为反汇编的产物,因为rbp寄存器用于指向堆栈。
这些lea命令的意思是加载有效地址。它不取给定地址的值,而是取地址本身。因此,在伪代码中,我们可以将整个内容重写为rdx = rbp + 50.