Masm代码翻译成Nasm代码

时间:2013-11-03 03:46:23

标签: assembly x86 nasm masm

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

foo_get_counter       proc      object:DWORD  

                      mov       ebx, object  

                      mov       eax, foo.m_counter[ebx]  

                      ret  

foo_get_counter       endp  

我不理解的部分是proc对象:DWORD

1 个答案:

答案 0 :(得分: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?)。祝你好运。