www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Zakaj pa z assemblerjem?
Pojdi na stran Prejšnja  1, 2
 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Sre Sep 09, 2009 7:43 pm    Naslov sporočila:   Odgovori s citatom

Nas poznas? Kako ves v cem in kako programiramo?

Replika na 1:

Kazalci so bistvo Cja, C brez kazalcev ne obstaja in če kazalcev v Cju ne poznaš, boš napisal bolj malo. Pravzaprav ravno toliko kot v asemblerju, če ne poznaš vseh načinov naslavljanja. V Cju se ne ukvarjaš s tem, kateri način naslavljanja boš vzel in na roke preračunaval offsete itd.

In low-level v asemblerju niti ni več potreben. Bootup, semaforji, sleep... ni da ni. Razvoj prevajalnikov je šel močno naprej, seveda tudi arhitektura mikrotov. Razvoj mikrokrmilnika in prevajalnika pravzaprav poteka hkrati in se dopolnjujeta.

_________________
Answers: $1, Short: $5, Correct: $25, dumb looks are still free.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Sre Sep 09, 2009 7:53 pm    Naslov sporočila:   Odgovori s citatom

Lagrange je napisal/a:
Kdor zeli razumeti kako mlincek v resnici deluje mora razumeti asm.


S tem se nikakor ne morem strinjat. Pred leti, ko sem iskal mikro sem preštudiral PICe brez da bi pogledal asembler. Popolnoma mi je bilo jasno kako deluje. In ker mi je arhitektura smrdela, je bilo že tu konec. No, če ne bi bilo, bi bilo pa ob pogledu na asembler.

V resnici je ravno obratno. Za dobro asemblersko programiranje moraš najprej dobro poznati mlinčka. Kaj ti pomaga rutina za digitalni filter ali fft v asemblerju, če ne veš, da pri določenih arhitekturah rezultat aritmetične operacije ni na voljo še nekaj ciklov. Asembler nima nič s tem.

_________________
Answers: $1, Short: $5, Correct: $25, dumb looks are still free.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.17
Kraj: Ljubljana

PrispevekObjavljeno: Sre Sep 09, 2009 8:31 pm    Naslov sporočila:   Odgovori s citatom

Glitch je napisal/a:
Kazalci so bistvo Cja, C brez kazalcev ne obstaja in če kazalcev v Cju ne poznaš, boš napisal bolj malo. Pravzaprav ravno toliko kot v asemblerju, če ne poznaš vseh načinov naslavljanja. V Cju se ne ukvarjaš s tem, kateri način naslavljanja boš vzel in na roke preračunaval offsete itd.

In low-level v asemblerju niti ni več potreben. Bootup, semaforji, sleep... ni da ni. Razvoj prevajalnikov je šel močno naprej, seveda tudi arhitektura mikrotov. Razvoj mikrokrmilnika in prevajalnika pravzaprav poteka hkrati in se dopolnjujeta.

Se podpišem pod tole..

In tudi to imaš prav kar se tiče PIC-ov, vsaj tistih 8 bitnih, njihova arhitektura ni namenjena C-ju. PIC ima hardwarski stack, ki ga strukturirani jeziki ne morejo koristiti. V bistvu PIC-i nimajo pravega stacka. Podporo pravemu C-ju so PIC-i dobili kasneje z družino PIC18Fxxx in upeljavo dodatnih ukazov kot so 'Table Read/Write', ki lahko opravljajo funkcijo stacka. Ampak to so 'low-cost' mikrokontrolerji in so povsem nekaj drugega kot močnejši 32 bitniki.


LP GJ
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Sre Sep 09, 2009 11:15 pm    Naslov sporočila:   Odgovori s citatom

GJ je napisal/a:
Sokrat je napisal/a:
Casa gre vsekakor precej vec, a nekaterih reci se ne da narediti drugace, kot da vrzes precej casa ob problem.

Ker drugače ne znaš!


Nisem preprican, da si razumel, kar sem napisal ... ali pa morda jaz ne razumem tebe. Napisal sem, da se dolocenih stvari enostavno ne da narediti drugace, kot z vecjo investicijo v razvojno delo. To je dejstvo. Tolikointoliko lahko dosezes z zmoghljivejsim HW, potem pa enkrat prides do meje tega HW (npr. zaradi porabe ali kateregakoli dejavnika pac) in od takrat naprej lahko pospeske dobis samo se z boljsim programiranjem.

Citiram:
Tema ni nastala zaradi malih mikrokontrolerjev.


Think Jaz sem se vanjo vkljucil zato, ker je bila debata o malih mikrokontrolerjih (konkretno malih PICih). Tudi zdaj, ko sem ponovno pogledal kje je bila odrezana, vidim na zacetku isto - torej debato o malih mikrokontrolerjih.

Citiram:
Ja za male mikrokontrolerje je programiranje v mnemonicu primernejše.


Mislim, da si zgresil smisel mojih sporocil v tej temi. Moje stalisce je, da je za vsako stvar najbolj primerno svoje orodje (tako kot vijakov ne odvijam s kladivom, ceprav bi morda kdaj slo, tako ne bom rinil v assembler za program, ki dela povsem enako dobro in ga lahko napisem 10x hitreje v Cju). Je pa tako, da ko potrebujes se nekaj dodatnega prihranka, ne more noben prevajalnik nadomestiti cloveka, ki ve kaj pocne in ki ima na voljo dovolj casa.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.17
Kraj: Ljubljana

PrispevekObjavljeno: Čet Sep 10, 2009 11:26 am    Naslov sporočila:   Odgovori s citatom

