ahoj,
viem, ze zrejme to je hroozne debilny dotaz, na ktory mi asi nikto nebude chciet odpovedat a vsetci ma odkazete na google, alebo niekde do *** ale predsa to len skusim :)
viem programovat v c/c++ a chcel by som sa naucit assembler, lenze mi chybaju akesi zaklady/ zakladne pojmy a podobne, lebo ziadnemu clanku nerozumiem ;(
co znamena to eax(velmi casto sa to vyskytuje), co sa take napriklad da naprogramovat/ programuje v assembleri, co to znamena, ze je kod neprenosny? to, ze ide len na mojom amd procesori a nejde napr. na pentiu? treba pri programovani vediet, ako funguje procesor/ aky mam procesor? a ako ten procesor vobec funguje?co je to register a naco sluzi? velmi prosim o link pre uplneho zaciatocnika v tejto oblasti, len zaklady, aby som sa mal od coho odrazit, aby som tomu rozumel...
Fórum › Assembler
Zaciatocnik pls dont send me ***
Dotaz snad dobrej, ale ten název vlákna ...
Mno v assembleru take zrovna moc programovat neumim, ale... Naprogramovat se v nem da samozrejme uplne vsechno, jen je to trosicku zdlouhave. Pouzivaji ho hlavne nadsenci, event. pokud ti opravdu hodne zalezi na rychlosti programu, prip. jeho casti..
co to znamena, ze je kod neprenosny? to, ze ide len na mojom amd procesori a nejde napr. na pentiu?
Presne tak...
Procesor ma vlastni pamet, jejiz castem se rika registry.
A jak procesor funguje? Dalo by se to napsat ve 4 krocich.. EIP je jeden z nejdulezitejsich registru uchovavajici adresu prave provadene instrukce..
1. precti instrukci, na kterou ukazuje EIP
2. pricti k EIP delku nactene instrukce
3. proved instrukci
4. a jedem od zacatku :-)
odporucam publikaciu http://www.alza.cz/ucime-se-programovat-v-jazyce-assembler-pro-pc-d78110.htm neni az tak draha a mozem ju smelo odporucit. nie su to vyhodene prachy (teda ked tvrdis ze ta to zaujima).
eax a ebx, ecx, edx su tzv. registre vsobecneho pouzitia [general-puprose register] (niekedy sa aj tieto pouzivaju na specialne ucely), register je maly kus pamati priamo na CPU (nie cache).
(dalsie dolezite registre su eip - adresa instrukcie, esp - adresa stacku (pouziva sa na predavanie parametrov funkciam), ebp - pouziva sa hlavne na adresovanie lokalnych premennych na stacku, flags - pouziva sa casto pomocou spec. instukcii skoku - j** - po instr. cmp a dalsie...)
Neprenosny je vseobecne medzi architekturami. napr to co napises pre x86 ne-zassemblujes ani nahodov pod niecim ako napr. ppc, ale napr. C-ckovy kod prelozis (takmer) vsade kde je kompiler. Ale ak napises nieco pre i386 (teda pouzivas len instrukcie/registre ktore pozna stara 386-tka) tak to pojde na vsetkych x86 (od AMD klonu i486-tky, cez Athlon, Pentium, az po Core 2 Quad...)
Pri programovani nemusis vediet ako pracuje CPU ale potbujes vediet aku mas architekturu (x86, ppc, hocico_ine) aby si pouzival spravne instrukcie/registre. Kazdopadne low-level veci (ako napr. ako su reprezentovane zaporne cisla atd.) sa ti zidu...
A linky:
pre vseobecny x86 asm je velmi dobra (aj ja som sa z nej ucil) tato online kniha: http://www.drpaulcarter.com/pcasm/index.php
A ak si pod linuxom tak je este velmi dobra kniha (trosku tazsie citanie mam pocit, ale je imho lepsia ak mas linux): http://download.savannah.gnu.org/releases/pgubook/
<edit> este som zabudol, 1. kniha pouziva intel syntax (nasm) 2. pouziva AT&T (GNU Assembler - as) syntax. Mne osobne pride 2. varianta krajsia a logickejsia aj ked to tak na prvy pohlad nemusi vyzerat... </edit>
Ahoj mno ten link cos tu dal sem se tam díval a vypadá to slibně je tam toho celkem dost pro začátek vypsany no pro začátek prostě je tam toho dost i pro pokročily.A Assembler je vlastně programovací jazyk s kterým se dělá hodně v procesorech(mikroprocesorech) že přes ně posíláš data z jednoho do druhého atd…A naprogramovat jak už tu někdo řekl se přez něj dá takřka "vše".
nozase to znie lamersky ale chcem sa spytat
da sa nejako naprogramovat nejaky procesor ktory potom napr napajkujem na plosak a
bude mi to povedzme tocit motorcekom?
pls mohli by ste mi dat nejake linky alebo co amma zadat do googlu lebo som uz vela veci hladal a nic som nenasiel
To netman92 : koukni na atmely (AVR nebo 89S51), PIC
http://jirky.webz.cz/index.php?page=krokovy_motor
http://robotika.cz/articles/faethon/cs
http://mpt2.vsb.cz/uvod.html
...
c# sem zatim nevidel... muzes assembler ale ma to nevyhodu.. je prakticky pro kazdej procesor jinej.. (resp. pro kazdou radu procesoru)
ja pouzivam nejcasteji C .. pak musis nastudovat registry, a jak fungujou .. co kam zapsat aby byl nejakej pin vystupni
kam zapsat aby na vystup sla logicka 1 nebo 0, jak nacitat z pinu a tak dale
http://www.kvetakov.net/clanky/avr tady mam jeste peknej link... a i tady je neco o jednocipech
no a zezacatku bych asi spis zkusil neco jako bezici svetlo... napichnout na to ledky s odporama ...
tam je pak dulezity uvedomit si ze ty instrukce tam behaj docela rychle takze po kazdy zmene nahodit cekaci smycky...
jinak bys to ani nevidel tou rychlosti blikat :D a v C je jeste potreba davat bacha na optimalizace.. dokaze to zoptimalizovat
dlouhe cykly ktere nic nedelaji krom zpozdeni .. se pak zrusi :D
Perfektná kniha na začiatok je presne tá, o ktorej napísal olgo.
Ale obsahovo je neskôr príliš "stručná".
Našiel inú, perfektnú knihu, Art of x86 Assembly od Randalla Hydea.
Úžasný rešpekt a vďaka autorovi.
Je zdarma a rozsahom je asi nekonečná (to chce hodne trpezlivosti na kompletné prečítanie ;)).
*Má viacej verzií. Nesťahuj tú "HLA", ale klasickú, má tuším označenie MS-DOS.
Som si vedomý, že je to oživenie starej témy, ale myslím, že to stojí za to.
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
NET SEND — založil S.Salomon
Automatický send dat ze strany serveru — založil kweety
Send Post k získání další stánky — založil Mutagen
Začiatočník — založil luko8525