Faire cohabiter asm et C

Résolu
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 - 26 oct. 2004 à 09:56
HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 - 26 oct. 2004 à 13:13
Slt a tous, voila mon blème,

unsigned char PORT_PHYS_Lire( UC offset_port )
{

.....
asm( "add.w #1,r0" ); // +1 => bit

// résultat dans r0
return ...;
}

que dois-je mettre pour retourner le résultat qui se trouve dans r0??? Je précise que return r0;

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+

2 réponses

HCJarod Messages postés 221 Date d'inscription mardi 12 août 2003 Statut Membre Dernière intervention 11 décembre 2008 1
26 oct. 2004 à 13:13
Merci mais bon ce µC va me tuer, le compilo n'accepte même pas certain truc qui sont pourtant du C ANSI.

Je vais me debrouiller autrement mais merci quand même AlexMAN

Chaque problème a sa solution. S'il n'y a pas de solution c'est qu'il n'y a pas de problème.
a+
3
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
26 oct. 2004 à 12:41
je ne sais pas ce k'est r0, mais tu peux par exemple declarer une variable, et a l'aide d'un mov, 'transferer' le contenu de r0 ds la variable :

int mafonction ()
{
int i;

//dsl je ne connais pas la syntaxe ke tu utilises...
asm( "add r0, 10
mov i, r0");

return i;
}

Ce genre de code fonctionne (deja testé) sous Win et VC, va savoir si ca fonctionne chez toi ;)

Voila, ++
0
Rejoignez-nous