Bonjour,
J'ai un problème. Je voudrai insérer des fonctions avec Dev C++ dans un programme en C pour lire et écrire sur des ports. Sachant que sous Dev C++, on est obligé de recourir à l'assembleur(avec la convention AT&T), j'ai essayé de programmer ces fonctions. Mais le problème c'est qu'à chaque fois, le compilateur me signale une erreur de compilation: suffixe or operands invalid for 'in' et 'mov'. En fait, j'ai trop du mal avec la syntaxe de l'assembleur AT&T.
Quelqu'un peut-il m'aider car je ne suis pas vraiment un pro en programmation?
Voici le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 unsigned char lire_port(unsigned short adressereg) { unsigned char result; asm("movw $adressereg, %bx"); asm("inw %bx, %ax"); asm ("movw %ax, $result"); return result; } void ecrire_port(unsigned short adressereg2, unsigned char valeur) { asm("movw $adressereg2, %dx"); asm("movw $valeur, %ax"); asm("outw %ax, %dx"); }
Partager