Dylemat 51. Szalony pomysl.



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Thomek" <lipin_at_nospam_usunto.poczta.fm>
Subject: Dylemat 51. Szalony pomysl.
Date: Sun, 26 Sep 2004 23:45:47 +0200


Tak sobie wlasnie przepisuje procedurki na asm i nadszedl szalony pomysl.
Jak mikroprocesor zareaguje na taki oto kod?? Niestety nie moge sprawdzic
-/.
Oczywiscie wykorzystuje zerowy bank rejestrow.

mov r0, #0
mov _at_nospam_r0, 0

Pozdrawiam
Thomek



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Sun, 26 Sep 2004 19:08:22 -0500


"Thomek" <lipin_at_nospam_usunto.poczta.fm> wrote in message news:cj7dah$kto$1_at_nospam_news.onet.pl...
Tak sobie wlasnie przepisuje procedurki na asm i nadszedl szalony pomysl.
Jak mikroprocesor zareaguje na taki oto kod?? Niestety nie moge sprawdzic
-/.
Oczywiscie wykorzystuje zerowy bank rejestrow.

mov r0, #0

MOV RN,#data Move immediate data to register (12xclk)
Czyli wyzeruje pierwszy rejestr zużywając na to 12 taktów zegara.

mov _at_nospam_r0, 0

MOV _at_nospam_Ri,direct Move direct byte to indirect RAM (24xclk)
Czyli w Twoim przypadku, odczyta to co w zerze i wpisze pod adres zero.

Na mój gust, te dwie instrukcje to tylko zmarnowane 36 taktów zegara.
Być może celowo wprowadzone opóźnienie wykonania następnych instrukcji?
Ale w 8051 asemblerze już daaaawno się nie bawiłem - może to jakiś myk? :-)


========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Mon, 27 Sep 2004 18:00:13 +0200


Użytkownik Pszemol napisał:
[..]
Na mój gust, te dwie instrukcje to tylko zmarnowane 36 taktów zegara.
Być może celowo wprowadzone opóźnienie wykonania następnych instrukcji?
Ale w 8051 asemblerze już daaaawno się nie bawiłem - może to jakiś myk? :-)

tylko z pozoru moze to wygladac na kruczek, w rzeczywistosci jest jak
napisales, rownie "nielogiczne" jest polecenie x=x+1

========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Mon, 27 Sep 2004 11:55:24 -0500


"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cj9dkj$q62$1_at_nospam_nemesis.news.tpi.pl...
Użytkownik Pszemol napisał:
[..]
Na mój gust, te dwie instrukcje to tylko zmarnowane 36 taktów zegara.
Być może celowo wprowadzone opóźnienie wykonania następnych instrukcji?
Ale w 8051 asemblerze już daaaawno się nie bawiłem - może to jakiś myk? :-)

tylko z pozoru moze to wygladac na kruczek, w rzeczywistosci jest jak napisales, rownie "nielogiczne" jest polecenie x=x+1

momencik... x=x+1 to jest inkrementacja wartości x o 1...
nie widzę tu niczego nielogicznego :-)
Natomiast przepisanie wartości do tej samej komórki pamięci
z której ta wartość została właśnie odczytana to jakby długi NOP.
Nawiasem mówiąc, w niektórych procesorach nie ma specjalnej instrukcji
NOP tylko do tych celów właśnie wykorzystuje się takie kombinacje
rozkazów które nie robią nic, np. w procesorach MIPS za NOPa robi zdaje
się wpisanie zera do rejestru zerowego (w którym i tak zawsze jest zero).
Albo operacja typu "AND A,A" :-)


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 15:06:45 +0200


Użytkownik Pszemol napisał:
"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message
news:cj9dkj$q62$1_at_nospam_nemesis.news.tpi.pl...
[..]
tylko z pozoru moze to wygladac na kruczek, w rzeczywistosci jest jak
napisales, rownie "nielogiczne" jest polecenie x=x+1

momencik... x=x+1 to jest inkrementacja wartości x o 1...
nie widzę tu niczego nielogicznego :-)

dobrze ze dodales usmieszek bo bym se pomyslal ;)
dla niezorientowanych - matematyk by dostal szalu :)

Natomiast przepisanie wartości do tej samej komórki pamięci
z której ta wartość została właśnie odczytana to jakby długi NOP.
Nawiasem mówiąc, w niektórych procesorach nie ma specjalnej instrukcji
NOP tylko do tych celów właśnie wykorzystuje się takie kombinacje
[..]

osobiscie z takimi sie dotad nie spotkalem, zapewne za malo ich
rozgryzalem :)

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 08:41:19 -0500


"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cjbnrj$aa0$1_at_nospam_nemesis.news.tpi.pl...
Użytkownik Pszemol napisał:
"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cj9dkj$q62$1_at_nospam_nemesis.news.tpi.pl...
[..]
tylko z pozoru moze to wygladac na kruczek, w rzeczywistosci jest jak napisales, rownie "nielogiczne" jest polecenie x=x+1

momencik... x=x+1 to jest inkrementacja wartości x o 1...
nie widzę tu niczego nielogicznego :-)

dobrze ze dodales usmieszek bo bym se pomyslal ;)
dla niezorientowanych - matematyk by dostal szalu :)

Powtarzam, tym razem całkowicie poważnie - tu nie ma nic
nielogicznego. Operator '=' w języku C nie jest operatorem
równości, jest operatorem PRZYPISANIA wartości zmiennej...
Matematyk żaden nie dostałby szału, tylko zapytałby czy
przypadkiem operator '=' w tym zapisie nie oznacza czegoś
innego niż w "normalnej" matematyce...
Weź pod uwagę, że języki programowania komputerów mają
niewiele wspólnego z zapisami matematycznymi...
W szczególności, w języku C++, możesz sobie dowolnie
definiować operatory, i dla np. klasy obiektów jakiegoś
typu dowolny operator zdefiniować sobie aby znaczył
cokolwiek Ci przyjdzie do głowy... Free up your mind! :-)


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 17:49:16 +0200


Użytkownik Pszemol napisał:
[..]
Weź pod uwagę, że języki programowania komputerów mają
niewiele wspólnego z zapisami matematycznymi...

wiem to doskonale, niemniej gdy zglebialem tajniki BASIC'a na timex'ie
mialem problemy ze zrozumieniem takiego "dzialania matematycznego" za co
wowczas to bralem. i osoby nie myslace dwojkowo rowniez nad tym sie
dluzej zastanowia o co w tym zapisie chodzi ;)
[..]

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 11:31:06 -0500


"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cjc1c1$adu$1_at_nospam_nemesis.news.tpi.pl...
Użytkownik Pszemol napisał:
[..]
Weź pod uwagę, że języki programowania komputerów mają
niewiele wspólnego z zapisami matematycznymi...

wiem to doskonale, niemniej gdy zglebialem tajniki BASIC'a na timex'ie mialem problemy ze zrozumieniem takiego "dzialania
matematycznego" za co wowczas to bralem. i osoby nie myslace dwojkowo rowniez nad tym sie dluzej zastanowia o co w tym zapisie
chodzi ;)
[..]

Ja w ogóle nie wiedziałem o co Ci chodzi jak pierwszy raz to
napisałeś właśnie dlatego, że od razu mi się to odczytało
w głowie jako operacja przypisania a nie przyrównania :-)


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 20:40:44 +0200


Użytkownik Pszemol napisał:

[..]
Ja w ogóle nie wiedziałem o co Ci chodzi jak pierwszy raz to
napisałeś właśnie dlatego, że od razu mi się to odczytało
w głowie jako operacja przypisania a nie przyrównania :-)

a to juz jest objaw zaawansowanego zboczenia informatycznego i trzeba
pacjenta izolowac ;)

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 18:48:20 -0500


"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cjcb83$bi3$2_at_nospam_atlantis.news.tpi.pl...
Użytkownik Pszemol napisał:

