【问题标题】:computing the actual address from assembly in cmp从 cmp 中的程序集计算实际地址
【发布时间】:2014-07-28 07:15:11
【问题描述】:

我正在使用 gdb 来调试我的代码,仍然是初学者
我想知道如何获取实际地址
例如,给定以下汇编代码:
cmp %eax, 0x4(%rbp,%rbx,4)

我想知道与 %eax 比较的是什么,换句话说我想知道什么是:0x4(%rbp,%rbx,4)

【问题讨论】:

    标签: c assembly gdb cpu-registers cmp


    【解决方案1】:

    如果您不知道 at&t 语法,请使用 set disassembly-flavor intel 将 gdb 切换为 intel 语法。然后你会看到这个表达式真的是rbp+rbx*4+4。然后阅读 gdb 帮助,您将找到 x(检查内存)命令,并且您可以使用 $ 前缀访问寄存器。将所有这些放在一起,您应该输入x $rbp+$rbx*4+4 以查看内容。

    【讨论】:

      猜你喜欢
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-01
      • 1970-01-01
      • 2016-01-01
      • 2016-04-21
      • 2013-05-01
      • 2019-06-21
      相关资源
      最近更新 更多