assembly - 如何使用GDB打印复杂寻址模式引用的内存?

标签 assembly gdb x86-64 att addressing-mode

我是汇编新手,我正在尝试打印存储在以下地址中的值。

 cmp    %esi,0x10(%rsp,%rax,4) 

我认为是这样的

 x/d $rsp+ 0x10 + 4*$rax

最佳答案

这是打印内存位置内容的正确方法。

x/d $rsp+ 0x10 + 4*$rax

关于assembly - 如何使用GDB打印复杂寻址模式引用的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52998800/

相关文章:

c - 如何在 WINAVR 中组合两个接收到的输入并将其作为一个整数读取?

linux - 如何反汇编原始 16 位 x86 机器代码?

c++ - 线程和上下文切换 C++

unix - 如何在 gdb 中附加进程

c - 我该如何处理这个段错误

c - 单个 sqrt() 的运行速度如何比放入 for 循环时慢两倍

x86 - 用标记数据填充 x86_64 指针的前 16 位?

assembly - 为什么 FMA _mm256_fmadd_pd() 内在函数有 3 个 asm 助记符, "vfmadd132pd"、 "231"和 "213"?

c++ - 使用 gdb 进行分布式软件调试

assembly - 为什么不能在多个函数中定义相同的局部标签?