[..]
Ja w ogóle nie wiedziałem o co Ci chodzi jak pierwszy raz to
napisałeś właśnie dlatego, że od razu mi się to odczytało
w głowie jako operacja przypisania a nie przyrównania :-)

a to juz jest objaw zaawansowanego zboczenia informatycznego
i trzeba pacjenta izolowac ;)

-)


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?=22Przemcio_=AF=2E=22?= <przemcio_at_nospam_WYTNIJTOonet.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 01:53:40 +0200


AlexY napisał(a):

Użytkownik Pszemol napisał:

[..]

Ja w ogóle nie wiedziałem o co Ci chodzi jak pierwszy raz to
napisałeś właśnie dlatego, że od razu mi się to odczytało
w głowie jako operacja przypisania a nie przyrównania :-)


a to juz jest objaw zaawansowanego zboczenia informatycznego i trzeba
pacjenta izolowac ;)

to chyba jakas masowa choroba, bo ja tez musialem sie przez
dluzsza chwile zastanawiac o co chodzi i co jest nie tak...:)

--
Pozdrawiam - Przemcio Ż.
http://www.elektro.behende.pl - elektronika
http://www.nasza.behende.pl - strona Nasza:)))
gg: 1156769, tlen: belmotybe

========
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Piotrek Sz." <zumek_at_nospam_gazeta.SKASUJ-TO.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 16:33:48 +0000 (UTC)


AlexY <alexy_at_nospam_irc.-cut_this-.pl> napisał(a):

Użytkownik Pszemol napisał:
[..]

wiem to doskonale, niemniej gdy zglebialem tajniki BASIC'a na timex'ie
mialem problemy ze zrozumieniem takiego "dzialania matematycznego" za co
wowczas to bralem. i osoby nie myslace dwojkowo rowniez nad tym sie
dluzej zastanowia o co w tym zapisie chodzi ;)
[..]

W Spectrun(Timexi) pisało sie:
Let x=x+1
co ja rozumiałem jako :Niech x= tylo co w nim jest i do tego dodaj jeszcze 1
He he he.To były czasy :)

Pzdr.
Piotrek Sz.


--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

========
Newsgroups: pl.misc.elektronika
Date: Tue, 28 Sep 2004 20:08:08 +020

Poprzedni Następny
Wiadomość
Spis treści
From: RoMan Mandziejewicz <roman_at_nospam_pik-net.pl>
Subject: Re: Dylemat 51. Szalony pomysl.


Hello Piotrek,

Tuesday, September 28, 2004, 6:33:48 PM, you wrote:

wiem to doskonale, niemniej gdy zglebialem tajniki BASIC'a na timex'ie
mialem problemy ze zrozumieniem takiego "dzialania matematycznego" za co
wowczas to bralem. i osoby nie myslace dwojkowo rowniez nad tym sie
dluzej zastanowia o co w tym zapisie chodzi ;)
W Spectrun(Timexi) pisało sie:
Let x=x+1
co ja rozumiałem jako :Niech x= tylo co w nim jest i do tego dodaj jeszcze 1
He he he.To były czasy :)

To były wspaniałe czasy. Dyskutowało się o wyższości Commodore na
Spectrum i na odwrót. I oba stronnictwa mniej więcej zgodnie psioczyły
na Atari 800 ;-)

--
Best regards,
RoMan mailto:roman_at_nospam_pik-net.pl


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 13:17:22 -0500


"RoMan Mandziejewicz" <roman_at_nospam_pik-net.pl> wrote in message news:1906624585.20040928200808_at_nospam_pik-net.pl...
To były wspaniałe czasy. Dyskutowało się o wyższości Commodore na
Spectrum i na odwrót. I oba stronnictwa mniej więcej zgodnie psioczyły
na Atari 800 ;-)

Chyba coś ci sie pomyliło... ZX Spectrum nie miało szans ani
do Commodore ani do Atari 800. Święte wojny były miedzy Atarowcami
i Commodorowcami... Spectrumowcy zawsze byli w tyle :-)


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 20:39:40 +0200


Użytkownik Pszemol napisał:
"RoMan Mandziejewicz" <roman_at_nospam_pik-net.pl> wrote in message
news:1906624585.20040928200808_at_nospam_pik-net.pl...

To były wspaniałe czasy. Dyskutowało się o wyższości Commodore na
Spectrum i na odwrót. I oba stronnictwa mniej więcej zgodnie psioczyły
na Atari 800 ;-)

Chyba coś ci sie pomyliło... ZX Spectrum nie miało szans ani
do Commodore ani do Atari 800. Święte wojny były miedzy Atarowcami
i Commodorowcami... Spectrumowcy zawsze byli w tyle :-)

uzylbym raczej zwrotu: na uboczu
spectrumny byly dobre do sterowania
C64 do tego uzywalem dosc namietnie i do tej pory posiadam ze 2-3
dzialajace sztuki, spalony uklad I/O (user portu) zastapilem mala plytka
z paroma TTLami :)
eh... a teraz pisze sie programy nie dbajac o takie rzeczy jak rozmiar
ram czy szybkosc proca :(

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 14:30:18 -0500


"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cjcb64$bi3$1_at_nospam_atlantis.news.tpi.pl...
eh... a teraz pisze sie programy nie dbajac o takie rzeczy jak rozmiar ram czy szybkosc proca :(

Na pecety może tak, ale elektronika to nie tylko pecety...
Wciąż robi się przecież kompy "embedded" i tam zarówno
czas wykonania programu jak i zajętość pamięci jest ważna.
W innym wątku opisuję dwa projekty w których biorę udział,
jeden ma motorolkę 68SEC000_at_nospam_18MHz i 8M flasha i 4M sram,
inny ma proca nios2_at_nospam_20MHz i 4M flasha i 4M dram.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 16:53:41 +0200


Użytkownik Pszemol napisał:
"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message
news:cjcb64$bi3$1_at_nospam_atlantis.news.tpi.pl...

eh... a teraz pisze sie programy nie dbajac o takie rzeczy jak rozmiar
ram czy szybkosc proca :(

Na pecety może tak, ale elektronika to nie tylko pecety...
Wciąż robi się przecież kompy "embedded" i tam zarówno
czas wykonania programu jak i zajętość pamięci jest ważna.
W innym wątku opisuję dwa projekty w których biorę udział,
jeden ma motorolkę 68SEC000_at_nospam_18MHz i 8M flasha i 4M sram,
inny ma proca nios2_at_nospam_20MHz i 4M flasha i 4M dram.

no... w czym piszesz? na jakim poziomie jestes w stanie zoptymalizowac
czy tez zdebuggowac kod? ASM czy C. W C mozesz zoptymalizowac kod pod
katem sposobu jego dzialania, zastosowac najlepszy algorytm, ale bez
wiedzy jaki bedzie wynik assemblacji poszczegolnych polecen C robi sie
to na slepo, moze sie okazac ze to co w C jest dluzsze w kodzie
maszynowym bedzie krotsze niz dluzszy C.
chyba zamotalem :)

moze jestem radykalny w tym wzgledzie ale od lat skladam hold
assemblerowi i jak slysze (czytam) o stosowaniu jezykow wysokiego
poziomu dla MCS51 to mi rece opadaja :)
ale tez mam swiadomosc ze napisanie routera na ARM w ASM jest w praktyce
niewykonalne

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 10:01:26 -0500


"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cjeift$gqu$1_at_nospam_nemesis.news.tpi.pl...
no... w czym piszesz? na jakim poziomie jestes w stanie zoptymalizowac czy tez zdebuggowac kod? ASM czy C. W C mozesz
zoptymalizowac kod pod katem sposobu jego dzialania, zastosowac najlepszy algorytm, ale bez wiedzy jaki bedzie wynik assemblacji
poszczegolnych polecen C robi sie to na slepo, moze sie okazac ze to co w C jest dluzsze w kodzie maszynowym bedzie krotsze niz
dluzszy C.
chyba zamotalem :)

Kawałki kodu są w C, inne kawałki w assemblerze...

moze jestem radykalny w tym wzgledzie ale od lat skladam hold assemblerowi i jak slysze (czytam) o stosowaniu jezykow wysokiego
poziomu dla MCS51 to mi rece opadaja :)

Dlaczego nie? Jeśli kod się mieści, to stosowanie C jest praktyczniejsze
bo prowadzi do rezultatów SZYBCIEJ, a więc mniejszym kosztem...
Elektronika jest dziś tania, pamięć za grosze, a czas coraz droższy.
To naturalna tendencja, że pamięci przybywa i programiści przerzucają
się na języki wysokiego poziomu...

ale tez mam swiadomosc ze napisanie routera na ARM w ASM jest w praktyce niewykonalne

ASM używa się tam, gdzie się go musi używać - nie oszukujmy się,
nie jest to język ani naturalny dla człowieka, ani wygodny w użyciu.
Nawet jeśli ktoś się nim umie biegle posługiwać to nie wszędzie
asm się nadaje i mało tego - nie wszędzie potrzebna jest taka precyzja
programowania aby instruować procesor do pojedynczych poleceń...
Rozdzielczość jaką daje C, nawet na 8051, jest czasem wystarczająca.
Nie ma co posuwać się do asemblerowego fanatyzmu, no nie? :-)


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 19:06:48 +0200


Użytkownik Pszemol napisał:

"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message
news:cjeift$gqu$1_at_nospam_nemesis.news.tpi.pl...

no... w czym piszesz? na jakim poziomie jestes w stanie zoptymalizowac
czy tez zdebuggowac kod? ASM czy C. W C mozesz
[..]
Kawałki kodu są w C, inne kawałki w assemblerze...

niemniej sprowadza sie to wlasnie do tego ze program rosnie w sile,
znaczy sie w bajty ;)

moze jestem radykalny w tym wzgledzie ale od lat skladam hold
assemblerowi i jak slysze (czytam) o stosowaniu jezykow wysokiego
poziomu dla MCS51 to mi rece opadaja :)

Dlaczego nie? Jeśli kod się mieści, to stosowanie C jest praktyczniejsze
bo prowadzi do rezultatów SZYBCIEJ, a więc mniejszym kosztem...

na szczescie robie dla siebie a nie zarobkowo :) stac mnie na robienie
predkosciomierza do samochodu przez pol roku (dziala ale jeszcze go nie
skonczylem) z zegarmistrzowska precyzja

Elektronika jest dziś tania, pamięć za grosze, a czas coraz droższy.
To naturalna tendencja, że pamięci przybywa i programiści przerzucają
się na języki wysokiego poziomu...

no o wlasnie to to ... nie licza sie z pamiecia i cyklami proca...
osobiscie optymalizuje tak by wydusic kazdy bajt kodu i zaznaczam sobie
elementy ktore moge usunac jesli zabraknie pamieci na nowe featuresy :)

ale tez mam swiadomosc ze napisanie routera na ARM w ASM jest w
praktyce niewykonalne

ASM używa się tam, gdzie się go musi używać - nie oszukujmy się,
nie jest to język ani naturalny dla człowieka, ani wygodny w użyciu.

ekhm ekhm... osmiele sie miec w tym temacie odmienne zdanie...
jest 10 typy ludzi:
ci ktorzy mysla binarnie i ci ktorzy nie
;)
nie moje, ale fajne :)

Nawet jeśli ktoś się nim umie biegle posługiwać to nie wszędzie
asm się nadaje i mało tego - nie wszędzie potrzebna jest taka precyzja
programowania aby instruować procesor do pojedynczych poleceń...
Rozdzielczość jaką daje C, nawet na 8051, jest czasem wystarczająca.
Nie ma co posuwać się do asemblerowego fanatyzmu, no nie? :-)

czy ja wiem, program centralki telefonicznej na 51 napisalem w 3
miesiace w ASM, zajmuje 1283 bajty ma obsluge 4Lwew 1Lzew oraz LCD 2*24
na HD44780, sterowanie DTMF. ale drugi raz to bym sie powaznie
zastanowil czy na pewno tego potrzebuje ;)

gwoli scislosci nie zamierzam nikogo przekonywac ze C jest be, wolna
wola, pragne jedynie pokazac ze mozna inaczej, sam C nawet nie znam,
kiedys probowalem ale zostal chyba stworzony po to by zniechecic :)

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 13:31:41 -0500


"AlexY" <alexy_at_nospam_irc.-cut_this-.pl> wrote in message news:cjeq41$lev$1_at_nospam_atlantis.news.tpi.pl...
gwoli scislosci nie zamierzam nikogo przekonywac ze C jest be, wolna wola, pragne jedynie pokazac ze mozna inaczej, sam C nawet
nie znam, kiedys probowalem ale zostal chyba stworzony po to by zniechecic :)

Wszyscy wiemy, że "można inaczej". Pytanie tylko czy warto...
A co do znajomości C - warto go znać i stosować tam gdzie ma
zalety... Dziwie się że Ci nie podeszło C, bo wielu mówi że to
NIE jest język wysokiego poziomu, że bliżej mu do makroasemblera
niż do prawdziwych języków wysokiego poziomu...

No ale chyba zrobiło się bardzo off-topicznie, dla mnie EOT.


========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 16:58:28 +0200


On Tue, 28 Sep 2004 15:06:45 +0200, AlexY wrote:
Natomiast przepisanie wartości do tej samej komórki pamięci
z której ta wartość została właśnie odczytana to jakby długi NOP.
[..]

osobiscie z takimi sie dotad nie spotkalem, zapewne za malo ich
rozgryzalem :)

Tu zasadniczo nie ma nic nadzwyczajnego. instrukcje wykonujemy
cyklicznie, dana zostanie pobrana, i potem zapisana, problemow
nie ma.

w '51 jest pare rozkazow ktore moglyby budzic watpliwosci:

INC _at_nospam_R0 .. gdy R0 zawiera 0
XCH/XCHD A,_at_nospam_R0 .. . gdy R0 zawiera 0
XRL A,ACC


POP SP
PUSH SP
POP/PUSH gdy SP jest ustawiony .. na SP..


J.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 18:19:54 +0200


Użytkownik J.F. napisał:

w '51 jest pare rozkazow ktore moglyby budzic watpliwosci:

oto co zrobil symulator:

INC _at_nospam_R0 .. gdy R0 zawiera 0
R0=01

XCH/XCHD A,_at_nospam_R0 .. . gdy R0 zawiera 0
dla XCH zawartosc A i R0 zostaja zamienione
dla XCHD mlodsze 4 bity A i R0 zostaly zamienione

XRL A,ACC
zeruje akumulator

POP SP
jesli pod adresem 81h jest ram to powinno zadzialac, moj symulator sie
wylozyl na tym
"Wrong internal RAM address"

PUSH SP
jak wyzej

POP/PUSH gdy SP jest ustawiony .. na SP..

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: =?ISO-8859-2?Q?=A3ukasz_Sok=F3=B3?= <el_es_at_nospam_p0cz74.0n37.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 23:04:29 +0200


U=BFytkownik AlexY napisa=B3:

XRL A,ACC
=20
zeruje akumulator

Nie mam pod r=EAk=B1... zaraz...
nie mam pod r=EAk=B1. Ale czy nie by=B3a ta instrukcja kr=F3tsza (pod wzg=
l.=20
bajtowym) lub szybsza (mniej cykli) ni=BF mov a|acc, #0 ?

W paru programach w assemblerze widzia=B3em nami=EAtnie u=BFywan=B1 tak=B1=
w=B3a=B6nie=20

eL eS
--=20
| W T F |
| O M F G |
| I HATE 1337 |
|speak so damn|
|much it hurts|

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 00:37:21 +0200


On Tue, 28 Sep 2004 23:04:29 +0200, Łukasz Sokół wrote:
Użytkownik AlexY napisał:
XRL A,ACC
zeruje akumulator

Nie mam pod ręką... zaraz...
nie mam pod ręką. Ale czy nie była ta instrukcja krótsza (pod wzgl.
bajtowym) lub szybsza (mniej cykli) niż mov a|acc, #0 ?

W paru programach w assemblerze widziałem namiętnie używaną taką właśnie
- nie pamiętam czy pod '51 czy x86.

8080 jeszcze. Tam bylo xor a,a - tryb rejestrowy, jeden bajt, jeden
cykl.

J.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: AlexY <alexy_at_nospam_irc.-cut_this-.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 17:04:53 +0200


Użytkownik Łukasz Sokół napisał:

XRL A,ACC
[..]
Nie mam pod ręką... zaraz...
nie mam pod ręką. Ale czy nie była ta instrukcja krótsza (pod wzgl.
bajtowym) lub szybsza (mniej cykli) niż mov a|acc, #0 ?

oba zabieraja 2 bajty i jeden cykl maszynowy

========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: J.F. <jfox_nospam_at_nospam_poczta.onet.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 00:37:22 +0200


On Tue, 28 Sep 2004 18:19:54 +0200, AlexY wrote:
Użytkownik J.F. napisał:
w '51 jest pare rozkazow ktore moglyby budzic watpliwosci:

oto co zrobil symulator:

Czyli w tworcy symulatora nie budzily watpliwosci :-)

INC _at_nospam_R0 .. gdy R0 zawiera 0
R0=01

XRL A,ACC
zeruje akumulator

Zasadniczo zdziwilbym sie gdyby bylo inaczej, ale kto wie :-)

XCH/XCHD A,_at_nospam_R0 .. . gdy R0 zawiera 0
dla XCH zawartosc A i R0 zostaja zamienione
dla XCHD mlodsze 4 bity A i R0 zostaly zamienione

To by znaczylo ze procek ma jakis latch adresu do tej operacji..

POP SP
jesli pod adresem 81h jest ram to powinno zadzialac, moj symulator sie
wylozyl na tym "Wrong internal RAM address"
PUSH SP
jak wyzej

Hm, moze sie myle, ale sfr chyba mozna uzyc jako operanda

POP/PUSH gdy SP jest ustawiony .. na SP..

A w ogole to spodziewalem sie tu problemow z tym czy wartosc bedzie
SP czy SP+/-1. Niby dokumentacja podaje kolejnosc .. ale czy na pewno
?

J.


========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!www.wizzard.one.pl!new

Poprzedni Następny
Wiadomość
Spis treści
From: "T.M.F." <tfrancuz_at_nospam_nospam.mp.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Tue, 28 Sep 2004 23:19:59 +0200


Natomiast przepisanie wartości do tej samej komórki pamięci
z której ta wartość została właśnie odczytana to jakby długi NOP.
Nawiasem mówiąc, w niektórych procesorach nie ma specjalnej instrukcji
NOP tylko do tych celów właśnie wykorzystuje się takie kombinacje
rozkazów które nie robią nic, np. w procesorach MIPS za NOPa robi zdaje
się wpisanie zera do rejestru zerowego (w którym i tak zawsze jest zero).
Albo operacja typu "AND A,A" :-)

W wiekszosci procesorow operacje typu AND A,A, OR A,A nie nie robia nic,
bo cos robia:) A konkretnie ustawiaja stosownie flagi w rejestrze stanu,
co ma sporawe zastosowanie.



--
Inteligentny dom - http://idom.wizzard.one.pl
Teraz takze forum dyskusyjne
Zobacz, wyslij uwagi, dolacz sie do projektu.

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Adam Dybkowski <adybkows_at_nospam_amwaw.edu.pl>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Wed, 29 Sep 2004 00:14:57 +0200


