Procedure asm

yasmus Messages postés 3 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 10 mai 2009 - 10 mai 2009 à 15:37
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 - 11 mai 2009 à 18:53
salut je suis un étudiant en 1ere année tronc commun on viens de commencer les procédure je me demande comment on fait pour définir les paramètre de la procédure  .
j'attends votre réponse :) merci

5 réponses

ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
10 mai 2009 à 18:01
Masm,tasm,... Quel assembleur ?
Quel procédure ? assignation en justice !,structure Proto...
0
yasmus Messages postés 3 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 10 mai 2009
10 mai 2009 à 18:07
assembleur intel
par exemple :

prints proc near
        mov ah,09h
        int 21h
       ret
prints endp

    
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
10 mai 2009 à 20:06
Tu peux choisir de les passer par registre ou par la pile.
En fait, tu veux faire une fonction comme printf, à nombre variable de paramètres ?
0
yasmus Messages postés 3 Date d'inscription samedi 25 avril 2009 Statut Membre Dernière intervention 10 mai 2009
10 mai 2009 à 22:33
je veux juste savoir comment définir les paramètre de la fonction ou bien sa passe automatiquement avec les registre utilisé dans la fonction ??? on général je parle pas pour une fonction précise ! merci de votre aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
11 mai 2009 à 18:53
Si c'est par registre, il suffit d'affecter le registre.
Sinon, tu dois PUSHer les paramètres dans l'ordre inverse :

push dword 2
push dword 1
call mafonction
;// EAX=1, EBX=2

mafonction:
;// int __stdcall mafonction(int a, int b);
;// Cette fonction renvoie le 1er paramètre et met le 2ème dans EBX
  push ebp
  mov ebp,esp
  mov eax,[esp+8]
  mov ebx,[esp+12]
  pop ebp
ret 8
0
Rejoignez-nous