Asembler vs. Baskom ? co wybrać do nauki programowania procesora x51?

Asembler czy Baskom ?





Poprzedni Następny
Wiadomość
Spis treści
From: "Czarek" <ckacz_at_nospam_interia.pl>
Subject: Asembler czy Baskom ?
Date: Mon, 7 May 2001 18:26:14 +0200


Witajcie,
Mam pytanko , co mi Polecicie do nauki programowania
procesora x51 . Mam opisy w EDW jednego i drugiego i nie wiem na co się
zdecydować.

Pozdrawiam ,
Czarek.



Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Lewandowski" <locust_at_nospam_priv4.onet.pl>
Subject: Re: Asembler czy Baskom ?
Date: Mon, 7 May 2001 18:36:32 +0200


Użytkownik "Czarek" <ckacz_at_nospam_interia.pl> napisał w wiadomości
news:9d6ib6$mjv$1_at_nospam_news.tpi.pl...
Witajcie,
Mam pytanko , co mi Polecicie do nauki programowania
procesora x51 . Mam opisy w EDW jednego i drugiego i nie wiem na co się
zdecydować.

Jeśli traktujesz sprawę powaznie, to assembler.
Jeśli chcesz się bawić, Bascom - proszę bardzo.
Ale jeśli nie opanujesz assemblera nie poznasz procesora. To nie jest PC,
gdzie masz zasobów od cholery i ciut ciut, więc o fizycznej strukturze i
możliwościach procesora można zapomnieć. Tu masz powolny zegar i mało
pamięci, a Bascom nie potrafi oszczędzać ani zasobów ani czasu procesora -
jak Windows. Czyli - pobawic się można, nic odpowiedzialnego tworzyć nie
radzę.

--
Marek Lewandowski
marek.lewandowski_at_nospam_multicon.pl UIN: 10139051
http://locust.republika.pl




Poprzedni Następny
Wiadomość
Spis treści
From: "Krzysztof Świerczyński" <juper_at_nospam_ampr.pl>
Subject: Re: Asembler czy Baskom ?
Date: Tue, 8 May 2001 07:53:53 +0200



Użytkownik Czarek <ckacz_at_nospam_interia.pl> w wiadomości do grup dyskusyjnych
napisał:9d6ib6$mjv$1_at_nospam_news.tpi.pl...
Witajcie,
Mam pytanko , co mi Polecicie do nauki programowania
procesora x51 . Mam opisy w EDW jednego i drugiego i nie wiem na co się
zdecydować.

TYLKO ASEMBLER!! :)




Pozdrawiam ,
Czarek.


--
---
Krzysztof Świerczyński
------------------------------------
juper_at_nospam_ampr.pl, sq2hcn_at_nospam_ampr.pl lub sq2hcn_at_nospam_ampr.bsb.com.pl



Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: Asembler czy Baskom ?
Date: Tue, 08 May 2001 12:32:06 +0200




Czarek wrote:

Witajcie,
Mam pytanko , co mi Polecicie do nauki programowania
procesora x51 . Mam opisy w EDW jednego i drugiego i nie wiem na co się
zdecydować.


Zależy czy jesteś masochistš czy tylko coś chcesz napisać, dla masochistów
to asembler a dla reszty
to jakiś język wysokiego rzędu, a jest ich do wyboru i koloru od C przez
pascal po Baskoma.
Janusz



Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Asembler czy Baskom ?
Date: Tue, 08 May 2001 14:50:59 +0200


JK wrote:

Zależy czy jesteś masochistš czy tylko coś chcesz napisać, dla masochistów
to asembler a dla reszty
to jakiś język wysokiego rzędu, a jest ich do wyboru i koloru od C przez
pascal po Baskoma.
Janusz

Kolega widzę nadal ma niezdrowe poglądy w temacie ;))))) czy może odświeżyć
pamięć ;)

Moim zdaniem, jak ktoś jest programistą to lepiej niech się nauczy C czy też
Bascoma (choć dla mnie to jednak zabawka), jeśli natomiast ktoś _czuje
elektronikę_ (jeśli dodatkowo dłubał coś w cyfrówce) to zdecydowanie lepiej
zrobi ucząc się asemblera. Takie jest moje nieobiektywne zdanie, i już. :)

--
PZD, Irek.N. (ALIAS)



Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: Asembler czy Baskom ?
Date: Thu, 10 May 2001 10:34:32 +0200



