Assembleur et type de variable delphi
Bonjour,
Je précise tout de suite que mon application tourne sur Win98 et que j'ai fait appel à une petite routine en assembleur bien connue permettant d'accéder directement au port parallèle. Cependant en voulant bien faire les choses j'ai voulu passer un paramètre à ma fonction pour indiquer sur quel registre du port // je veux écrire. Ce paramètre contient l'adresse du registre ($378 pour l'adresse de base).
Voici le code
Code:
1 2 3 4 5 6 7 8 9 10
| const ADRESSE_BASE = $378;
{-----------------------------------------------------------------}
{ Méthode d'émission des bits en assembleur }
procedure aout(adresse : word ; dat : byte);assembler;
asm
mov al,dat
mov dx, adresse
out dx,al
end; |
Mon problème est que ça ne marche pas lorsque j'appelle la méthode en faisant
Code:
aout(ADRESSE_BASE, 2); //exemple
Je ne comprends pas alors que si dans le code assembleur je met la valeur $378 directement à la place de la varibale asdresse ça fonctionne.
Je suppose que c'est un problème de code non ? Mais je n'arrive pas à identifier le problème.
Quelqu'un aurait une idée ? Le type de la variable de convient pas au registre dx ?? Je ne comprends pas.
Merci :wink: