Asembler, C na 8051- co wybrać ?



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Greg" <greg_sun_at_nospam_wp.pl>
Subject: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 11:19:31 +0100


Witam
Mam maly problem. Do tej pory pisalem proste programy w Bascomie, ale teraz
chcialbym zrobic urzadzenie ktore odczytywaloby temperature, wilgotnosc,
mierzylo czas i w zaleznosci od tych czynnikow wykonywaloby operacje. I co
sie okazalo ze w Bascomie przyrost kodu w funkcji postepu programu jest
lawinowy i do 4051 nie mam szans go zmiescic.
W zwiazku z powyzszym mam, pytanie czy kompilatory C na 8051 (np: Keil)
tworza rowniez zbyt dlugi kod i czy warto zawracac sobie nim glowe czy od
razu uczyc sie asemblera ?

Pozdrawiam
--
Greg
>>>>>>>>>>>>>>>>>>>
greg_sun_at_nospam_poczta.onet.pl



Poprzedni Następny
Wiadomość
Spis treści
From: Krzysztof Piecuch <kpiecuch_at_nospam_optic.com.pl>
Subject: Re: Asembler, C na 8051- co =?iso-8859-2?Q?wybra=E6?= ?
Date: Thu, 21 Feb 2002 13:29:27 +0100


Greg napisał(a):

W zwiazku z powyzszym mam, pytanie czy kompilatory C na 8051 (np: Keil)
tworza rowniez zbyt dlugi kod i czy warto zawracac sobie nim glowe czy od
razu uczyc sie asemblera ?
Zawsze warto najpierw nauczyc sie asemblera.

--
**** Krzysztof Piecuch -- SP9RQA ****
kpiecuch_at_nospam_optic.com.pl
sp9rqa_at_nospam_radio.org.pl
**********Linux User #132375*********

Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 13:52:09 +0100


Użytkownik "Krzysztof Piecuch" <kpiecuch_at_nospam_optic.com.pl> napisał w wiadomości
news:3C74E827.892D1126_at_nospam_optic.com.pl...
Greg napisał(a):

W zwiazku z powyzszym mam, pytanie czy kompilatory C na 8051 (np: Keil)
tworza rowniez zbyt dlugi kod i czy warto zawracac sobie nim glowe czy
od
razu uczyc sie asemblera ?
Zawsze warto najpierw nauczyc sie asemblera.


Zależy jak się pisze. W kazdym razie ucząc się pisać w C warto sprawdzać jak
konkretny(!) kompilator przetłumaczył to co zostało napisane.

Przykładowo C Keil-a konstrukcję:
switch(x)
{
case 1: { ...; break; }
case 2: { ...; break; }
case 3: { ...; break; }
case 5: { ...; break; }
}
zrobi przez JMP _at_nospam_A + DPTR i tablicę skoków, natomiast
switch(x)
{
case 1: { ...; break; }
case 5: { ...; break; }
case 27: { ...; break; }
case 15: { ...; break; }
}
przetłumaczy jako sekwencję kolejnych porównań i skoków w stylu
if (x==1) { jmp _x1 }
if (x==5) { jmp _x5 }
if (x==27) { jmp _x27 }
if (x==15) { jmp _x15 }
Kompilator zastosuje wariant I nawet w przypadku gdy tablica skoków bedzie
miała niewielkie dziury. Jeżeli tylko wyjdzie to taniej niż wariant II.

Jak widać niewielka zmiana w koncepcji programu może poważnie wpłynąć na
wielkość kodu.
Przyznaję, że podglądając Keil-a sporo się od niego nauczyłem ;-)

MDz




Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: =?iso-8859-2?Q?Re:_Asembler=2C_C_na_8051-_co_wybra=E6_=3F?=
Date: Thu, 21 Feb 2002 14:21:04 +0100


Przykładowo C Keil-a konstrukcję:
switch(x)
...
Kompilator zastosuje wariant I nawet w przypadku gdy tablica skoków bedzie
miała niewielkie dziury. Jeżeli tylko wyjdzie to taniej niż wariant II.

Jak widać niewielka zmiana w koncepcji programu może poważnie wpłynąć na
wielkość kodu.
Przyznaję, że podglądając Keil-a sporo się od niego nauczyłem ;-)

To chyba wiekszosc kompilatorow tak ma. Jeszcze nie widzialem
(no, moze nie zauwazylem) zeby inaczej jakis dzialal.

jerry



Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Dzwonnik" <mdz_at_nospam_message.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 15:05:52 +0100


Użytkownik "jerry1111" <jerry1111_at_nospam_wp.pl> napisał w wiadomości
news:a52s4q$ptq$1_at_nospam_news.tpi.pl...
To chyba wiekszosc kompilatorow tak ma. Jeszcze nie widzialem
(no, moze nie zauwazylem) zeby inaczej jakis dzialal.

Akurat na Keil-u się temu przyglądałem. Też tak sądzę, że jeżli ktoś wymyśli
jakiś chwyt to najbliższa wersja konkurencji nie może być gorsza :-)
Bardziej chodziło mi o zwrócenie uwagi na fakt, że podobnie wyglądający kod
w C może być kompilowany w różny sposób. W przytoczonym przykładzie
wystarczy inaczej podefiniować stałe użyte w case-ach aby kompilator
wygenerował coś zupełnie innego (co do rozmiarów i szybkości).

A jest to przecież typowa sytuacja. Np. switch do interpretacji kodów
poleceń przychodzących po RS-ie.
Elegancki nagłowek może wyglądać tak:
// polecenia - grupa1 (zakres kodów 1...10)
#define kodA 1
#define kodB 2
// ... rezerwa
// polecenia - grupa2 (zakres kodów 11...20)
#define kodC 11
#define kodD 12
// ...

Natomiast efektywny powinien definiować kody w jednym, spójnym zakresie.
#define kodA 1
#define kodB 2
#define kodC 3
#define kodD 4

Pzdr
MDz




Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: =?iso-8859-2?Q?Re:_Asembler=2C_C_na_8051-_co_wybra=E6_=3F?=
Date: Thu, 21 Feb 2002 17:05:03 +0100


Natomiast efektywny powinien definiować kody w jednym, spójnym zakresie.
#define kodA 1
#define kodB 2
#define kodC 3
#define kodD 4

To chyba oczywiste :)

jerry



Poprzedni Następny
Wiadomość
Spis treści
Date: Thu, 21 Feb 2002 23:47:00 +0100
From: Marek Dzwonnik <mdz_at_nospam_juglans.it.pl>
Subject: Re: Asembler, C na 8051- co =?iso-8859-2?Q?wybra=E6?= ?




jerry1111 wrote:

Natomiast efektywny powinien definiować kody w jednym, spójnym zakresie.
#define kodA 1
#define kodB 2
#define kodC 3
#define kodD 4

To chyba oczywiste :)

C.N.D. ;-)

MDz



Poprzedni Następny
Wiadomość
Spis treści
From: "Zbyszek" <lzds_at_nospam_pkp.wroc.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 14:50:53 +0100



Użytkownik "Greg" <greg_sun_at_nospam_wp.pl> napisał w wiadomości
news:a52hkg$b8n$1_at_nospam_news.tpi.pl...
Witam
Mam maly problem. Do tej pory pisalem proste programy w Bascomie, ale
teraz
chcialbym zrobic urzadzenie ktore odczytywaloby temperature, wilgotnosc,
mierzylo czas i w zaleznosci od tych czynnikow wykonywaloby operacje. I co
sie okazalo ze w Bascomie przyrost kodu w funkcji postepu programu jest
lawinowy i do 4051 nie mam szans go zmiescic.
W zwiazku z powyzszym mam, pytanie czy kompilatory C na 8051 (np: Keil)
tworza rowniez zbyt dlugi kod i czy warto zawracac sobie nim glowe czy od
razu uczyc sie asemblera ?

Pozdrawiam
--
> Greg
> >>>>>>>>>>>>>>>>>>>
> greg_sun_at_nospam_poczta.onet.pl
>
>
Asembler to podstawa inne to kupa.



Poprzedni Następny
Wiadomość
Spis treści
From: Janusz Raniszewski <rniski_at_nospam_man.koszalin.pl>
Subject: Re: Asembler, C na 8051- co =?iso-8859-2?Q?wybra=E6?= ?
Date: Thu, 21 Feb 2002 04:59:05 +0100


Asembler to podstawa inne to kupa.

Witam,
Popieram C mozemy zastosowac od 128k i wiecej inaczej to zabawa.
JanuszR


Poprzedni Następny
Wiadomość
Spis treści
From: "Greg S." <greg_sz_at_nospam_dsuper.net>
Subject: Re: Asembler, C na 8051- co =?iso-8859-1?Q?wybra=E6?= ?
Date: Mon, 25 Feb 2002 21:08:31 -0500


Janusz Raniszewski wrote:

Asembler to podstawa inne to kupa.

Witam,
Popieram C mozemy zastosowac od 128k i wiecej inaczej to zabawa.

Popieraj sobie a ja po 20 latach assemblera mam juz dosc i wole C tam
gdzie moge.
Robilem w C (Bytecraft) na 6805 kompilator gowniany ale i tak lepszy od
assemblera a kod pewnie o jakie 10% wiekszy tylko. A ja sie w dodatku
procesorami zupelnie nie bawie ale pracuje na nich.



Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: =?ISO-8859-1?Q?Re:_Asembler=2C_C_na_8051-_co_wybra=E6_=3F?=
Date: Tue, 26 Feb 2002 15:30:02 +0100


Popieraj sobie a ja po 20 latach assemblera mam juz dosc i wole C tam
gdzie moge.
Robilem w C (Bytecraft) na 6805 kompilator gowniany ale i tak lepszy od
assemblera a kod pewnie o jakie 10% wiekszy tylko. A ja sie w dodatku
procesorami zupelnie nie bawie ale pracuje na nich.

[OT}
Podziwiam kolege!
Ja sie nimi 'bawie' zaledwie od 10lat. Ale jakbym mial tylko
pracowac to bym nie wytrzymal (nie potrafie robic czegos
co mnie nie bawi i nie interesuje).
A tak - przyjemne (procesory) z pozytecznym (kasa) ;))

jerry



Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <miloszek.SPAM_REMOVE_at_nospam_fidonet.org.pl>
Subject: Re: Asembler, C na 8051- co =?iso-8859-2?Q?wybra=E6?= ?
Date: Fri, 22 Feb 2002 22:48:26 +0100


Zbyszek wrote:

Asembler to podstawa inne to kupa.

Rotfl...
Napisales kiedys projekt na 6-12 KB kodu zrodlowego ???
No moze napisac to jeszcze nie problem... ale wrocic do tego po roku...
to jest dramat, pomimo tego ze opisuje sie czesto i gesto kod to pozniej
nie jestes w stanie pewnych rzeczy wprowadzic czy uzupelnic.
W C od razu widzisz procedure czy funkcje i mozesz okreslic jak dziala,
w asm pozostaje sleczenie i dochodzenie dlaczego akurat jest tak i
tak...
Kiedys mialem podobny punkt widzenia do Zbyszka, teraz jestem jak
najbardziej za C.
Swoja droga musze przyznac ze w kazdym jezyku da sie tak spie.... kod ze
pozniej niewiadomo o co chodzilo.
Kiedys atutem dla mnie bylo to ze napisalem sobie duzo bibliotek w asm
do obslugi poszczegolnych urzadzen, potem pisanie w asm przypominalo
pisanie w jezyku wyzszego (nizszego) poziomu, aczkolwiek z perspektywy
czasu stwierdzam ze pisanie w asm jest nieco bardziej sztuka dla sztuki
niz faktycznym zastosowaniem.
Z innej strony rzecz biorac, nie znajac asm-a bardzo latwo sie
przejechac piszac w C i nie podgladajac co kompilator wygenerowal na
podstawie kodu, zwlaszcza jezeli chodzi o operacje we-we i bezposredni
dostep do portu albo jego zatrzasku.

Podsumowywujac, znajomosc asm-a jest wazna, aczkolwiec docelowo powinno
sie pisac w w jezyku nizszego (wyzszego) poziomu.

PS. Pomijajac bascoma... ;-)))))
Zartowalem powyzej - (Kazdemu wedlug potrzeb i gotowe).
--
Regards. Przy odpowiedzi usun "SPAM_REMOVE" z adresu!!!
|-----------------------------------------------------|
| Milosz Skowyra GSM Mobile +48 600 95 35 72 |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
|-----------------------------------------------------|
Jestem tu po to aby byc....................

Poprzedni Następny
Wiadomość
Spis treści
From: Maciej Czapla <mc_at_nospam_sensor.com.pl>
Subject: Re: Asembler, C na 8051- co =?iso-8859-2?Q?wybra=E6?= ?
Date: Fri, 22 Feb 2002 00:35:23 +0100


Napisales kiedys projekt na 6-12 KB kodu zrodlowego ???

A może 180 k (naście lat temu taki w nieświadomości młodzieńczej
popełniłem :( Ale po 10 latach oglądałem zbliżone urządzenie szacownej
f-my B-K i mniej potrafiło :) )

No moze napisac to jeszcze nie problem... ale wrocic do tego po
roku...to jest dramat, pomimo tego ze opisuje sie czesto i gesto kod

Święta prawda, a po 5 to dopiero...

czasu stwierdzam ze pisanie w asm jest nieco bardziej sztuka dla
sztuki niz faktycznym zastosowaniem.

A tu nie do końca masz rację - w przypadku niektórych rodzajów funkcji
(mam na myśli intensywnie operujące wskaźnikami i leżących na samym
końcu łańcucha wywołań) jesteś czasem w stanie zaoszczędzić ~50% kodu
(czasowo i objętościowo). Jeśli takie konstrukcje masz powtarzalne z
projektu na projekt (np. LCD lub EEPROM) to warto poświęcić czas na ASM.
Druga sprawa to obsługa krytycznych przerwań. Spróbuj pokręcić silnikiem
krokowym na 10..12kHz robiąc przy tym inne rzeczy pisząc w C...

Z innej strony rzecz biorac, nie znajac asm-a bardzo latwo sie
przejechac piszac w C i nie podgladajac co kompilator wygenerowal na
podstawie kodu, zwlaszcza jezeli chodzi o operacje we-we i bezposredni
dostep do portu albo jego zatrzasku.

Ś.P.

Oczywiście mowa cały czas o classic'51

MC
--
Syndrom Czapli, przypadek szczególny praw Murphy'ego:
"Spośród dwóch ziarnek pieprzu wrzuconych do zupy,
wszystkie trzy znajdują się w moim talerzu" MC

Poprzedni Następny
Wiadomość
Spis treści
From: "Greg S." <greg_sz_at_nospam_dsuper.net>
Subject: Re: Asembler, C na 8051- co =?iso-8859-1?Q?wybra=E6?= ?
Date: Thu, 21 Feb 2002 22:06:23 -0500


Maciej Czapla wrote:
nie znajac asm-a bardzo latwo sie przejechac piszac w C i nie
podgladajac
co kompilator wygenerowal...
Asolutna prawda.
Jedynie sluszna.
Pisze to nie zartem bynajmniej i potwierdzam na podstawie moich doswiadczen,

czyli >20 lat praktyki w assemblerze i >10 lat w "C".

Grze..Szy..


Poprzedni Następny
Wiadomość
Spis treści
From: PGA_at_nospam_eko.wroc.pl (PGA)
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: 21 Feb 2002 13:53:44 GMT


"Greg" <greg_sun_at_nospam_wp.pl> wrote in news:a52hkg$b8n$1_at_nospam_news.tpi.pl:

W zwiazku z powyzszym mam, pytanie czy kompilatory C na 8051 (np: Keil)
tworza rowniez zbyt dlugi kod i czy warto zawracac sobie nim glowe czy
od razu uczyc sie asemblera ?

kompilatory C optymalizuja kod znacznie skuteczniej - w zaleznosci od
ustawien (optymalizacja pod wzgledem szybkosci, objetosci), poziomu
kompilacji jak i sposobu pisania programu. Warto (wrecz trzeba) znac
assembler, bo po pierwsze wyrabia to tez dbalosc w pisaniu programow, a po
drugie czasem warto robic assemblerowe wstawki w programach napisanych w C.

A jesli chodzi o wybor - to ja bardziej polecam kompilator firmy Franklin
niz Keil - jest w pelni konpatybilny jesli chodzi o kod, lecz znacznie
porzadniej zrobiony. A debbuger Keila w porownaniu z tym we Franklinie jest
do bani.

Ze strony Franklina mozna sciagnac wersje probna - adres w linkach
(elektronicznych) z mojej WWW

pozdrawiam
pga
http://www.pga.prv.pl/

Poprzedni Następny
Wiadomość
Spis treści
From: "A.Grodecki" <ag_at_nospam_modeltronik.com.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 16:10:23 +0100


--

Pozdrawiam,

A.Grodecki


PGA wrote in message ...
|kompilatory C optymalizuja kod znacznie skuteczniej - w zaleznosci od
|ustawien (optymalizacja pod wzgledem szybkosci, objetosci), poziomu
|kompilacji jak i sposobu pisania programu. ...

Coś ty! Nie ma żadnych szans, żeby kompilator z C czy innego tam języka
wysokiego poziomu zrobił lepszy kod niż sprawny programista. Za głupie toto
jest, nie potrafi myśleć tak globalnie jak człowiek i pewnie jeszcze długo
takich programów nie będzie. Nie bez powodów prawdziwie profesjonalne
programy mające wycisnąć soki ze sprzętu pisze się w asemblerze. W C pisze
się Windowsy i podobne badziewie potrzebujące megabajtów RAMu do byle
operacji. Pamiętasz, jakie gry były na spektrusiu z 48k pamięci?



Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: =?iso-8859-2?Q?Re:_Asembler=2C_C_na_8051-_co_wybra=E6_=3F?=
Date: Thu, 21 Feb 2002 17:08:42 +0100


Coś ty! Nie ma żadnych szans, żeby kompilator z C czy innego tam języka
wysokiego poziomu zrobił lepszy kod niż sprawny programista. Za głupie toto
jest, nie potrafi myśleć tak globalnie jak człowiek i pewnie jeszcze długo
takich programów nie będzie. Nie bez powodów prawdziwie profesjonalne
programy mające wycisnąć soki ze sprzętu pisze się w asemblerze. W C pisze
się Windowsy i podobne badziewie potrzebujące megabajtów RAMu do byle
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Cholera, linuksa nie nazwe badziewiem, a w 90% napisany w C.
Za ogolny ten przyklad..

operacji. Pamiętasz, jakie gry były na spektrusiu z 48k pamięci?

Hehe, a jak wujek przyslal ze stanow kolorowe TV z palem to byl
szal na osiedlu ;)

A wracajac do tematu, to ostatnio chcialem przyspieszyc procedurke
do pomiarow napisana w C. Napisalem ja od poczatku w asm i co?...
Wyszla prawie _taka sama_ jak z kompilatora. Albo przy pisaniu w C
mam nawyki asemblerowe, albo sie po prostu nie da.
Inna sprawa, ze techniki pisania w C zeby sie optymalnie na
asembler zamienialo, to trzeba sie nauczyc i rozumiec proces
kompilacji.

jerry



Poprzedni Następny
Wiadomość
Spis treści
From: "A.Grodecki" <ag_at_nospam_modeltronik.com.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 17:48:07 +0100


Czasami się nie da, szczególnie przy prostszych modułach, gdzie po prostu
rozwiązanie jest "jedynie słuszne". Ale przy zgniataniu programu do małych
rozmiarów takich "jedynie słusznych" rozwiązań ubywa. Czasami gdzieś warto
stracić, żeby gdzie indziej zyskać z naddatkiem. Tego krosy nie potrafią.

--

Pozdrawiam,

A.Grodecki




Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: =?iso-8859-2?Q?Re:_Asembler=2C_C_na_8051-_co_wybra=E6_=3F?=
Date: Thu, 21 Feb 2002 20:30:01 +0100


Czasami się nie da, szczególnie przy prostszych modułach, gdzie po prostu
rozwiązanie jest "jedynie słuszne". Ale przy zgniataniu programu do małych
rozmiarów takich "jedynie słusznych" rozwiązań ubywa. Czasami gdzieś warto
stracić, żeby gdzie indziej zyskać z naddatkiem. Tego krosy nie potrafią.

Ostatnio stwierdziłem, że mój czas jest cenniejszy. Dzisiaj na rynku
jest tyle procków/pamięci/możliwości wyboru, że zamiast flasha
1M, wstawiam 2M za prawie tę samą cene i nie zawracam se głowy
zajętością kodu programu. Jeśli już, to optymalizacja pod kątem szybkości.

A jak te malutkie risc rodzaju PIC itp. to i tak asembler.
Bo jaki sens używać C jak masz 8 poziomów stosu???
Wtedy tracisz całą 'przyjemność' jaką daje C.

jerry



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 23:16:08 GMT


On Thu, 21 Feb 2002 17:08:42 +0100, jerry1111 wrote:
programy mające wycisnąć soki ze sprzętu pisze się w asemblerze. W C pisze
się Windowsy i podobne badziewie potrzebujące megabajtów RAMu do byle
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Cholera, linuksa nie nazwe badziewiem, a w 90% napisany w C.
Za ogolny ten przyklad..

Bo C to jezyk do pisania unixow, a nie windowsow :-)

Do windowsow jest Visual basic albo C++ :-)

Inna sprawa, ze techniki pisania w C zeby sie optymalnie na
asembler zamienialo, to trzeba sie nauczyc i rozumiec proces
kompilacji.

A potem sie okaze ze inny kompilator w szczegolach jest rozny
i nasza nauka wziela w leb :-(
Juz raz tak bylo z Turbo pascalem - tez sie okazalo
ze 2*A kompiluje zgrabniej niz A+A :-)


J.



Poprzedni Następny
Wiadomość
Spis treści
From: "Greg S." <greg_sz_at_nospam_dsuper.net>
Subject: Re: Asembler, C na 8051- co =?iso-8859-1?Q?wybra=E6?= ?
Date: Thu, 21 Feb 2002 22:00:50 -0500


ktos napisal:
programy mające wycisnąć soki ze sprzętu pisze się w asemblerze.
troche to prawda, moze nawet bardzo
ktos inny napisal:
... techniki pisania w C zeby sie optymalnie na asembler zamienialo
to trzeba sie nauczyc i rozumiec proces kompilacji.
a ktos inny:
A potem sie okaze ze inny kompilator w szczegolach jest rozny

Jak napiszesz duzy program w assemblerze to zobaczymy jaki on bedzie optymalny.
A juz poprawianie czy przerabianie potem to osobne cierpienie.
Kompilatory optymizuja wcale nie az tak roznie a pozatym mozesz sobie zawsze
obejrzec jak ci to zrobil.
Najlepiej mieszac oba te jezyki w jednym programie.
Dobry program w C moze byc ok niewiele wiekszy od tego w Assemblerze (zalezy tez
od kompilatora) i jest mala cena za przejrzystosc programu.


Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: =?iso-8859-2?Q?Re:_Asembler=2C_C_na_8051-_co_wybra=E6_=3F?=
Date: Fri, 22 Feb 2002 07:48:27 +0100


Bo C to jezyk do pisania unixow, a nie windowsow :-)

Do windowsow jest Visual basic albo C++ :-)

Moze, troszke OT, ale...
Telnet w linuksie jest napisany w C++ (i cale X'y).
Tylko ze API w X'ach jest przejrzyste, a sprobuj porownac
sobie win16, win32s i win32. W jednym miejscu w MFC Helpie
to kuźwa znalazlem, ze program w zaleznosci od tego, pod jaka
windą jeździ to ma wywolac albo 16 albo 32 bitowa wersje funkcji.
M$ jeszcze by pewnie chcial, zeby w zaleznosci od tego, jaki
wynik funkcji potrzebny wywolywac ReadFile albo DontReadFile.
W Xach nie ma takich 'kwiatkow'

jerry



Poprzedni Następny
Wiadomość
Spis treści
From: jfox_at_nospam_friko6.onet.pl (J.F.)
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Thu, 21 Feb 2002 21:15:43 GMT


On Thu, 21 Feb 2002 16:10:23 +0100, A.Grodecki wrote:
PGA wrote in message ...
|kompilatory C optymalizuja kod znacznie skuteczniej - w zaleznosci od
|ustawien (optymalizacja pod wzgledem szybkosci, objetosci),

Coś ty! Nie ma żadnych szans, żeby kompilator z C czy innego tam języka
wysokiego poziomu zrobił lepszy kod niż sprawny programista.

Szans to moze nie mial ... ale pytanie ilu znasz programistow
sprawnych w Celeronie np. Tak zeby wiedzieli z jakich rozkazow
skorzystac, jak je poprzeplatac, gdzie nopa wstawic, zeby jak
najszybciej bylo.

Za głupie toto
jest, nie potrafi myśleć tak globalnie jak człowiek

C to moze i tak, ale Fortran H [optymalizujacy] na riada to mnie
kiedys zaskoczyl. Testowy programik w stosunku do kompilatora
Fortran G przyspieszyl ze sto razy.
Oczywiscie zaskoczony kazalem sobie kod maszynowy wyswietlic ...
i zdebialem - mojego programu nie ma. Chwila zastanowienia ...
no tak - wyniku obliczen nie wyswietlam ani nigdzie nie zapamietuje,
to caly program sprowadzil sie do returna :-)

