【问题标题】:Masm code translated into Nasm codeMasm 代码翻译成 Nasm 代码
【发布时间】:2013-11-14 00:04:45
【问题描述】:

如何将代码从 masm 转换为 nasm 代码。

foo_get_counter       proc      object:DWORD  

                      mov       ebx, object  

                      mov       eax, foo.m_counter[ebx]  

                      ret  

foo_get_counter       endp  

我不明白的部分是 proc object:DWORD

【问题讨论】:

    标签: assembly x86 nasm masm


    【解决方案1】:

    除非我弄错了,否则它是传递给函数的参数。您可以找到包含 proc 宏的 Nasm 宏集。我认为在“原始 Nasm”语法中,类似于...

    ; does "proc" imply "global foo_get_counter"? Might.
    foo_get_counter:        
    
                      push ebp
                      mov ebp, esp
    
    ; could %define object ebp + 8 
    
                      mov       ebx, [ebp + 8]  
    
                      mov       eax, [foo.m_counter + ebx]  
                      leave
                      ret  
    

    我不知道foo.m_counter 是什么。您可能需要在那里更改语法。可能是[foo + foo.m_counter + ebx] 或类似的。根据 Masm 的 .model 指令,ret 可能需要为 ret 4(如果是 STDCALL ?)。祝你好运。

    【讨论】:

      猜你喜欢
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-26
      • 2013-11-25
      • 2011-09-05
      相关资源
      最近更新 更多