Kezdőoldal » Számítástechnika » Programozás » Ismer valaki jó, magyar...

Ismer valaki jó, magyar nyelvű Assembly forrásanyagot?

Figyelt kérdés
Üdv, érdeklődöm a nyelv iránt, és szeretnék ha mást nem alapszinten megtanulni programozdni Assemblyben, de nem találok egy jó leírást sem, ahol a számítógépben lezajló változásokat is nyomon lehetne követni(vagy csak nekem nem érthető) a fő cél, hogy megértem mi történik a számítógépben, nem csak a programozás. C# mellé ki szeretném ezzel is bővíteni az ismereteim.
2013. jan. 29. 16:59
1 2 3
 11/23 anonim ***** válasza:
Én programozó matematikus vagyok, 1000%, hogy képzettebb mint te, láttam már néhány hasonlóan értelmes hozzászólásod, és attól, hogy néhány helyen ezt így fogalmazzák meg, attól még általánosan is az assembly egy nyelv. Ugyan azzal a fordítóval tudok fordítani különböző architektúrákra, csak részben eltérő utasításokkal. Ez olyan mint hogy mi egy nyelvet beszélünk, de láthatóan nem azonos a szókincs, és feldolgozásban is hibák vannak, csak nyomjátok a wikipédiás hülyeségeket, mert az a szentírás. A lényeg az, hogy nekem van mire okoskodnom, és én itt le is tudtam a dolgot, örüljetek magatoknak, nem fogom fárasztani magam a bolondok oktatásával...
2013. jan. 30. 12:53
Hasznos számodra ez a válasz?
 12/23 Srapnel ***** válasza:
Figyelj, amiről te beszélsz, annak az a lényege, hogy a különböző processzorcsaládok (RISC, CISC, stb.) elemei és úgy általában a processzortípusok utasításainak szemantikáinak vannak állandó metszetei. Vagyis sok egyezés van az alap utasításkészletben (most nem nézve az MMX és hasonló okosságokat) abból a szempontból, hogy az tényleg milyen műveletet végez absztrakt szinten. Viszont a gépi kódjuk szinte bármi lehet, de a mnemonikok is, hiszen az előbbit konkrétan a chip tervezésekor huzalozzák (vagy mikroprogramozzák be) a tervezőasztalnál/-szoftvernél. Aztán hogy ne számokat kelljen fejben tartani, valahogy elnevezik őket. Viszont az, hogy hány regiszter van, azok mire használhatók, hány féle és milyen címzésmódok vannak, egyáltalán milyen utasítások vannak (mert pl. PIC-en nincs szorzás, x86-nál van), az processzorról processzorra változik. Így változik a processzorhoz értelmezett és kitalált assembly is. De még az egy processzorhoz is lehet szimbolikus, meg makró, meg akárhány féle assemblyt alkotni, ami bizony mind-mind MÁS nyelv a szó legszorosabb értelmében. Mert a makródefiníció szintaxisa nyelvi elem és amelyben nincs ilyen, vagy nem pont ugyanaz a szintaxis, az nem lehet ugyanazon nyelv. Pont, ahogy az emberi nyelveknél: a "menj be az irodába" és a "go into the office" bizony más nyelven van megfogalmazva, még ha minden fejlett világbeli agyában létezik a szemantika és az ugyanaz, mert az iroda és a bemenni fogalma közös. Viszont a szavannák népei, ahol nincs iroda, ott az iroda fogalmát sem ismerik, ezért a nyelvükben nincs is meg az ehhez tartozó megnevezés.
2013. jan. 30. 13:32
Hasznos számodra ez a válasz?
 13/23 Srapnel ***** válasza:

"és vannak ilyen elvont gondolataid, amik a magasabb képzés hiánya okán eltérnek az általánosan"


Nem az a gond, hogy eltérnek, mert lehetne ez az ő "nyelve", az a baj, hogy a valóságot inkonzisztensen tudja csak leírni a segítségével.

2013. jan. 30. 13:45
Hasznos számodra ez a válasz?
 14/23 anonim ***** válasza:

Nem vagyok normális, hogy csak visszatértem a témához :D


Te kevered a gépi kódot az assembly-vel. Mint ahogy mondtam, a kettő nem ugyan az. És ezen a ponton befejeztem az okítást, menjetek el egyetemre, ott megtanítják az alapokat.

2013. jan. 30. 14:17
Hasznos számodra ez a válasz?
 15/23 iostream ***** válasza:
Igen, személyes tapasztalat, hogy durván ostoba emberek is elvégzik az egyetemeket, nem eggyel végeztem egyszerre. Lehet ő is köztük van? Peti te vagy az? Máté?
2013. jan. 30. 14:48
Hasznos számodra ez a válasz?
 16/23 Srapnel ***** válasza:

