Passage de variables C dans un code ASM - C - Programmation
Marsh Posté le 14-04-2005 à 08:41:05
L'int 13h ne fonctionne pas sous Windows.
En fait, y a aucune interruption ou presque (int 3h marche bien) qui ne fonctionnera en mode 32 bits. Il faut que tu utilise DJGPP, ou un compilo pour DOS (OpenWatcom, Turbo C++, etc.) Ou alors que tu utilises l'API Windows.
Sinon, pour faire de l'assembleur inline, ça ressemble à ça:
http://www.ibiblio.org/gferg/ldp/G [...] HOWTO.html
Marsh Posté le 14-04-2005 à 18:25:09
Lol je te remercie beaucoup !! Mon programme n'est pas destiné à être utilisé sous Windows, ne t'inquiete pas !! En tout cas merci beaucoup pour ton lien pertinant !!
Marsh Posté le 14-04-2005 à 18:29:22
c'est vraiment du pur bonheur la syntaxe AT&T
Marsh Posté le 14-04-2005 à 18:33:44
Harkonnen a écrit : c'est vraiment du pur bonheur la syntaxe AT&T |
Et encore, les critères de passage d'argument vers et depuis l'asm se sont beaucoup améliorés depuis gcc 3.0
Marsh Posté le 14-04-2005 à 18:58:21
Lam's a écrit : Et encore, les critères de passage d'argument vers et depuis l'asm se sont beaucoup améliorés depuis gcc 3.0 |
personnellement j ai jamais rien compris au passage d argument dans cette foutue syntaxe
Marsh Posté le 14-04-2005 à 07:19:13
Bonjour tout le monde !!!
Alors voila j'explique mon problème :
je souhaite utiliser des interruptions BIOS (notamment l'int 13h). Je souhaite en fait lire à partir du disque dur directement. Pour cela j'aimerai pouvoir récolter le secteur que je veut lire dans un tableau déclaré en C. Ma question est : comment faire pour passer l'adresse du tableau dans le code ASM (attention j'utilise Dev-C++) sachant que je dois positionner l'adresse grâce à ES:BX ???
Merci à tous ceux qui pourront m'aider....
---------------
La connaissance se doit d'être partagée...