fonction int86 [resolu]

fonction int86 [resolu] - C - Programmation

Marsh Posté le 23-07-2004 à 11:38:53    

Bonjour :)
 
Je travaille sous turbo C, j'ai un programme que je dois comprendre, et modifier, seulement à un endroit, j'ai une fonction que je ne trouve pas dans mes librairies, mais vu que ca marche je suppose qu'elle y est...
c'est :  
 

Code :
  1. int  _RTLENTRY int86( int __intno,union REGS _FAR *__inregs,union REGS _FAR *__outregs );


cette definition se trouve dans DOS.h, mais je ne trouve nulle part son contenu.
 
Sauriez vous dans quelle librairie se trouve cette fonction???  
 
Merci!! :)


Message édité par barucca le 28-07-2004 à 16:58:45
Reply

Marsh Posté le 23-07-2004 à 11:38:53   

Reply

Marsh Posté le 23-07-2004 à 11:42:41    

ben t'as pas les sources, DTC

Reply

Marsh Posté le 23-07-2004 à 11:48:27    

hein????

Reply

Marsh Posté le 23-07-2004 à 13:08:44    

Tu n'as pas besoin de consulter le source de cette fonction si tu sais comment on utilise les interruptions du BIOS [:spamafote]
 
http://www.delorie.com/djgpp/doc/libc/libc_486.html
 
Par contre, mieux vaut avoir une bible PC sous la main ou l'interrupt list de Ralph Brown :D


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 23-07-2004 à 13:44:33    

ben en fait, je veux juste savoir ce que fait cette fonction... donc je vais faire avec l'adresse que tu m'a donné.. merci beaucoup!! :)

Reply

Marsh Posté le 23-07-2004 à 13:56:41    

ben en fait, je suis pas plus avancee avec ce doc.. :( suis trop nulle... quelqu'un d'autre????
 
ps: je sais pas comment on utilise les interruptions du bios... :(

Reply

Marsh Posté le 23-07-2004 à 14:13:28    

Si tu veux comprendre la fonction int86, il est nécessaire de savoir programmer les interruptions BIOS (et d'avoir quelques bases d'assembleur x86; mais rien de bien méchant).
 
Il existe quelques tutoriels, par exemple http://pascalissime.future.easyspa [...] terrup.htm
 
Si tu ne veux pas utiliser cette fonction, mais simplement savoir à quoi elle sert, ce document te suffira largement ;)


---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 23-07-2004 à 14:40:35    

ok, merci beaucoup!!! :)

Reply

Marsh Posté le 24-07-2004 à 04:17:07    

bah int86 fait juste qu'apeller l'interruption 'intno' avec le contexte de registre entrant 'inregs' et le contexte de registre sortant 'outregs'.

Reply

Marsh Posté le 27-07-2004 à 16:45:36    

bonjour a tous!! :)
 
si j'ai bien compris, le 1er parametre represente la fonction a realiser lors de l'interruption, non???
 
quelqu'un saurait-il me dire a quelle fonction correspond 0x14 dans la ligne de code suivante :  
 

Code :
  1. int86(0x14,&pregs,&pregs);


 
 
merci!! :)
 
sabine

Reply

Marsh Posté le 27-07-2004 à 16:45:36   

Reply

Marsh Posté le 27-07-2004 à 20:43:46    

L'interruption 0x14 permet d'utiliser les fonctions de l'API FOSSIL (une interface pour accéder au port série qui porte bien son nom; elle était utilisée pour le réseau FidoNet).
 
L'interrupt list devrait t'en dire plus : http://www.ctyme.com/intr/int-14.htm
 
(sinon j'ai trouvé ça sur FOSSIL : http://www.bbsdocumentary.com/libr [...] RK/FOSSIL/ http://www.sysopworld.com/bbsfaq/ch06.09.htm)
 
EDIT : sinon, 0x14 correspond juste à la famille de fonctions. La fonction réalisée dépend du contenu des registres (second argument).


Message édité par printf le 27-07-2004 à 20:44:59

---------------
Un matin je me lèverai et il fera beau.
Reply

Marsh Posté le 28-07-2004 à 08:32:50    

merci beaucoup!!! :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed