Re: SDCC- =?iso-8859-2?Q?boj=F3w=20ci=B1g?= dalszy.



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: SDCC- =?iso-8859-2?Q?boj=F3w=20ci=B1g?= dalszy.
Date: Thu, 01 Mar 2001 15:28:00 +0100


Buahahahaha... chyba nie wiesz o czym piszesz...
Od kiedy zabranie ~1.2kB programu na obsluge LCD i I2C mozna nazwac
efektywna generacja kodu. Od kiedy napisanie 10 prostych instrukcji w
BASICU musi zajmowac 100kB kodu ?

Bzdury waść piszesz.

Wybacz ale poswiecilem dlugie godziny na podgladanie kodu generowanego
przez kompilator BASCOM-a i o ile moge sie zgodzic na calkiem dobre
zarzadzanie zmiennymi to tekst o efektywnej generacji kodu przemilcze...
a raczej przesmieje...

Uważaj żeby Ci się zajady nie zrobiły. I chyba piszemy nie o tym samym
Bascomie.
Janusz K


Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <mewash_at_nospam_bet.po.opole.pl>
Subject: Re: SDCC- =?iso-8859-2?Q?boj=F3w=20ci=B1g?= dalszy.
Date: Thu, 01 Mar 2001 20:48:06 +0100


JK wrote:

Bzdury waść piszesz.

Przepraszam bardzo... ale nie wydaje mi sie...

Uważaj żeby Ci się zajady nie zrobiły. I chyba piszemy nie o tym samym
Bascomie.

Jasne ze nie.. ja pisze o bascomie z planety arrakis ktory kompiluje
piasek do postaci pokarmu zdatnego do spozycia przez pustynne czerwie...
Masz przyklad... wybitnie genialny:

W basicu:

Dim F As Byte
Dim A As Byte
Dim C As Byte
Dim D As Byte

For F = 255 To 0
For D = 255 To 0
A = F - D
C = D + F
Next
Next

Dummy: Goto Dummy

I kod wygenerowany przez kompilator... ;-)
Jak mozna zauwazyc kompilator dal kilka kwiatkow, najbardziej podoba mi
sie zrobienie push acc, zmiana r0 a po tym pop acc, aczkolwiek jeszcze
bardziej podoba mi sie wsadzenie do B zero po to zeby w subb odjac od
Acc, B.
Kolejny dobry chwyt to analiza jc, jz zamiast jnc.
Ehhh... nie chce mi sie dyskutowac... jezeli oprocz obrzucania mnie
kiepskiej jakosci zarzutami o wspanialosci bascoma zechcesz o czyms
podyskutowac to nie ma sprawy... w innym przypadku wez zimny prysznic,
wyhaftuj sobie serwetke albo obrusik albo siadz i napisz sobie kolejny
program w nieomylnym, wspanialym, generujacym najkrotszy kod, swietnie
zarzadzajacym pamiecia, szybkim i zwiezlym BASCOM-ie.
Jezeli nadal do ciebie nie dociera to podtrzymuje swoja propozycje
zafundowania podrozy na Karaiby jezeli obsluzysz procesor sterujacy moim
pokojem, programem napisanym w bascomie.

org 0000h

ljmp l_002e

[wycialem nopy i reti]

_002e:
mov sp,#25h
mov 20h,#00h
mov 21h,#0ffh
l_0037:
mov b,#00h
mov a,21h
clr c
subb a,b
jz l_0046
jc l_0046
ljmp l_0087
l_0046:
mov 24h,#0ffh
l_0049:
mov b,#00h
mov a,24h
clr c
subb a,b
jz l_0058
jc l_0058
ljmp l_007e
l_0058:
mov b,24h
mov a,21h
clr c
subb a,b
push acc
mov r0,#22h
pop acc
mov _at_nospam_r0,a
mov b,21h
mov a,24h
add a,b
push acc
mov r0,#23h
pop acc
mov _at_nospam_r0,a
inc 24h
mov a,24h
jz l_007e
ljmp l_0049
l_007e:
inc 21h
mov a,21h
jz l_0087
ljmp l_0037
l_0087:
ljmp l_0087

END
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
| GSM Mobile +48608888899 |
|-----------------------------------------------------|
Sam...wiecznie sam....gdzie tkwi blad....

Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: SDCC- =?iso-8859-2?Q?boj=F3w=20ci=B1g?= dalszy.
Date: Fri, 02 Mar 2001 08:36:35 +0100


Przepraszam bardzo... ale nie wydaje mi sie...

Napisałeś że :
Od kiedy napisanie 10 prostych instrukcji w
BASICU musi zajmowac 100kB kodu ?

I do tego fragmentu był mój komentarz ;-))

W basicu:

Dim F As Byte
Dim A As Byte
Dim C As Byte
Dim D As Byte