J.


Poprzedni Następny
Wiadomość
Spis treści
From: "A.Grodecki" <ag_at_nospam_modeltronik.com.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Fri, 22 Feb 2002 10:50:44 +0100


Albo mówimy o małych kontrolerach z pojedynczymi kilobajtami ROM-u lub
mniej, albo o dużych systemach z nieogranoiczonymi zasobami pamięci. Nie
można tego mieszać. Podejście też powinno być adekwatne do poziomu sprzętu i
programisty. A to, że ktoś czegoś nie potrafi, to trudno. Albo może
przysiąść fałdów, nauczyć się, zrobić lepiej i zdobyć trochę doświadczenia,
albo po raz kolejny pójść na łatwiznę. Czasami nie opłaca się uczyć, a
czasami trzeba.
Nie uważam, że WSZYSTKIE języki wysokiego poziomu są, no powiedzmy, nie
najlepsze. Porównanie Fortranu z C to też nieporozumienie, bo Fortran jest
prawdziwie zawodowym językiem dla prawdziwych zawodowców, stworzony w bardzo
konkretnym celu i bardzo skutecznym. C natomiast i jego pochodne..., eeech
dajmy spokój! Zresztą przypomnę, że twórcy C w "swoim czasie" przepraszali
za jego powstanie tłumacząc się, że nie spodziewali się popularności języka
króry powstał dla zabawy w ramach ćwiczeń.
Jest wiele przykładów w elektronice, kiedy to marne lub wręcz najgorsze
konstrukcje wygrywają na rynku, tak jak PC czy system VHS. Szkoda tylko, że
potem nie można się wyrwać z tego zaklętego kręgu badziewia i trzeba ciągle
instalować kolejne wersje Windows..

--

Pozdrawiam,

A.Grodecki




Poprzedni Następny
Wiadomość
Spis treści
From: "QmX" <kumex_at_nospam_interia.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Fri, 22 Feb 2002 07:45:59 +0100


Użytkownik "A.Grodecki" <ag_at_nospam_modeltronik.com.pl> napisał w wiadomości
news:a5329k$1b2$1_at_nospam_pingwin.acn.pl...

Coś ty! Nie ma żadnych szans, żeby kompilator z C czy innego tam języka
wysokiego poziomu zrobił lepszy kod niż sprawny programista. Za głupie
toto
jest, nie potrafi myśleć tak globalnie jak człowiek i pewnie jeszcze długo
takich programów nie będzie. Nie bez powodów prawdziwie profesjonalne
programy mające wycisnąć soki ze sprzętu pisze się w asemblerze. W C pisze
się Windowsy i podobne badziewie potrzebujące megabajtów RAMu do byle
operacji. Pamiętasz, jakie gry były na spektrusiu z 48k pamięci?

Prawda, ale niewatpliwie szybciej pisze sie w jezyku wysokiego poziomu.
A teraz takie czasy, ze kazdemu sie spieszy.
Lepiej kupic szybszy procesorek z wiekszym ROMem i szybko cos strzelic w C
niz mozolic sie w asm.
Oczywiscie nie wszystkie aplikacje na to pozwalaja, ale jesli jest cos
niekrytycznego czasowo, to "why not"?

