Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: [AVR-Chat] **YIKES**

2008-02-29 by Russell Shaw

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".

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.