Hallo,
ich versuche verzweifelt eine Floatzahl von einer anderen zu
subtrahieren.
Ich arbeite mit einem Atmega2561 und in C bzw. mit Assember inline.
1 | float asmsub(float x,float y){ // x - y
|
2 |
|
3 | asm ("FSUB %[x], %[y]" "\n\t"
|
4 |
|
5 | : [x] "+a" (x)
|
6 | : [y] "a" (y)
|
7 | );
|
8 | }
|
Da bekomme ich folgende Fehlermeldung:
Error 11 can't find a register in class 'SIMPLE_LD_REGS' while
reloading 'asm'
Error 12 'asm' operand has impossible constraints
Unter http://www.mikrocontroller.net/articles/AVR_Arithmetik/Saturierung
der letzte Quellcode ist genau das, was ich machen will. Aber ich weiß
nicht wie ich es übersetzen soll.
Hier kommt bei
1 | asm ("subi R16, 0x80 " "\n\t"
|
die gleiche Fehlermeldung wie oben.
Kann mir jmd helfen?
Vielen Dank im Voraus.