For F = 255 To 0
For D = 255 To 0
A = F - D
C = D + F
Next
Next

Dummy: Goto Dummy

I kod wygenerowany przez kompilator... ;-)
Jak mozna zauwazyc kompilator dal kilka kwiatkow, najbardziej podoba mi
sie zrobienie push acc, zmiana r0 a po tym pop acc,

Zgadza się, coś autor (bascoma) miał na myśli ale tego nie skończył.

aczkolwiek jeszcze
bardziej podoba mi sie wsadzenie do B zero po to zeby w subb odjac od
Acc, B.

Być może jest to przygotowane dla pętli for dla jakiś częściowych kroków.
Na pewno brakuje optymalizacji, ale czy ja pisałem że jest idealny !!.



Kolejny dobry chwyt to analiza jc, jz zamiast jnc.

To też brak optymalizacji.

Ehhh... nie chce mi sie dyskutowac... jezeli oprocz obrzucania mnie
kiepskiej jakosci zarzutami o wspanialosci bascoma zechcesz o czyms
podyskutowac to nie ma sprawy.

Napisałem że zmiennymi lepiej zarzšdza, i tak faktycznie jest, kod może
produkuje gorszy
to efekt braku optymalizacji ale brak pamięci ram jes bardziej dokuczliwy
niż rom-u, zawsze można posiłkować się wstawka w asmie a jak ci robi
śmietnik w ramie to co zrobisz?
Janusz k


Poprzedni Następny
Wiadomość
Spis treści
From: Milosz Skowyra <mewash_at_nospam_bet.po.opole.pl>
Subject: Re: SDCC- =?iso-8859-2?Q?boj=F3w=20ci=B1g?= dalszy.
Date: Fri, 02 Mar 2001 10:22:03 +0100


JK wrote:

Od kiedy napisanie 10 prostych instrukcji w
BASICU musi zajmowac 100kB kodu ?
I do tego fragmentu był mój komentarz ;-))

Faktycznie pomylilem sie o rzad wielkosci co nie zmienia faktu
pamieciozernosci bascoma.

Być może jest to przygotowane dla pętli for dla jakiś częściowych kroków.
Na pewno brakuje optymalizacji, ale czy ja pisałem że jest idealny !!.
Kolejny dobry chwyt to analiza jc, jz zamiast jnc.
To też brak optymalizacji.

Przepraszam bardzo ale to ty napisales ze:
"niedoceniany przez Was BAscom oferuje łatwy i przejrzysty język a
jednocześnie ma efektywną generację kodu"

I wlasnie tej efektywnej generacji caly czas sie czepiam.

Napisałem że zmiennymi lepiej zarządza, i tak faktycznie jest, kod może
produkuje gorszy to efekt braku optymalizacji

Na ktora niestety nie mozna liczyc... to caly czas basic.

ale brak pamięci ram jes bardziej dokuczliwy
niż rom-u, zawsze można posiłkować się wstawka w asmie a jak ci robi
śmietnik w ramie to co zrobisz?

Hehe... to w zaden sposob nie rzutuje...
Jezeli masz kompilator to zostawiasz mu cala brudna robote z
przydzielaniem ram-u, sam zajmujesz sie tylko esencja programowania. Nie
mozesz liczyc na wstawke w asm-ie w programie jezeli nie wiesz co
naprawde wyprawia kompilator, nidgy nie wiesz na jakim poziomie znajduje
sie stos, ktorych zmiennych mozesz uzyc a ktorych nie.
A pisanie wstawki w asm i zaczynanie jej od 10 x push i konczenie 10 x
pop nie jest chyba zachecajace.
Podsumowywujac: Basom nadaje sie do lekkich zadan domowych i do
zaczynania znajomosci z mikroprocami ale do rzeczy trudniejszych i
wydajniejszych sa inne rzeczy i na tym poprzestanmy...
--
Regards.
|-----------------------------------------------------|
| Milosz Skowyra |
| miloszek_at_nospam_fidonet.org.pl 2:484/2.47 on fidonet |
| GSM Mobile +48608888899 |
|-----------------------------------------------------|
Pozwol tesknic i snic, marzyc i zyc...

Poprzedni Następny
Wiadomość
Spis treści
From: JK <Janusz_k_at_nospam_um.bielsko.pl>
Subject: Re: SDCC- =?iso-8859-2?Q?boj=F3w=20ci=B1g?= dalszy.
Date: Mon, 05 Mar 2001 14:17:41 +0100


Proponuję Eot dyskusji bo nie ma sensu, każdy i tak zostanie przy własnym
zdaniu,
a widzę że nie jestem sam bo Martin też ma podobne zdanie do mojego, a co do
czytelności
programu to C jest bardzo nieczytelny co widać na przykładzie pętli z przykładu
Martina.
Pozdrowienia
Janusz