Kolega widzę nadal ma niezdrowe poglšdy w temacie ;)))))

Kolego Irku a dlaczego? czekam na odpow na priva :))

czy może odświeżyć
pamięć ;)

Nie rozumiem, czy dałem ku temu jakieś powody?

Moim zdaniem, jak ktoś jest programistš to lepiej niech się nauczy C czy też
Bascoma (choć dla mnie to jednak zabawka), jeśli natomiast ktoś _czuje
elektronikę_ (jeśli dodatkowo dłubał coś w cyfrówce) to zdecydowanie lepiej
zrobi uczšc się asemblera. Takie jest moje nieobiektywne zdanie, i już. :)

Od elektroniki zaczynałem całš mojš zabawę z pršdem i zajmowałem się niš na
długo zanim pojawił się PC-et w polsce, obecnie więcej piszę niż lutuję co nie
zmienia faktu że aby coś napisać w asemblerze (a czasami piszę) to trzeba się
zdrowo namęczyć. A jak ktoś uważa że C jest łatwy i przystępny to mam kawałek
źródła obsługi sprzętu, i zadanie , zgadnšć co to robi?

sub I2C_data {
my $val = shift;
write_register(0x1f4d,0x800 | ($val ? 8 : 0));
}

sub I2C_read_data {
my $val = (read_register(0x1f4d) & 0x800) ? 1 : 0;
return $val;
}


Janusz


Poprzedni Następny
Wiadomość
Spis treści
From: Ireneusz Niemczyk <i.niemczyk_at_nospam_multispedytor.com.pl>
Subject: Re: Asembler czy Baskom ?
Date: Thu, 10 May 2001 14:06:32 +0200


JK wrote:


Kolega widzę nadal ma niezdrowe poglšdy w temacie ;)))))

Kolego Irku a dlaczego? czekam na odpow na priva :))

czy może odświeżyć
pamięć ;)

Nie rozumiem, czy dałem ku temu jakieś powody?


Och nie czuj się atakowany...nic podobnego (dałem chyba wystarczającą ilość
nawiasów w buźce), po prostu zauważyłem Twoją agitację na temat Bascoma, a jak
pamiętasz mamy lekko rozbieżne poglądy (z naciskiem na lekko). :)
Zresztą.....dzwonię.....

Od elektroniki zaczynałem całš mojš zabawę z pršdem i zajmowałem się niš na
długo zanim pojawił się PC-et w polsce, obecnie więcej piszę niż lutuję co nie
zmienia faktu że aby coś napisać w asemblerze (a czasami piszę) to trzeba się
zdrowo namęczyć. A jak ktoś uważa że C jest łatwy i przystępny to mam kawałek
źródła obsługi sprzętu, i zadanie , zgadnšć co to robi?

Nie twierdzę, że C jest łatwy czy trudny....stwierdziłem jedynie dla kogo na
początek moim zdaniem się nadaje.

sub I2C_data {
my $val = shift;
write_register(0x1f4d,0x800 | ($val ? 8 : 0));
}

sub I2C_read_data {
my $val = (read_register(0x1f4d) & 0x800) ? 1 : 0;
return $val;
}

Janusz

Po chwili patrzenia .....nie mam pojęcia :(((....potrafię toto rozebrać..ale
całość jest mglista (niestety).

--
PZD, Irek.N. (ALIAS)



Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: Asembler czy Baskom ?
Date: Fri, 11 May 2001 13:20:28 +0200


Och nie czuj się atakowany.

Ale się nie czuję ;-)))

..nic podobnego (dałem chyba wystarczajšcš ilość
nawiasów w buźce), po prostu zauważyłem Twojš agitację na temat Bascoma,

Bez przesady, nic z tego nie mam ale po prostu uważam że dla poczštkujšcego jest to
narzędzie które umożliwi w miarę proste napisanie prostego programu.

sub I2C_data {
my $val = shift;
write_register(0x1f4d,0x800 | ($val ? 8 : 0));
}

sub I2C_read_data {
my $val = (read_register(0x1f4d) & 0x800) ? 1 : 0;
return $val;
}

Po chwili patrzenia .....nie mam pojęcia :(((....potrafię toto rozebrać..ale
całość jest mglista (niestety).

Ale jest na tej liście kupa fachowców od C (skoro go tak polecajš ) i do nich
kieruję ten fragment kodu.
Dodam jeszcze że jest to prosty fragment wywołania procedur zapisu i odczytu po I2C.

Janusz


Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Lewandowski" <locust_at_nospam_priv4.onet.pl>
Subject: Re: Asembler czy Baskom ?
Date: Fri, 11 May 2001 18:44:49 +0200


Użytkownik "JK" <Janusz_k_at_nospam_um.bielsko.pl> napisał w wiadomości
news:3AFBCAFC.B0701FF_at_nospam_um.bielsko.pl...
Och nie czuj się atakowany.

Ale się nie czuję ;-)))

..nic podobnego (dałem chyba wystarczajšcš ilość
nawiasów w buźce), po prostu zauważyłem Twojš agitację na temat Bascoma,

Bez przesady, nic z tego nie mam ale po prostu uważam że dla
poczštkujšcego jest to
narzędzie które umożliwi w miarę proste napisanie prostego programu.

sub I2C_data {
my $val = shift;
write_register(0x1f4d,0x800 | ($val ? 8 : 0));
}

sub I2C_read_data {
my $val = (read_register(0x1f4d) & 0x800) ? 1 : 0;
return $val;
}

Nie wiem, na jaki to procesor, więc nie wiem, co siedzi pod 0x1f4d.
ale pierwsza procedura wrzuca pod 0x1F4D 808h jeśli val!=0 i 800h jeśli
val=0
druga zwraca 1 jeśli bit 11 spod 0x1F4D jest ustawiony i 0 w przeciwnym
wypadku.
Zresztą, prawdopodobnie tę drugą procedurę możnaby skrócić do

return read_register(0x1F4D)&0x800;

jeśli interesuje cię wartość logiczna (w C wszystko !=0 to jest jedynka)
albo

return read_register(0x1F4D)&0x800>>10;

jeśli to ma być rzeczywiście jedynka.

--
Marek Lewandowski
marek.lewandowski_at_nospam_multicon.pl UIN: 10139051
http://locust.republika.pl




Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: Asembler czy Baskom ?
Date: Mon, 14 May 2001 08:16:28 +0200


sub I2C_data {
my $val = shift;
write_register(0x1f4d,0x800 | ($val ? 8 : 0));
}

sub I2C_read_data {
my $val = (read_register(0x1f4d) & 0x800) ? 1 : 0;
return $val;
}

Nie wiem, na jaki to procesor, więc nie wiem, co siedzi pod 0x1f4d.

Procesor 8086 do pentium a pod tym adresem jest rejestr I2C.

ale pierwsza procedura wrzuca pod 0x1F4D 808h jeśli val!=0 i 800h jeśli
val=0
druga zwraca 1 jeśli bit 11 spod 0x1F4D jest ustawiony i 0 w przeciwnym
wypadku.
Zresztš, prawdopodobnie tę drugš procedurę możnaby skrócić do

return read_register(0x1F4D)&0x800;

jeśli interesuje cię wartość logiczna (w C wszystko !=0 to jest jedynka)
albo

return read_register(0x1F4D)&0x800>>10;

jeśli to ma być rzeczywiście jedynka.

Dziękuję za rozwišzanie, pytałem kilku speców od C i mieli z tym problemy.
Musisz przyznać że nie jest to łatwa składnia, oczywiście można prosto pisać i
się z takimi
mozliwościami nie spotkać, ale to daje przykład jak w C co prawda na inny
procesor mozna
sobie zaciemnić kod.
Janusz



Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Lewandowski" <locust_at_nospam_priv4.onet.pl>
Subject: Re: Asembler czy Baskom ?
Date: Mon, 14 May 2001 17:12:10 +0200


[co do niby ciemnej składni C]

Wręcz przeciwnie: moim zdaniem składnia i możliwości C są takie, że
kulturalnie można bardzo złożony kod zapisywać w bardzo krótkiej formie,
więc można potem na raz ogarnąć większą część kodu, a dzięki takiej
elastyczności zapisać można instrukcje bardzo bliskie temu, co się myśli.


--
Marek Lewandowski
marek.lewandowski_at_nospam_multicon.pl UIN: 10139051
http://locust.republika.pl



Poprzedni Następny
Wiadomość
Spis treści
From: Wojciech Markowski <wmr_at_nospam_krakus.top.pl>
Subject: Re: Asembler czy Baskom ?
Date: Sat, 12 May 2001 00:34:05 +0200


Tylko i wylacznie asembler - jezeli chcesz, zeby program dzialal tak, jak chcesz.

pozdr.

Ireneusz Niemczyk wrote:

JK wrote:


Kolega widzę nadal ma niezdrowe poglšdy w temacie ;)))))

Kolego Irku a dlaczego? czekam na odpow na priva :))

czy może odświeżyć
pamięć ;)

Nie rozumiem, czy dałem ku temu jakieś powody?


Och nie czuj się atakowany...nic podobnego (dałem chyba wystarczającą ilość
nawiasów w buźce), po prostu zauważyłem Twoją agitację na temat Bascoma, a jak
pamiętasz mamy lekko rozbieżne poglądy (z naciskiem na lekko). :)
Zresztą.....dzwonię.....

Od elektroniki zaczynałem całš mojš zabawę z pršdem i zajmowałem się niš na
długo zanim pojawił się PC-et w polsce, obecnie więcej piszę niż lutuję co nie
zmienia faktu że aby coś napisać w asemblerze (a czasami piszę) to trzeba się
zdrowo namęczyć. A jak ktoś uważa że C jest łatwy i przystępny to mam kawałek
źródła obsługi sprzętu, i zadanie , zgadnšć co to robi?

Nie twierdzę, że C jest łatwy czy trudny....stwierdziłem jedynie dla kogo na
początek moim zdaniem się nadaje.

sub I2C_data {
my $val = shift;
write_register(0x1f4d,0x800 | ($val ? 8 : 0));
}

sub I2C_read_data {
my $val = (read_register(0x1f4d) & 0x800) ? 1 : 0;
return $val;
}

Janusz

