INFORMATIKAI ALAPOK - MIAU - Szent István Egyetem
INFORMATIKAI ALAPOK - MIAU - Szent István Egyetem
INFORMATIKAI ALAPOK - MIAU - Szent István Egyetem
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
ezen utasítások sorozata, az adott utasítás végrehajtása után automatikusan a következőutasítást dolgozza fel a processzor.Bár a gépi kód képes kihasználni a számítógép minden adottságát, megkívánja aszámítógép teljes ismeretét, a fizikai felépítését is beleértve – nem meglepő, hogygyakorlatilag az ötvenes évek óta nem vagy nagyon ritkán használják. Az egyes utasításokkönnyebb megfogalmazására, jobb olvashatóságára és dokumentálhatóságára született meg azassembly, a gépi nyelvhez legközelebb álló, alacsony szintű nyelv. Egy assembly-programadatdefiníciókat és programutasításokat (adatmozgatás, aritmetikai és logikai utasítások,feltételes ugrások) tartalmaz, és általában egyértelmű megfeleltetéseket alkalmaz a gépinyelvű utasításokra: műveleti kódok helyett 3-4 karakteres rövidítéseket, a memóriacímhelyett pedig változókat. Egyes, gyakran használt utasítássorok ún. makrókba szerevezhetők,így használatuk jelentősen egyszerűsödik (az utasítássor alkalmazásához csak a makró nevétkell megadni). Az assembly nyelvű program végrehajtásához a szöveges forrást le kellfordítani gépi nyelvre, ezt az assembler végzi.Elsősorban a hardverek működését szabályozó rendszerszoftverek, illesztőprogramokés operációs rendszerek készültek/készülnek assembly nyelven, de használatavisszaszorulóban van platformfüggősége (a különböző processzorcsaládok, mint pl. Intel8086 és utódai, IBM Power PC vagy a Sun SPARC assembly-nyelvjárásai legfeljebbszerkezetükben hasonlóak) és a magas szintű nyelvekhez képest nehéz olvashatósága,módosíthatósága miatt. Azonban a mai napig léteznek olyan feladatok, amelyeknél a magasszintű nyelvek egy adott probléma megoldására nem nyújtanak megoldást, vagy – különösenméret- vagy időkritikus feladatoknál – nem gazdaságos az alkalmazásuk; ekkor célszerű leheta magas szintű programkód kiegészítése egy assembly nyelvű egységgel.2.1.2. Magas szintű programnyelvek és fordítókAz első magas szintű programnyelv megalkotásakor a készítőket programokhatékonyabb fejlesztése vezérelte. A FORTRAN („Formula Translator” összevonásából) ésutódai általános célú nyelvek, azaz saját szabályokkal rendelkeznek, amelyek mentén aprogramok elemei felépíthetők. Az így megalkotott programok gépfüggetlenek, szabadonhordozhatók. A felhasználó az adott nyelven ún. forrásprogramot készít, ehhez legtöbbszöregy egyszerű szövegszerkesztő is elegendő, de a legnépszerűbb nyelvekhez önálló fejlesztőikörnyezetet készítettek, amelyek használata jelentős segítség lehet a programírásban. Ha nemis nélkülözhetetlenek, de nagy jelentőségűek tehát a fejlesztői környezetek beépített funkciói,mint például a programkód hibáinak ellenőrzése, a „nyers” kód szövegének formázása ésfőleg az adott nyelv szabályairól tájékoztató segédletek és minták. A kész forrásprogramot átkell alakítani a gép processzora számára értelmezhető bitsorozattá, ez kétféleképpenvalósulhat meg.A fordítóprogram (compiler) ellenőrzi a forrásprogramot: megfelel-e a nyelvszintaxisának, azaz szabályainak. Hibátlan kódsor esetén a fordító tárgyprogramot készít,ami még szintén nem futtatható (legalábbis közvetlenül a processzor számára nem az),szerkesztésre szorul: különböző, az adott nyelvre vagy rendszerszoftverre jellemző rutinokkalegészül ki. A fordítás végeredménye a végrehajtható program. Ilyen mechanizmussaldolgozunk C, FORTRAN, Pascal nyelvek esetén.- - 15