T.M.F. wrote:

W wiekszosci procesorow operacje typu AND A,A, OR A,A nie nie robia nic,
bo cos robia:) A konkretnie ustawiaja stosownie flagi w rejestrze stanu,
co ma sporawe zastosowanie.

W procesorach ARM nie ma instrukcji NOP jako takiej. Asembler rozumie
jednak ten mnemonik i zamienia na MOV R0,R0 (o tym samym kodzie rozkazu).
BTW: W ogóle w ARMie w instrukcji można podać, czy ma zmieniać flagi,
czy nie (literka 's' na końcu mnemonika). Można też doczepić działanie w
zależności od flag (kolejne kilka literek) tak że konstrukcje w stylu
if/then/else/endif robi się "jednym ciągiem" rozkazów wykonywanych
warunkowo. I skrzętnie z tej możliwości korzysta np. arm-elf-gcc.

--
Adam Dybkowski
adybkows_at_nospam_amwaw.edu.pl
http://www.amwaw.edu.pl/~adybkows/

========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news.nask.pl!news.cyf-kr.edu.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Thomek" <lipin_at_nospam_usunto.poczta.fm>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Mon, 27 Sep 2004 20:10:00 +0200


mov r0, #0
mov _at_nospam_r0, 0

Na mój gust, te dwie instrukcje to tylko zmarnowane 36 taktów zegara.
Być może celowo wprowadzone opóźnienie wykonania następnych instrukcji?
Ale w 8051 asemblerze już daaaawno się nie bawiłem - może to jakiś myk?
-)

Tak sie wlasnie zastanawialem co sie stanie szkoda ze nie moge sprawdzic
tego.
Pewnie nic czyli w r0 nadal bedzie 0. Hmm a pytanie zadalem troche z nudow i
czystej ciekawosci.

Pozdrawiam
Thomek



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Thomek" <lipin_at_nospam_usunto.poczta.fm>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Mon, 27 Sep 2004 20:13:51 +0200



Tak sie wlasnie zastanawialem co sie stanie szkoda ze nie moge sprawdzic
tego.
Pewnie nic czyli w r0 nadal bedzie 0. Hmm a pytanie zadalem troche z nudow
i
czystej ciekawosci.

Pozdrawiam
Thomek

Ok ;] Toche za wczenie wyslalem zanim hamster sciagnal inne wiadomosci.
Dla mnie to jakies dziwne jednak kopiowac z tej samej komorki do tej samej
dobrze wiedziec ze to dziala.

Pozdrawiam
Thomek



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Pszemol" <Pszemol_at_nospam_PolBox.com>
Subject: Re: Dylemat 51. Szalony pomysl.
Date: Mon, 27 Sep 2004 13:50:42 -0500


"Thomek" <lipin_at_nospam_usunto.poczta.fm> wrote in message news:cj9l9d$mq0$1_at_nospam_news.onet.pl...
Ok ;] Toche za wczenie wyslalem zanim hamster sciagnal inne wiadomosci.
Dla mnie to jakies dziwne jednak kopiowac z tej samej komorki do tej
samej dobrze wiedziec ze to dziala.

Dlaczego ma nie działać? Przecież komputer to nie jest inteligentna
maszyna - robi co się mu każe... To programista, układając kod programu
ma wiedzieć co program robi... Jeśli programista ułoży kod tak, aby
cały czas procesor mozolnie wyciągał z adresu zero wartość i pod ten
sam adres zero ją pakował, to procesor posłusznie i bez ględzenia
będzie wykonywał te rozkazy, mimo iż ani sensu w tym nie ma, ani
żadnego pożytku... Ale przecież procesor "nie wie" co ma sens a co
go nie ma - to maszyna która wykonuje rozkazy, nie zadaje przy tym
zbędnych pytań, nie męczy się, nie będzie znużony - o to właśnie chodzi.


========
Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!newsgate.onet.pl!niusy.onet.p