Re: SDCC- =?iso-8859-2?Q?boj=F3w=20ci=B1g?= dalszy.
 Masz problem? Zapytaj na forum elektroda.pl
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   
   
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....  
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   
   
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...  
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