2013-11-03 44 views
1

如何將masm代碼翻譯成nasm代碼。Masm code翻譯爲納斯姆代碼

foo_get_counter  proc  object:DWORD 

         mov  ebx, object 

         mov  eax, foo.m_counter[ebx] 

         ret 

foo_get_counter  endp 

的一部分,我不明白的是進程內對象:DWORD

回答

1

除非我記錯了,這是傳遞給函數的參數。您可以爲Nasm找到一個包含proc宏的宏集。我認爲,在「原始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?)。祝你好運。