Assembly programozást honnan érdemes tanulni?
# 2/2 Időpont ma 10:50:
Ezt a hulladékot nem kéne ajánlgatni.
Gondolom te írtad.
Könyv: Andrew S. Tanenbaum - Számítógépes Architektúrák
Ennél jobbat nem találsz!
" Honnan lehet egyszerűen megtanulni, hogy átmenjek a tárgyból?"
Egyszerűen sehogy.
De szerencsére az assemblyvel nem fognak sokáig gyötörni.
A nyelv nagyon különbözik más, magas szintű nyelvektől.
Nincs a megszokott eszköztár, nincs iteráció, elágazás, nincsenek összetett adatstruktúrákat támogató nyelvi elemek sem.
Mindent neked kell megvalósítanod. Abból az eszköztárból, amit az asm nyújt, egyszerű utasítások formájában és amire a processzor lehetőséget kínál.
Az asm megértéséhez szükség van a CPU ismeretére, legalább alapszinten és az utasítások legalább egy részének ismeretére. Valamint az assembly programozás módszereire.
Hogyan, miből épül fel egy asm program. Mi miért van, stb.
Az Assembly titka, hogy teljesen más szemléletmód kell hozzá, mint egy akármilyen magas szintű, Neumann-elvű nyelvhez. (Mielőtt belekötnétek, ezzel nem azt mondtam, hogy az Assembly ne lenne Neumann-elvű. De a más szemléletmódú, VAGY nagyon alacsony szintű nyelvek más szemléletmódot követelnek meg, mint a magas szintű, Neumann-elvűek. Ezért lehetett pl. Forth-szal, vagy LISPpel jókat szívni, pedig ha rálrez az ember, mindkettő kifejezetten hatékony és logikus nyelv.)
Arra kell ráérezned, hogy itt nem a klasszikus értelemben vett utasításokat adunk ki, hanem közvetlenül vezéreljük a processzort. Itt nem lesznek a magas szintű értelemben vett ciklusok, elágazások, de még kiírás sem; itt csak regiszterek piszkálása, alapvető aritmetika és logika, egy halom ugró utasítás, meg persze oprendszer-funkciókra való hivatkozások lesznek.
Erre nincs jó recept, hogy "hogyan" kell tanulni. Gyakorolj sokat, kezdve a NAGYON alapvető dolgokkal, és ha már letisztul, hogy mondjuk inc-ből, cmp-ből, meg jnz-ből vagy jle-ből hogyan lesz ciklus, akkor átlépted azt a bizonyos határt, ami után már ez sem lesz sokkal nehezebb, mint egy akármelyik másik programozási nyelv.
Egyébként ha már említettem: [link]
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!