"Te kevered a gépi kódot az assembly-vel."


Mutass rá, kérlek, hogy hol történt ez, azért, hogy ez iménti mondatod ne egy értelmetlen szóhalmazzá redukálódjon.

2013. jan. 30. 16:48
Hasznos számodra ez a válasz?
 17/23 anonim ***** válasza:

Kedves Kérdező, hát az assembly terén én egyetlen valódi ipari assembly-t sem sajátítottam el, viszont a direkt oktatási célú assembly-kbe, modellekbe sikerült beleszeretnem. Tegnap bukkantam rá a Little Man Compiler-re, nagyon megtetszett az egyszerűsége, és egész hajnalig azon írogattam egyszerűbb programokat (Fibonacci számok, prímtáblázatban index alapján keresés). Igen, elég furcsa élmény.


[link]


Íme egy megvalósítás, hogy lehessen kísérletezni:


[link]


(elvileg itt meg kell jelennie egy Java appletnek, a kezelés és a leírás meg a honlapon megtalálható)


A másik még, ami nekem tetszett:


[link]


Ez Ubuntu alatt megvan kész csomagként apoo néven, itt is lehet egy assembly futtatását ilyen grafikus felhaasználói felületen szimulálva látni. Ez persze egy másfajta assembly, mint a Little Man Computer.


Mindenesetre mind a két projekt nyújt egy szimulált gépet, úgyhogy lehet velük szabadon kísérletezni, és lépésenként lehet látni, mi történik a kis egyszerűsített virtuális gépecskében (regiszterek, memóriacellák lépésről lépésre).


Van még a MIXAL is, Ubuntu alatt ez is megvan kész csomagként, itt is lehet egy grafikusan szimulált gépen nyomon követni, mi történik. Ezt az utóbbit azonban még nem próbáltam ki soha.


A Little Man Computer nyilvánvalóan nagyon nagyfokú leegyszerűsítés. Viszont mégis sokat újat lehet tanulni belőle. Érdekes, hogy az eredeti Little Man Computer változat utasításkészlete annyira le van egyszerűsítve, hogy mégcsak indirekt, közvetett címzési utasítások sincsenek. (Nincs benne egyetlen olyan utasítás sem, hogy érd el azt a memóriacímet, amire a regiszterben /vagy más memóriacímen/ levő szám MUTAT). A Little Man Computer-ben ennek ellenére egy furcsa trükkel mégis meg lehet valósítani a közvetett címzést (pl. kihasználva azt, hogy a futó kód minden további nélkül beleírhat saját magába, akár épp a soron következő utasításba is).


A Little Man Computer-nek vannak ,,gyakorlatiasabb'' kiterjesztései is, ezeket határozottan külön nyelvnek mondanám, mert itt mindenfajta trükk nélkül lehet közvetett címzést megvalósítani.


Mindenesetre összefoglalásképp az az élményem, hogy mindezekben a kisebb alkatú, ,,karcsúsított'' tanulónyelvekben is lehet sok érdekes élményt szerezni. Ipari assembly-t még sosem tanultam, leszámítva egy kis Z80 assemblyt a nyolcvanas évek végén, de azt félbehagytam annak idején.

2013. febr. 4. 17:07
Hasznos számodra ez a válasz?
 18/23 anonim ***** válasza:

Ha megfelelnek, tetszenek az elinduláshoz az előbb leírt egyszerűsített szimulált platformok, akkor ezt találtam eddig magyarul (legalábbis a Little Man Computerről):


[link]


(Első három találat a lényeg)


Lehet, hogy vannak másfajta oktatási célú assembly-k, amikről sokkal több magyar anyag van. A Donald Knuth által megalkotott MIX-re például biztos sok anyag és példa van, és persze ahhoz is van ilyen virtuálisan szimulált, működésében is nyomon követhető ,,minigép'' .


Mindenesetre eddig ezeket az oktatási célú assemlby-ket találtam, itt egy lista róluk:


[link]

2013. febr. 4. 17:42
Hasznos számodra ez a válasz?
 19/23 anonim ***** válasza:
(A Google listából az első találat, nem az első három)
2013. febr. 4. 17:44
Hasznos számodra ez a válasz?
 20/23 anonim ***** válasza:

Jajj, utolsó előtti (#17-18), de köszönöm, hogy válaszoltál is >egész jól< a kérdésre! Már féltem, hogy ezek itt csak veszekedni fognak, és elmegy az egész topic azzal.

Köszönöm én is, egész jó dolog, amit linkeltél! :D

2013. jún. 12. 01:02
Hasznos számodra ez a válasz?
1 2 3

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!