Réponse acceptée !
salut,
parceque tu va chercher l'adresse de la fonction dans une cellule memoire et que ton adresse memoire n'as pas de taille et donc, il faut la preciser. ( ca pourrait etre call word[FonctionAPI] )
sinon, tu cree une macro. je sais pas ce que ca donne en TASM mais ca doit etre kif MASM:
callAPI MACRO fName call dword ptr [fName] ENDM et donc, dans le prog, on aura plus de dword ptr: push 0 callAPI ExitProcess
sache que tout acces memoire doit avoir une taille definie.
Pour certaines instructions, elle est explicite: mov eax,[edx] eax est un dword donc [edx] aussi.
Pour d'autres, ce n'est pas défini: mov [edx],0 <- ICI, faut préciser. call [edx] <- idem.
Pour d'autres, c plus ambigue: ( nasm ) cmp dword [edx],byte -1 pour ce cas, byte -1 sera codé sur 8 bits mais la valeur sera testée sur 32 bits. ( equivalent movsx )
@++
|