Zaskakujące zachowanie z zerami wiodącymi w Keil C51 - Co o tym myślicie?
Re: Keil C51
From: JS <jar0sz_at_nospam_polbox.com>
Subject: Re: Keil C51
Date: Mon, 17 Jun 2002 20:27:21 +0000 (UTC)
W artykule <3CFFBA55.76D3A4EB_at_nospam_multispedytor.com.pl> Ireneusz Niemczyk napisał:
IMHO to jest nieco nieładna cecha C. W końcu zera wiodące zwykle
są bez znaczenia. Mnie to w każdym razie lekko zaskoczyło przy
pierwszym czytaniu opisu składni - może powodować błędy
(80% z nich wykryje kompilator ;)).
"Oczywiście nie pół księżniczki i całe królestwo, ale pół królestwa i ręka
króla".
Chodziło mi o cyferki 8 i 9, czyli 20% zbioru cyfr. A napisałem 80% ;)
liczyć :-( Jedyne co ratuje trochę sprawę to możliwość użycia cyfry
nieprzyswajalnej w zapisie ósemkowym....ale to już ruletka ;-)))
Oj, tak.
--
Pozdrawiam
Jarosław Szynal
From: "QmX" <kumex_at_nospam_interia.pl>
Subject: Re: Keil C51
Date: Wed, 19 Jun 2002 07:41:35 +0200
Użytkownik "JS" <jar0sz_at_nospam_polbox.com> napisał w wiadomości
news:aelgn8$819$2_at_nospam_news.tpi.pl...
W artykule <3CFFBA55.76D3A4EB_at_nospam_multispedytor.com.pl> Ireneusz Niemczyk
napisał:
IMHO to jest nieco nieładna cecha C. W końcu zera wiodące zwykle
są bez znaczenia. Mnie to w każdym razie lekko zaskoczyło przy
pierwszym czytaniu opisu składni - może powodować błędy
(80% z nich wykryje kompilator ;)).
Nie znacie C i zabieracie sie za Keila.
Nic dziwnego, ze macie mase problemow.
QmX.
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Keil C51
Date: Wed, 19 Jun 2002 09:22:29 +0200
Nie znacie C i zabieracie sie za Keila.
Nic dziwnego, ze macie mase problemow.
No to oświeć nas - hobbystów (przynajmniej ja) i zabierz głos w sprawie o
którą pytałem (dodam - tak usilnie), a nie ukrywaj się po zakamarkach
grupy. Jesteś specem? - dawaj poradę, jak to jest z tymi wstawkami ASM-a w
Keilu!!! Chyba nie wychodzisz z założenia że to wiedza tajemna? Hmmm...????
;-)
--
PZD, Irek.N.
From: "QmX" <kumex_at_nospam_interia.pl>
Subject: Re: Keil C51
Date: Thu, 20 Jun 2002 08:46:18 +0200
Użytkownik "Ireneusz Niemczyk" <i.niemczyk_at_nospam_multispedytor.com.pl> napisał w
wiadomości news:3D103135.87E3D60D_at_nospam_multispedytor.com.pl...
Nie znacie C i zabieracie sie za Keila.
Nic dziwnego, ze macie mase problemow.
No to oświeć nas - hobbystów (przynajmniej ja) i zabierz głos w sprawie o
którą pytałem (dodam - tak usilnie), a nie ukrywaj się po zakamarkach
grupy. Jesteś specem? - dawaj poradę, jak to jest z tymi wstawkami ASM-a w
Keilu!!! Chyba nie wychodzisz z założenia że to wiedza tajemna?
Hmmm...????
;-)
Oj, czasem bardzo tajemna. Tak tajemna, ze jest tajemnica rowniez dla mnie.
;-)))
Nie uwazam sie za "gruru" programistow, choc programowac potrafie i w C, i
Pascalu, i ASM i zwykle nie wymadrzam sie, ale tym razem nie wytrzymalem.
Napisalem to, o co sie tak obruszyles, bo poprzednik nie "kumal" sposobu
zapisu liczb w roznych formatach w C. A przeciez to jedna z podstaw skladni
jezyka i beda z tego problemy w kazdym kompilatorze, a nie tylko w Keilu.
Obecnie uzywam Taskinga dla 51 a nie Keila (bo mam legalnego - w pracy) i
ogolnie jestem zadowolony, chociaz chyba nie ma kompilatora bez wad. Jeden
ma takie, drugi inne.
Zwykle nie mam potrzeb robienia wstawek w asm do C na 51, gdyz 51-ki stosuje
tylko w prostrzych aplikacjach. Duze i krytyczne czasowo aplikacje robie na
DSP (wieksze: Analog - seria SHARC, mniejsze: 16-bitowce Texasa).
Charakter mojej pracy pozwala na nie trzymanie sie kurczowo niskich kosztow
i czasem moge pozwolic sobie, zeby wziac "armate na muche" za troche wieksze
pieniadze, ale dzieki temu miec duzy komfort programowania.
Pozdrawiam,
QmX.
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Keil C51
Date: Thu, 20 Jun 2002 10:48:46 +0200
Oj, czasem bardzo tajemna. Tak tajemna, ze jest tajemnica rowniez dla mnie.
;-)))
Racja...
{ciach - ok}
Zwykle nie mam potrzeb robienia wstawek w asm do C na 51, gdyz 51-ki stosuje
tylko w prostrzych aplikacjach. Duze i krytyczne czasowo aplikacje robie na
DSP (wieksze: Analog - seria SHARC, mniejsze: 16-bitowce Texasa).
Charakter mojej pracy pozwala na nie trzymanie sie kurczowo niskich kosztow
i czasem moge pozwolic sobie, zeby wziac "armate na muche" za troche wieksze
pieniadze, ale dzieki temu miec duzy komfort programowania.
Rozumiem, ja wszystko co było istotne do tej pory robiłem w asm-ie*, ale mam
zamiar z tym skończyć. Widzę, że Keil (jak pewnie każdy kompilator C) jest
bardzo czuły na sposób zapisu algorytmu - zazwyczaj da się tak zakodować, aby
zrobił z tego kod bardzo bliski temu jaki sam bym stworzył. Nie mam się więc co
czepiać drobiazgów, jednak nie lubię odpuszczać - zawyczaj mści się to na mnie w
nieodpowiednim momencie. Gdyby Keil nie krokował wcale źródeł napisanych w
ASM-ie, albo w instrukcji było jak byk napisane, że się nie da - odpuścił bym.
Skoroślicznie natomiast krokuje wstawki umieszczane w osobnych plikach - więc
powinien potrafić poradzić sobie też z tymi wstawionymi w kod C.
Hmm...może nowsze wersje (uV2.20a) mają to poprawione?
No nic - miłego dnia życzę :-)
--
PZD, Irek.N.
* może dlatego tak boli, bo pisząc program w C, myslę o niemodyfikowalnym
_kodzie_ jaki z tego powstanie ;-))
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: Keil C51
Date: Thu, 20 Jun 2002 22:30:47 +0200
nieodpowiednim momencie. Gdyby Keil nie krokował wcale źródeł napisanych w
ASM-ie, albo w instrukcji było jak byk napisane, że się nie da - odpuścił bym.
Skoroślicznie natomiast krokuje wstawki umieszczane w osobnych plikach - więc
powinien potrafić poradzić sobie też z tymi wstawionymi w kod C.
To nie ma NIC wspolnego z kompilatorem.
Jak wstawiasz ASMa w postaci osobnego pliku, to zalatwiane to
jest (w normalnych C) na poziomie linkera i dla kompilatora C nic
do ASMa. Takze mozliwosc wstawiania ASMa w pliki C musi byc
po prostu udokumentowana. Innymi slowy jak nie stoi w instrukcji
ze mozna, to znaczy ze nie mozna ;)
jerry
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Keil C51
Date: Thu, 20 Jun 2002 23:46:37 +0200
To nie ma NIC wspolnego z kompilatorem.
Jak wstawiasz ASMa w postaci osobnego pliku, to zalatwiane to
jest (w normalnych C) na poziomie linkera i dla kompilatora C nic
do ASMa. Takze mozliwosc wstawiania ASMa w pliki C musi byc
po prostu udokumentowana. Innymi slowy jak nie stoi w instrukcji
ze mozna, to znaczy ze nie mozna ;)
Owszem, owszem - to takie uproszczenie nazewnictwa (pytałem czy może nowsze uVision
- bo o srodowisko tu chodzi - ma ten błšd poprawiony).
Jest tak: jak wstawiam w osobnym pliku, to debugger radzi sobie z wynikowym OBJ i
krokuje go ślicznie. Np. na stronie Keila jest pliczek C2ASM2C - przyklad z
wywolaniem z poziomu C procedury napisanej w ASM-ie, ktora wywoluje jeszcze inna
napisana w C - ślicznie działa ;-)
Jeśli natomiast zrobię wstawkę w środek procedury napisanej w C (jest to opisane w
manualu - można), to kicha :-(
Teoretycznie powstaje wtedy plik SCR (takie źródło w asm-ie zamiast OBJ-ta) i jego
przekompilowanie (może to nastšpić automatycznie zaraz po utworzeniu SCR-a - jeszcze
z poziomu uVision) powinno dać plik wynikowy OBJ, po którym debugger powinien śmiało
biegać - tak jednak nie jest. Opisywalem to wcześniej :-((
Muszę się poradzić _u źródeł_....;-))
--
PZD, Irek.N.
From: "QmX" <kumex_at_nospam_interia.pl>
Subject: Re: Keil C51
Date: Fri, 21 Jun 2002 07:57:13 +0200
Użytkownik "Ireneusz Niemczyk" <i.niemczyk_at_nospam_multispedytor.com.pl> napisał w
wiadomości news:3D1196EE.AE87FAD1_at_nospam_multispedytor.com.pl...
* może dlatego tak boli, bo pisząc program w C, myslę o niemodyfikowalnym
kodzie jaki z tego powstanie ;-))
Tez sie czasem na tym lapie. :-)
Ale to chyba nie jest wielka wada, jesli pisze sie na '51?
Dzieki temu czesto wychodzi nieco mniejszy kod.
"Czlowiek jest najlepszym optymalizatorem kodu." ;-)
Pozdr.,
QmX.
From: JS <jar0sz_at_nospam_polbox.com>
Subject: Re: Keil C51
Date: Thu, 20 Jun 2002 18:27:07 +0000 (UTC)
W artykule <aep5kb$k5o$1_at_nospam_korweta.task.gda.pl> QmX napisał:
Użytkownik "JS" <jar0sz_at_nospam_polbox.com> napisał w wiadomości
news:aelgn8$819$2_at_nospam_news.tpi.pl...
W artykule <3CFFBA55.76D3A4EB_at_nospam_multispedytor.com.pl> Ireneusz Niemczyk
napisał:
IMHO to jest nieco nieładna cecha C. W końcu zera wiodące zwykle
są bez znaczenia. Mnie to w każdym razie lekko zaskoczyło przy
pierwszym czytaniu opisu składni - może powodować błędy
(80% z nich wykryje kompilator ;)).
Autoporawka: miało być 20 %. Chodzi o cyferki '8' i '9', które w oczywisty
sposób nie pasują do stałej oktalnej.
--
Pozdrawiam
Jarosław Szynal
From: jfox_at_nospam_poczta.onet.pl (J.F.)
Subject: Re: Keil C51
Date: Thu, 20 Jun 2002 21:45:23 GMT
On Thu, 20 Jun 2002 18:27:07 +0000 (UTC), JS wrote:
IMHO to jest nieco nieładna cecha C. W końcu zera wiodące zwykle
są bez znaczenia. Mnie to w każdym razie lekko zaskoczyło przy
pierwszym czytaniu opisu składni - może powodować błędy
(80% z nich wykryje kompilator ;)).
Autoporawka: miało być 20 %. Chodzi o cyferki '8' i '9', które w oczywisty
sposób nie pasują do stałej oktalnej.
Moze nawet mniej - jak liczba jest dluzsza, to jest wieksza szansa
ze jedna z cyferek bedzie 8 lub 9.
Ale imho problemu nie ma - do kompilatora dopisuje sie ostrzezenie
"uzyto stalej oktalnej" ... bo kto je jeszcze stosuje ? :-)
J.