Po chwili patrzenia .....nie mam pojęcia :(((....potrafię toto rozebrać..ale
całość jest mglista (niestety).

--
> PZD, Irek.N. (ALIAS)


Poprzedni Następny
Wiadomość
Spis treści
From: "JS" <jar0sz_at_nospam_polbox.com>
Subject: Re: Asembler czy Baskom ?
Date: Sat, 12 May 2001 00:42:28 +0200


zdrowo namęczyć. A jak ktoś uważa że C jest łatwy i
przystępny to mam kawałek
źródła obsługi sprzętu, i zadanie , zgadnąć co to robi?

sub I2C_data {
my $val = shift;

Wejście ze zmiennej nielokalnej shift (ale po co kopiować do
zmiennej lokalnej ?)
write_register(0x1f4d,0x800 | ($val ? 8 : 0));

W rejestrze xxxx ustawia bit 11 zawsze, a bit 3 <=> gdy
shift było !=0 (zapewne linia SDA).
}

sub I2C_read_data {
my $val = (read_register(0x1f4d) & 0x800) ? 1 : 0;
Wczytuje stan bitu 11 w rejestrze xxxx i zwraca go (tylko po
co znowu to kopiowanie do zmiennej lokalnej ?).
return $val;
}


Ciekawy jest sposób sterowania - ustalany jest bit 3., a
czytany 11. Bliżej nie mogę tego objaśnić nie znając
znaczenia bitów portu xxxx, ale można sądzić że bit 3.
ściąga linię SDA (wyjście open-drain), a 11. jest wejściem
podpiętym pod tą linię.

Tak w sprawie formalnej - to gdzie nawiasiki po nazwie
funkcji ? To błąd, chyba, że I2C_data i I2C_read_data to
makra, które w rozwinięciu te nawiasy zawierają.

sub i my mogą być nazwami typów zdefiniowanych w typedef lub
też makrami (ale wtedy bardziej czytelnie byłoby zapisać je
dużymi literami).

Dolar w identyfikatorze - standard AFAIR nie dopuszcza -
czyli pewnie ma jakieś specjalne znaczenie ?

Pierwsza funkcja powinna mieć też
return jakaś_wartość
(to tak dla porządku).

PS. Znaczące nazwy funkcji były pomocne.

--
Jarosław Szynal
Nie naprawiaj, czego nie zepsułeś.



Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: Asembler czy Baskom ?
Date: Mon, 14 May 2001 08:23:16 +0200


Wejście ze zmiennej nielokalnej shift (ale po co kopiować do
zmiennej lokalnej ?)

Nie wiem to nie mój program ;-))

W rejestrze xxxx ustawia bit 11 zawsze, a bit 3 <=> gdy
shift było !=0 (zapewne linia SDA).

Tak bo to jest zapis do rejestru I2C.


Ciekawy jest sposób sterowania - ustalany jest bit 3., a
czytany 11. Bliżej nie mogę tego objaśnić nie znajšc
znaczenia bitów portu xxxx, ale można sšdzić że bit 3.
ścišga linię SDA (wyjście open-drain), a 11. jest wejściem
podpiętym pod tš linię.

Pewnie tak, to jest tylko fragmencik programu do testowania kostki
dekodera video
podpiętego na karcie pod chip obsłygujšcy PCI ( i pewnie kupę innych
rzeczy)

Tak w sprawie formalnej - to gdzie nawiasiki po nazwie
funkcji ? To błšd,

To tylko fragmencik a nie cały program

chyba, że I2C_data i I2C_read_data to
makra, które w rozwinięciu te nawiasy zawierajš.

Nie to wywołania funkcji.

Dolar w identyfikatorze - standard AFAIR nie dopuszcza -
czyli pewnie ma jakieś specjalne znaczenie ?

Trudno wyczuć, tak dokładnie się jeszcze nie wgryzałem w program.

PS. Znaczšce nazwy funkcji były pomocne.

--
> Jarosław Szynal
> Nie naprawiaj, czego nie zepsułeś.

Robię na tej podstawie co innego i w innym języku.
Janusz


Poprzedni Następny
Wiadomość
Spis treści
From: "Michał Smolnik" <smolnik_at_nospam_2com.pl>
Subject: Odp: Asembler czy Baskom ?
Date: Tue, 8 May 2001 18:34:59 +0200



Użytkownik JK <Janusz_k_at_nospam_um.bielsko.pl> w wiadomości do grup dyskusyjnych
napisał:3AF7CB26.E9821B54_at_nospam_um.bielsko.pl...

Mam pytanko , co mi Polecicie do nauki programowania
procesora x51 . Mam opisy w EDW jednego i drugiego i nie wiem na co się
zdecydować.

Zależy czy jesteś masochistš czy tylko coś chcesz napisać, dla
masochistów
to asembler a dla reszty to jakiś język wysokiego rzędu,

Jeśli jesteś masochistą, to ucz się bascoma. Wyszukując błędy w
kompilatorze tegoż języka z pewnością nauczysz się wiele...


--
Pozdrawiam.
Michał Smolnik
smolnik_at_nospam_2com.pl
www.smolnik.w.pl
tel. 0 604 666 970



Poprzedni Następny
Wiadomość
Spis treści
From: MiKe <4lanki_at_nospam_student.uci.agh.edu.pl>
Subject: Re: Asembler czy Baskom ?
Date: Tue, 08 May 2001 13:24:16 +0200


Nalezy rowniez pamietac, ze najprosciej jest nam poslugiwac sie pierwszym
nauczonym jezykiem - to naturalne.
Jezeli zaczniesz w Bascomie, a pozniej bedziesz chcial pisac w asemblerze,
to po kilku programach
w asm stwierdzisz, ze to skomplikowane i go porzucisz. Odwrotnie zas
stwierdzisz, ze w bascomie nie
kontrolujesz programu.
Ja na przyklad na '51 i AVR najlepiej wychodzi asembler, a dla PC Pascal.
Te jezyki poznalem jako pierwsze dla wymienionych procesorow. Teraz proboje
sie przerzucic na C, ale i tak, jesli cos szybko mam napisac np dla PC
prosciej jest mi pisac w Pascalu (Delphi) niz w C...

--
Michal Lankosz, SQ9FQQ
http://www.sq9fqq.prv.pl
e-mail: lanki_at_nospam_student.uci.agh.edu.pl
UIN: 98838616
(z adresu zwrotnego usun cyferke 4 - to zabezpieczenie przed spamerami)
------------------------------------



Poprzedni Następny
Wiadomość
Spis treści
From: Janusz Charchut <Janusz.Charchut_at_nospam_p37.f26.n484.z2.fidonet.org>
Subject: Asembler czy Baskom ?
Date: Thu, 10 May 01 22:07:42 +0200


Czesc Czarek!
07 May Czarek napisal(a) do All:

C> Mam pytanko , co mi Polecicie do nauki programowania
C> procesora x51 . Mam opisy w EDW jednego i drugiego i nie
C> wiem na co się zdecydować.

Asembler.

Pozdrawiam Janusz

*Inet: Janusz.Charchut_at_nospam_p37.f26.n484.z2.fidonet.org
*Fido: 2:484/26.37