QmX.




Poprzedni Następny
Wiadomość
Spis treści
From: "QmX" <kumex_at_nospam_interia.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Fri, 22 Feb 2002 07:42:02 +0100


Użytkownik "PGA" <PGA_at_nospam_eko.wroc.pl> napisał w wiadomości
news:Xns91BC97BA56817PGAekowrocpl_at_nospam_156.17.42.99...
"Greg" <greg_sun_at_nospam_wp.pl> wrote in news:a52hkg$b8n$1_at_nospam_news.tpi.pl:

A jesli chodzi o wybor - to ja bardziej polecam kompilator firmy Franklin
niz Keil - jest w pelni konpatybilny jesli chodzi o kod, lecz znacznie
porzadniej zrobiony. A debbuger Keila w porownaniu z tym we Franklinie
jest
do bani.

Franklin ma bardzo ciekawy blad (o ile to blad, a nie dzialanie celowe, ale
mi bardzo przeszkadzal):
operacje:
P2 |= 0x0f;
przetlumaczy na:
ORL P2,#0FH
MOV P2,P2 <- to jest to co mnie bardzo rozdraznilo.

Keil przetlumaczy to jak nalezy, czyli:
ORL P2,#0FH

A tak przy okazji: macie jakas rade na to, bo to wlasnie przez ten problem
przesiadlem sie na Keil'a.

Pozdrawiam,
QmX.



Poprzedni Następny
Wiadomość
Spis treści
From: Jane <janel_at_nospam_poczta.fm>
Subject: =?iso-8859-2?Q?Re:_Asembler,_C_na_8051-_co_wybra=E6_=3F?=
Date: Thu, 21 Feb 2002 15:56:58 GMT


Archimedes c51



Poprzedni Następny
Wiadomość
Spis treści
From: "QmX" <kumex_at_nospam_interia.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Fri, 22 Feb 2002 07:51:28 +0100


Uzytkownik "Jane" <janel_at_nospam_poczta.fm> napisal w wiadomosci
news:3c751954$1_at_nospam_news.vogel.pl...
Archimedes c51

A uzywa ktos Taskinga 8051?
Jaki jest?
(wlasnie mam go za niedlugo dostac).

QmX.




Poprzedni Następny
Wiadomość
Spis treści
From: Maciej Czapla <mc_at_nospam_sensor.com.pl>
Subject: Re: Asembler, C na 8051- co =?iso-8859-2?Q?wybra=E6?= ?
Date: Sat, 23 Feb 2002 02:57:11 +0100


A uzywa ktos Taskinga 8051?
Jaki jest?

Ja. Nie odbiega od przeciętnej - ma swoje zady i walety :) Dość łatwe
interfejsowanie z ASM (akurat na tym mi zależy z uwagi na możliwość
optymalizacji czasowej - silniki, etc ), dość wygodne środowisko. Błędy
w niektórych konstrukcjach struktur danych ( np. bitfields + tablica
ZTCP ) i coś-tam-jeszcze. Ale generalnie działa :) Chyba tańszy niż
konkurencja (IAR, KEIL).

MC
--
Syndrom Czapli, przypadek szczególny praw Murphy'ego:
"Spośród dwóch ziarnek pieprzu wrzuconych do zupy,
wszystkie trzy znajdują się w moim talerzu" MC

Poprzedni Następny
Wiadomość
Spis treści
From: "ambit" <ambit_at_nospam_interia.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Sat, 23 Feb 2002 18:23:07 +0100


A uzywa ktos Taskinga 8051?
Jaki jest?
(wlasnie mam go za niedlugo dostac).


co do Tasking'a polecam na procki rodzinki C166
niezla maszynka
no! procki tez niczego sobie
pzdr
ambit




Poprzedni Następny
Wiadomość
Spis treści
From: "Przemysław Ż." <belmotybe_at_nospam_poczta.onet.pl>
Subject: Re: Asembler, C na 8051- co wybrać ?
Date: Sat, 23 Feb 2002 18:40:12 +0100




co do Tasking'a polecam na procki rodzinki C166
niezla maszynka
no! procki tez niczego sobie
pzdr
ambit

a gdzie i za ile mozna takie procki kupnac??