Kezdőoldal » Számítástechnika » Programozás » Mi az, amikor valaki egy...

Mi az, amikor valaki egy assemblert ír?

Figyelt kérdés
Ír egy konkrét fordítót, hogy a saját stílusa szerint kódolhasson? Tehát konyhanyelven a szavakat és számokat bináris kóddá alakítja?

2014. jún. 22. 15:54
 1/5 anonim ***** válasza:

Assemblert írni nem nagyon szokás, főleg azért, mert van, meg nem is olyan egyszerű, mint amilyennek hangzik.


De aki ír egyet, az egy olyan, általában kétlépéses fordítót ír, ami a forráskód alapján felépít egy szimbólumtáblát (címkék, változók, literálok, stb...), a második menetben elkészíti a tárgykódot (kimeneti fordítási listák készítése, szerkesztőnek szóló utasítások tárgykódba helyezése, ...).

Ezután a tárgykódból egy linker készít - hasonlóan nem triviálisan gépi kódot.

Mondjuk ezt elég szűkre fogtam. Ráadásul a célarchitektúrától is függ az elkészítendő gépi kód.


Nyilván ilyenkor tehet bele olyan mnenonikokat (kb. parancsot jelent, konkrétabban valamely gépi utasítás megjegyezhető neve), amilyet akar, de nem hiszem, hogy pont ezzel szórakozna valaki. Inkább gyakorlás szempontjából lehet jó, én pl. egyszerű script értelmezőt írtam már (lexer, parser, evaluator részekkel), és így használhattam saját scriptet.


Konyhanyelven viszont igen, az assembler a szavakat és számokat bináris kóddá alakítja. :D

2014. jún. 22. 16:44
Hasznos számodra ez a válasz?
 2/5 anonim ***** válasza:
De el tudom képzelni, hogy assembler alatt valamiért disassemblert ért, ami más valamivel hasznosabb, mert (megfelelő szimbólumtáblával) a gépi kódú programból képes assembly forráskódot generálni. Csak az nem földi embereknek való. :D
2014. jún. 22. 16:46
Hasznos számodra ez a válasz?
 3/5 A kérdező kommentje:
Kösz a választ! :D
2014. jún. 22. 16:55
 4/5 anonim ***** válasza:

Az assembler készítése a legegyszerűbb általában, mert egy assembler triviálisan egyszerű grammatikát, és minimális fordítási logikát tartalmaz.


Azonban ma már az assembly elsősorban köztes nyelvként jelentkezik.

2014. jún. 22. 18:19
Hasznos számodra ez a válasz?
 5/5 iostream ***** válasza:
Azért az assembler nem olyan triviális program. Általában extenzív makrózás tartozik hozzá, sokkal intelligensebb, mint például egy C előfordító makrói. No meg igencsak ismerni kell a célplatformot, hogy az hogy szeretné megkapni a binárist, hogy fogja tudni futtatni. Tárgykódot előállítani az egy dolog, de össze is kell tudni linkelni, ez a nagyon platformfüggő és bonyolult része.
2014. jún. 22. 18:40
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!