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
Souhlasím. Asemble je vždy rozdílný od použití. K programování v assembleru (když pominu úchylárny…
JR_Ewing 26.01.2012 13:59
JR_Ewing
Dobře. Zjistím, co přesně budeme programovat. Pak položím dotaz konkrétněji.
Niko Bellic 26.01.2012 17:42
Niko Bellic
je toho kvantum, ja si pametam tuto knizku Art of assembly - http://www.dnp.fmph.uniba.sk/~kollar/pc…
nl12345 26.01.2012 12:12
nl12345
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.
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. ;-)
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…
Yarda 26.01.2012 14:25
Yarda
Assembler dnes, Hmmm .. tak na jednochipy. Na malinké jednoduché, jednoúčelové aplikácie, stále sa p…
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…
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?

Souhlasím. Asemble je vždy rozdílný od použití.

K programování v assembleru (když pominu úchylárny typu přepisování programové paměti programem za chodu) potřebuješ umět sestavit logiku programu (vývojový diagram) a pak manuál se seznamem a popisem instrukcí pro daný procesor.

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