Sokrat je napisal/a:
GJ je napisal/a:
Sokrat je napisal/a:
Casa gre vsekakor precej vec, a nekaterih reci se ne da narediti drugace, kot da vrzes precej casa ob problem.

Ker drugače ne znaš!


Nisem preprican, da si razumel, kar sem napisal ... ali pa morda jaz ne razumem tebe. Napisal sem, da se dolocenih stvari enostavno ne da narediti drugace, kot z vecjo investicijo v razvojno delo. To je dejstvo. Tolikointoliko lahko dosezes z zmoghljivejsim HW, potem pa enkrat prides do meje tega HW (npr. zaradi porabe ali kateregakoli dejavnika pac) in od takrat naprej lahko pospeske dobis samo se z boljsim programiranjem.

Še vedno trdim isto...
Vsi C prevajalniki podpirajo tudi mnemonic oziroma vsaj 'extern' klice.
Torej recimo pri Borland C++ napišeš med C sintakso asm in..
Koda:

void main()
{
//C sintaksa
int i=3,j=4,k;
asm{
//mnemonic sintaksa
      mov ax,i;
      add ax,j;
      mov k,ax;
}
//C sintaksa
cout<<k;
}


Torej res ne vem o čem govoriš in kompliciraš. Če v C-ju potrebuješ mnemonic ga vključiš. Obladanje C-ja pomeni urejenost/nivo programerja, ki se zrcali v njegovih programih.
In dober C programer bo koristil le minimalno asm blokov, preprosto zato ker je dober. Laughing

LP GJ
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Sokrat
Član
Član



Pridružen-a: Čet 25 Avg 2005 11:00
Prispevkov: 5584
Aktiv.: 23.57

PrispevekObjavljeno: Čet Sep 10, 2009 11:59 am    Naslov sporočila:   Odgovori s citatom

GJ je napisal/a:
Torej res ne vem o čem govoriš in kompliciraš.


O tem:

GJ je napisal/a:
Lagrange je napisal/a:
Še vedno velja, da je treba začeti z asm, nato preklopiti na c. Šele potem bi predlagal c++.

Zakaj že???


In tem:

GJ je napisal/a:
Zbirnik je nizko nivojski programski jezik in nima veliko skupnega s c-jem.
Dober c prevajalnik bo ponavadi bolje optimiziral kodo kot, če bi jo ti napisal v zbirniku.


Pa tem:

GJ je napisal/a:
Sokrat je napisal/a:
Ni ga torej programa, ki ga clovek ne bi mogel napisati bolje "pes" (v assemblerju), kakor v visokonivojskem jeziku, ce je le cas na voljo. V idelanem primeru bo optimizator v visokonivojskem jeziku naredil tako ucinkovito kodo, kot jo lahko nekdo napise pes, v vecini primerov bo pa slabsa.


Ja to velja za 80386 in pa 80486, za novejše modele procesorjev tam nekje od P4 naprej, torej tiste, ki uporabljajo več nivojske predpomnilnike (ne le enega ampak vsaj 3) pa je to preteklost!


In se tem:

GJ je napisal/a:
Tema ni nastala zaradi malih mikrokontrolerjev.


Tema je nastala zaradi malih mikrokontrolerjev.

V vsako aplikacijo ne mores vtakniti najvecjega in najzmogljivejsega procesorja, ki je trenutno na voljo, pa tudi ce bi ga lahko, za dolocene namene lahko aplikacija vendarle ne bi bila dovolj zmogljiva brez rocnih popravkov.

Dober prevajalnik je dober samo toliko, kot ljudje, ki so ga napisali, nikoli pa ne more biti boljsi (Gödel in njegovo umovanje).

In ravno zato, ker je tema nastala zaradi malih mikrokontrolerjev, kjer si omejen se z drugimi dejavniki kot samo porabo, je potrebno cimbolje poznati arhitekturo.


To sem napisal v prejsnjih sporocilih ("kompliciranje"), vsakic seveda nekoliko bolj obsirno.

_________________
Ka ti bo pa torba ce si kupu kolo ?
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
GJ
Član
Član



Pridružen-a: Čet 02 Nov 2006 15:51
Prispevkov: 946
Aktiv.: 4.17
Kraj: Ljubljana

PrispevekObjavljeno: Čet Sep 10, 2009 12:39 pm    Naslov sporočila:   Odgovori s citatom

Sokrat je napisal/a:
GJ je napisal/a:
Torej res ne vem o čem govoriš in kompliciraš.


O tem:

GJ je napisal/a:
Lagrange je napisal/a:
Še vedno velja, da je treba začeti z asm, nato preklopiti na c. Šele potem bi predlagal c++.

Zakaj že???

Govoril sem o pristopu...
No in za začetek je povsem dovolj da dobro poznaš C, saj lahko takoj preklopiš na poljuben mikrokontroler. Če pa nisi zadovoljen s hitrostjo oziroma optimizacijo določenih delov programa, pa lahko našudiraš še mnemonic in ga dodaš zgolj tam kjer je to smotrno.
Torej najprej C potem pa po potrebi še mnemonic!

Sokrat je napisal/a:
In ravno zato, ker je tema nastala zaradi malih mikrokontrolerjev, kjer si omejen se z drugimi dejavniki kot samo porabo, je potrebno cimbolje poznati arhitekturo.

Seveda moraš najprej razčleniti vse probleme, kar pa zahteva med drugim tudi poznavanje arhitekture procesorja in njegove periferije.

LP GJ
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Programiranje embedded sistemov Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Pojdi na stran Prejšnja  1, 2
Stran 2 od 2

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group