Tom wrote: > Again: avrgcc 4.3, AVRStudio 4.31 Service Pack 1. > > Following code: > > asm volatile ( > > " ldi R16, %0 \n" > " ldi R17, %1 \n" > " ldi R18, %2 \n" > " ldi R19, %3 \n" > > " mov %3, R19 \n" > " mov %2, R18 \n" > " mov %1, R17 \n" > " mov %0, R16 \n" > > : "=r" (var1) , "=r" (var2) , "=r" (var3) , "=r" (var4): > "0" (var1) , "1" (var2) , "2" (var3) , "3" (var4) : > "r16", "r17", "r18", "r19" ); > > Generates the following, verymysterious errors: > > embedded_asm.o: In function `main': > C:\Users\avrFreak\Documents\embedded_asm\default/../embedded_asm.c:51: > undefined reference to `r22' > C:\Users\avrFreak\Documents\embedded_asm\default/../embedded_asm.c:51: > undefined reference to `r23' > C:\Users\avrFreak\Documents\embedded_asm\default/../embedded_asm.c:51: > undefined reference to `r30' > C:\Users\avrFreak\Documents\embedded_asm\default/../embedded_asm.c:51: > undefined reference to `r31' > make: *** [embedded_asm.elf] Error 1 > Build failed with 4 errors and 0 warnings... > > > None of R22, R23, R30 or R31 are referenced explicitly ANYWHERE in this > code, and the "0", "1" positional references shouldn't generate oddball > labels like that, regardless. IIRTFMC, the "0", "1", "2", "3" should > sequentially reference R16, R17, R18 and R19. > > (per documentation found @ > http://www.nongnu.org/avr-libc/user-manual/inline_asm.html ) Try using lowercase "r" instead of "R".
Message
Re: [AVR-Chat] **YIKES**
2008-02-29 by Russell Shaw
Attachments
- No local attachments were found for this message.