Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
V assembleru čeho? http://cs.wikipedia.org/wiki/Jazyk_symbolick%C3%BD ch_adres
Yarda 26.01.2012 12:08
Yarda
Napsal jsem to blbě, chci se naučit JSA :-). No, jsem z toho jelen. Tady jse popis předmětu, na kter…
Niko Bellic 26.01.2012 13:05
Niko Bellic
Kdysi jsem to obstojně uměl. IMHO neexistuje univerzální assembler (resp.JSA), ale je vázaný na konk…
Yarda 26.01.2012 13:13
Yarda
Dobře. Zjistím, co přesně budeme programovat. Pak položím dotaz konkrétněji. nový
Niko Bellic 26.01.2012 17:42
Niko Bellic
Ladislav Zajíček: Bity do bytu, Mladá fronta 1988.
oldsoft 26.01.2012 13:06
oldsoft
Koukal jsem na to zběžně, je tam popsaný assembler (resp. instrukce) pro mikroprocesor Z80. nový
Yarda 26.01.2012 14:11
Yarda
Však jo, z toho jsem se v roce 1992 naučil assembler pro ZX Spectrum a Didaktik Gama. ;-) nový
oldsoft 26.01.2012 14:22
oldsoft
Jinak na hraní si s assemblerem existuje třeba program DEBUG, mám ho i pod W XP, ale nevím, k čemu j… nový
Yarda 26.01.2012 14:25
Yarda
Assembler dnes, Hmmm .. tak na jednochipy. Na malinké jednoduché, jednoúčelové aplikácie, stále sa p… nový
Joseph 26.01.2012 15:17
Joseph
mno když jsem si s tím kdysi hrála, jela jsem podle assembler. V době pomalého hw to bylo docela faj… nový
viva 26.01.2012 17:45
viva
Zoberes si datasheet daneho CPU s ktorym chces pracovat a precitas si co robi kazda instrukcia a jak… poslední
MM.. 26.01.2012 18:23
MM..

Napsal jsem to blbě, chci se naučit JSA :-). No, jsem z toho jelen. Tady jse popis předmětu, na který se chci trochu připravit, snad to trochu objasní:

Programování na úrovni strojového jazyka. Jazyk symbolických instrukcí NASM, symbolické instrukce, direktivy, makroinstrukce. Překlad a sestavování. Standardní předávání řízení a parametrů při volání procedur a funkcí.

Kdysi jsem to obstojně uměl. IMHO neexistuje univerzální assembler (resp.JSA), ale je vázaný na konkrétní HW. Např. assembler 8086 neumí podmíněné skoky (nebo volání podprogramů, už mi to vypadlo), assembler 8080 to umí protože v 8080 na to je strojní instrukce, assembler Z80 má příkazy pro blokový přenos dat atd.
Takže co chcete programovat?

Assembler dnes, Hmmm .. tak na jednochipy. Na malinké jednoduché, jednoúčelové aplikácie, stále sa používa ako základ instrukčná sada 8080, Z80, k tomu samozrejme manipulácia s I/O portami.
cca 100 instrukcií je ešte človek schopný naučiť sa a používať, ak keď len extrémne malé percento populácie ...

V PC, v assembleru snad ani není možné nic písať, maximálne nejakú krátku, specializovanú rutinu, na manipuláciu s dátami, kodek, dekompresor, kryptovanie a pod. Inak je k ničomu.

Všetky ostatné funkcie softwaru sú naviazané na služby operačného systemu, tých, je také množstvo, už pomaly NIK nevie, co všetko tam je implementované. Kapacita bežného ľudského mozgu na to nestačí ...
Je nutné použiť vývojové nástroje, oddelia algoritmus úlohy od spôsobu jej vykonania fyzickým hardwarom. Iank sa to zvládnuť jednoducho nedá.

Ale ak tvoj záujem smeruje k jednočipom ...

Zoberes si datasheet daneho CPU s ktorym chces pracovat a precitas si co robi kazda instrukcia a jake su sposoby adresovania, pouzivania registrov, indexacie, apod.
Pretoze assembler roznych CPU (x86 a PIC a 8051 a ARM atd) sa od seba VELMI zasadne lisia.
Pre x86 architekturu je datasheet ktory ta zaujima napr. "Software developer's manual" od intelu, momentalne ma 5 casti a kazda ma tak 500 stran. Je zdarma a da sa najst na google. Plus ak chces pouzivat SIMD (SSE apod) prip x64 rozsirenie tak si nastudujes dalsie manualy k tomu, typicky tiez tak 500 stranove.
Pre ine architektury si najdi prislusny datasheet od vyrobcu CPU, RISC a PIC apod su samozrejme omnoho jednoduchsie takze aj tie manualy su mensie.

Ked ti ide len o nejaky predmet na vyske tak chod na prednasku tam ta naucia tak 10% z toho co je v tych datasheetoch a to budu aj skusat, t.j. zas sa nemusis kvoli tomu trhat :)

P.S: ucit sa "assembler" vseobecne (ked nenapises pre jaky CPU) sa neda. T.j. chces nezmysel.

Zpět do poradny Odpovědět na původní otázku Nahoru