【问题标题】:MASM addressing mode syntaxMASM 寻址模式语法
【发布时间】:2013-01-20 11:02:12
【问题描述】:

这里有 2 行来自生成 Microsoft ASM 的反汇编程序 组装:

mov    dl, loc_0040540c[edx]
jmp    dword ptr [loc_00405450][edx*4]

有人能解释一下他们的意思吗? 我主要使用 NASM,因此 NASM 等价物也很好。

【问题讨论】:

  • 你确定 NASM 有2D-array 的概念吗?通常,这是 HLL 的事情。通常,内存是连续的,就像字符的字节序列一样。
  • 这只是奇怪的微软语法,你不能像那样使用二维数组

标签: assembly syntax x86 nasm masm


【解决方案1】:

在 NASM 中:

mov    dl, [loc_0040540c + edx]
jmp    [loc_00405450 + edx*4]

那些loc_0040540c 可能是各自的地址/常量(例如0040540cH)。

【讨论】:

  • 乍一看,老实说我看不出这两种语法的区别...
  • @JosephH 在这种情况下没有太多。现在,如果你使用BLAH DD 123,那么与 MASM 和 TASM 相比,NASM 中的MOV EAX, BLAH 会做一些非常不同的事情。
  • 谢谢!还有一个问题:MASM 在处理浮点数时使用 st(0),NASM 等价物是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 2020-07-20
  • 2012-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多