Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1526 connectés 

  FORUM HardWare.fr
  Programmation
  ASM

  problème de passage de paramètre en ASM

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de passage de paramètre en ASM

n°410365
lordankou
Posté le 28-05-2003 à 14:12:44  profilanswer
 

bon voila j'ai un programme en C qui appelle une procédure en assembleur et cette dernière doit retourner un caractère.
 
j'ai donc écrit le programme suivant en assembleur (mon programme marche puisque je l'ai testé avec des fichiers objets valides, alors que mon programme en assembleur ne marche pas).
 

Code :
  1. DOSSEG
  2. .MODEL small
  3. .DATA
  4. .CODE
  5. PUBLIC C recchaine ; procedure recchaine visible en C
  6. PUBLIC C recbloc ; procedure recbloc visible en C
  7. PUBLIC C reccar ; procedure reccar visible en C
  8. ; ------------
  9. ; -- recoct --
  10. ; ------------
  11. recoct PROC
  12. PUSH DX
  13. ; registre concern‚ RBR
  14. ; bit 0 de LSR a 1 si il y a eu quelque chose de re‡u
  15. ; on boucle tant que le bit 0 de LSR est different de 1
  16. MOV DX,3FDh  ; acces au registre LSR
  17. IN AL,DX 
  18. AND AL,01h   ; et 00000001b donc comparaison avec le bit 0 (data ready à 1 si l'octet est recu)
  19. BOUCLE_recoct :  CMP AL,1
  20.                  JE sortir_recoct ; si egalite alors bit 0 … 1
  21.                  JMP BOUCLE_recoct ; sinon on continuer a boucler
  22. sortir_recoct : MOV DX,3F8h  ; Registre de RBR pour récupérer l'octet
  23.                 in AL,DX ; octet qu'on met dans AX
  24.  POP DX
  25.         ret
  26. recoct ENDP
  27. ; ------------
  28. ; -- reccar --
  29. ; ------------
  30. reccar PROC
  31. ; elle consiste juste … appeler recoct
  32. ; on retourne le char dans AX ou AL selon la taille de la bestiole (ici AL)
  33. CALL recoct
  34. ret
  35. reccar ENDP


 
j'utilise recoct car dans ce fichier j'ai plusieurs fonctions asm qui l'utilise.
bon bref quand je lance mon programme C il ne reçoit pas le caractère attendu alors qu'il est envoyé (ça c sur).
Pourtant je fais attention au registre je passe bien mon caractère dans AL pour l'utiliser.
Si quelqu'un avait une idée ?


---------------

mood
Publicité
Posté le 28-05-2003 à 14:12:44  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASM

  problème de passage de paramètre en ASM

 

Sujets relatifs
[postgresql] [resolu] Probleme de language SQL[js] problème avec une fonction simple
Problème de ComboBox ...Problème avec certains caractères lors de l'envoi d'un mail
probleme d'id de session[FLASH] problème avec un compteur
Probleme de lecture de fichier...Probleme d'expression reguliere
[PHP/Mysql] Probleme de requette - Help[ASM] Faire une interruption sur 68000
Plus de sujets relatifs à : problème de passage de paramètre en ASM


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR