Yahoo Groups archive

AVR-Chat

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

Message

**YIKES**

2008-02-28 by Tom

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 )


*wah*  Help me, please?

avrFreak 

(phreaquing out here)

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.