Je code dans arduino mais j'utilise aussi le code d'assemblage entre mon code c. je veux calculer le péché d'une valeur. Jusqu'à présent, j'ai ce code:Assemblage en ligne AVR Contraintes d'opérandes Fsin
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
Serial.begin(9600);
float answer;
float angle = 2;
int a = 2;
int b = 3;
asm("ADD %0,%1" : "+r"(a) : "r"(b));
asm("fsin" : "=t" (answer) : "0" (angle));
Serial.print(answer);
}
l'erreur que je reçois pour cela est: les contraintes d'opérandes incohérents dans un « asm » le plus drôle est que je n'obtenir cette erreur quand je supprimer la dernière ligne (série. (réponse))
aussi j'ai trouvé ce code pour un assembleur 8086 et non avr et en 8086 "= t" est spécifique pour les flotteurs mais je ne trouve rien de semblable pour avr.
Il n'y a pas de commande d'assembleur telle que 'fsin' sur un AVR. C'est un appel de fonction C et doit être traité comme tel ('CALL'). – tofro