🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.asm
Article #2271

Re: Błąd: syntax Unexpected REGDEF

#2271
From: Bogdan (bogdro)
Date: Tue, 15 Jun 2010 16:03
79 lines
4222 bytes
W dniu 12.06.2010 00:01, ici pisze:
> Cześć,
> Nie mam już pomysłu o co tutaj chodzi?
> Pewnie kwestia jakiegoś ustawienia?
> Kręcę się w kółko.
> Może ktoś mi coś podpowie? Z góry dziękuję.
> 
> Kompilator C CodeVisionAVR v2.04.4a dla mikrokontrolerków AVR.
> Kompiluje program bez błędów, natomiast podczas linkowania tworzy się
> plik assemblerowy z głupim błędem. Ponieważ wszystko dzieje się z
> automatu, nie mam wpływu na to co linker tworzy.
> Opis błędu jak w tytule. Poprawienie błędu ręcznie nie daje rezultatu,
> bo dzieje się to podczas procesu linkowania w automacie.
> A potem linker wywala błąd i po zawodach.
> Kawałek tego automatycznego kodu w asm:
> 
>     RJMP 0x00
>     RJMP 0x00
>     RJMP 0x00
>     RJMP 0x00
> 
> _0x24:
>     .DB  LOW(_0x23),HIGH(_0x23)
> _0x2A:            //**poniżej dłuuuga linijka generująca błąd
>     .DB LOW(_LCD_Init),HIGH(_LCD_Init),LOW(_LCD_Cls),HIGH(_LCD_Cls),
>             __ LOW(_LCD_XY),HIGH(_LCD_XY),LOW(_LCD_Char),HIGH(_LCD_Char)
>     .DB  LOW(_LCD_Text),HIGH(_LCD_Text)
> _0x0:
>     .DB  0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
>     .DB  0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A
>     .DB  0x2A,0x0,0x20,0x53,0x74,0x61,0x72,0x74
>     .DB  0x20,0x5A,0x61,0x73,0x69,0x6C,0x61,0x63
>     .DB  0x7A,0x61,0x0
> _0x200005F:
> //*************
> Chodzi o nienaturalnie długą linię .DB pod adresem 0x2A (trochę się
> połamała przy wklejaniu do tego postu, ale ciąg znaków jest w jednym
> wierszu.
>     
>     Ten kawałek  w assemblerze odpowiada kodowi w C:
> (deklaracje procedur poniżej kody źródłowe w LCD1.H)
> //****************************************************************
>     void LCD_Init(void);        //Inicjowanie wyświetlacza LCD
>     void LCD_Cls(void);              //Czyść ekran
>     void LCD_XY(char k, char w);    //Ustaw współrzędne kursora ko
>     void LCD_Char(char znak);       //Umieszcza znak na wyświetlaczu
>     void LCD_Text(char *ptext);      //Pisz tekst na LCD wskazywany
>     void LCD_Int(int i);            //Pisz Integer
> //****************************************************************
> 
> Biblioteka LCD1.H własnej roboty ale sprawdzona w starszej wersji
> Kompilatora/rów.

[...]

 Zauważyłeś, że _LCD_Text wylądowało już w kolejnej linijce?
Widocznie, na przykład, tylko 4 funkcje zostaną umieszczone w tej
samej linii w pliku asemblerowym. Nie mam najbledszego pojęcia o
programowaniu AVRów ani o tym kompilatorze C, ale może spróbuj
przerobić plik C/H tak, aby następowały po sobie co najwyżej 3 (czy
tyle, ile będzie trzeba) deklaracje funkcji. Tak, aby było np.

 .DB LOW(_LCD_Init),HIGH(_LCD_Init),LOW(_LCD_Cls),HIGH(_LCD_Cls),
      __ LOW(_LCD_XY),HIGH(_LCD_XY)

 [tutaj np. jakieś zmienne czy cokolwiek]

 .DB LOW(_LCD_Char),HIGH(_LCD_Char)

 [tutaj reszta]

 Swoją drogą, te "__" z przodu wyglądają dziwnie. Masz to w kodzie,
czy do wiadomości się wkleiło samo? Może to to jest problem?

-- 
Pozdrawiam/Regards - Bogdan                     (GNU/Linux & FreeDOS)
Kurs asemblera x86 (DOS, GNU/Linux):http://rudy.mif.pg.gda.pl/~bogdro
Grupy dyskusyjne o asm:  pl.comp.lang.asm alt.pl.asm alt.pl.asm.win32
www.JabberPL.org www.TorProject.org Soft (EN): miniurl.pl/bogdro-soft
Technical Details
Message-ID: <hv8899$7uf$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <huubnn$ri4$1@news.onet.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: "Bogdan (bogdro)" <bogdan@poczta.gazeta.pl>
Newsgroups: pl.comp.lang.asm
Subject: Re: Błąd: syntax Unexpected REGDEF
Date: Tue, 15 Jun 2010 18:03:53 +0200
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 79
Message-ID: <hv8899$7uf$1@inews.gazeta.pl>
References: <huubnn$ri4$1@news.onet.pl>
NNTP-Posting-Host: rudy.mif.pg.gda.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1276617834 8143 153.19.42.16 (15 Jun 2010 16:03:54 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Tue, 15 Jun 2010 16:03:54 +0000 (UTC)
X-User: bog.d
In-Reply-To: <huubnn$ri4$1@news.onet.pl>
User-Agent: Mozilla/5.0 (X11; U; Linux i686; pl-PL; rv:1.9.1.9) Gecko/20100317 Thunderbird/3.0.4
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit