2015-04-13 1 views
2

Je voudrais savoir s'il existe un moyen d'intégrer la fonction 'inline' dans MASM? Je cherche un équivalent macro, je veux faire quelque chose comme:Fonction MASM inlining

poly PROC 
    procbeg: 
     push ebp 
     mov ebp, esp 
     xor eax, eax 
     jz lol 
     db 0eah 
     lol: 
     pop ebp 
     retn 
    procend: 
poly ENDP 


main PROC 

    call poly 
    invoke ExitProcess, 0 
main ENDP   
END main 

Je veux faire quelque chose, alors Ensemblier remplacera call poly avec le corps de la fonction poly, c'est par exemple simple, je veux faire quelque chose similaire aux moyens en ligne C/C++.

Répondre

2

Vous devriez pouvoir utiliser des macros:

inline_poly macro 
    procbeg: 
    push ebp 
    mov ebp, esp 
    xor eax, eax 
    jz lol 
    db 0eah 
    lol: 
    pop ebp 
    retn 
    procend: 
inline_poly endm 

puis au lieu de l'appel que vous venez:

main PROC 

    inline_poly 
    invoke ExitProcess, 0 
main ENDP   
+0

oh, je accidentellement supprimé 'start', tout fonctionne bien – mlgpro