[Kos-dev] Re: [Kos-cvs] [kos] Modification CVS par thomas
Christophe Avoinne (Club-Internet)
kos-dev@yoda.isnpro.com
Thu, 8 Mar 2001 20:42:54 +0100
----- Original Message -----
From: "KOS CVS" <kos@enix.org>
To: <kos-cvs@enix.org>
Sent: Thursday, March 08, 2001 11:40 AM
Subject: [Kos-cvs] [kos] Modification CVS par thomas
> bon maintenant le PIC ca marche vraiment. le modules/system.h est pas
terrible, et le code assembleur est perfectible : pour un outb(valeur,port)
il place la valeur dans eax, puis fait un out de al sur le port. il pourrait
faire un mov valeur,al puis out al,port, mais bon... les constraints et
l'asm inline c pas ma tasse the. outw, outl, inb, inw, inl pas garantis du
tout !!
Un "mov %b0,%al" ou un "mov %0,%eax" (où %0 est un registre, exemple %ecx
pour %0,%cl pour %b0) ne change pas grand chose à l'affaire, sauf s'il y a
nécessité de faire une extension signée (movsx %b0,%eax), ce qui serait pas
franchement terrible. Je ne suis pas tout à fait sûr pour le %b0 et %h0,mais
ça devrait permettre d'accéder respectivement à %cl et %cx si %0 désigne le
registre %ecx.
Sinon dans les contraintes "a"(variable), essaie "a"((unsigned
char)variable). Je regarderais ça de plus près sous Linux, je te promets.
Hlide.