Kezdőoldal » Számítástechnika » Programozás » Az assembly és az alacsony...

Az assembly és az alacsony szintű programozási nyelv fogalma ugyanazt jelenti, vagy az assembly csak egy példa az alacsony szintű programozási nyelvre?

Figyelt kérdés

2016. jún. 7. 17:56
 1/4 Hominida ***** válasza:
100%
Csak példa, de a legismertebb fajtája a gépi kód után következő legalacsonyabb szintnek.
2016. jún. 7. 18:05
Hasznos számodra ez a válasz?
 2/4 anonim ***** válasza:
Alacsony szintűnek nevezik még a C nyelvet is.
2016. jún. 8. 21:50
Hasznos számodra ez a válasz?
 3/4 Hominida ***** válasza:

Szerintem legfeljebb annyi igaz rá, hogy alacsonyabb szintűnek vehető utasítások is vannak benne, mint ami a mai nyelvekben szokásos. Olyasmi, mint például a változók memóriahelyének közvetlen megcímzése byte-onként. De akkor a Basic is alacsony szintű lenne, mert ez ott is lehetséges.


Nem, ezek messze állnak az assembly képességeitől, ezek a lehetőségek csak lehetőségek. A C inkább egy neoprimitív nyelv, egy visszabutított Fortran, mondjuk, vagy egy nagyon kényelmessé tuningolt assembly, rövidített jelölésmódokkal, de amiben a magas szintű elemek is ott vannak. Azzal, hogy kisebb lépéseket enged meg a forráskódban, az a cél, hogy a fordító rövidebb kódrészleteket rakjon össze programmá, mert a rövidebb részek kevésbé általánosítottak, kevésbé terjengősek, és a sok optimalizáltabb kódrészlet együttese összességében gyorsabb és kisebb programot alkothat.

2016. jún. 9. 14:41
Hasznos számodra ez a válasz?
 4/4 anonim ***** válasza:
A legalacsonyabb szint a gépikód. Ekkor te közvetlenül megmondod a procinak, hogy mikor mit kell tennie. Gyakorlatilag a programod egy szám sorozat lesz, egyszerűség kedvéért általában hexában szoktuk leírni. Igen ritkán használjak ma már, de néha bele lehet botlani. Ennél csak egy hajszállal vannak magasabban az assembly nyelvek, ezek sem egységesek mert proci függőek. Gyakorlatilag minden egyes utasítás amit a proci "megért" megfelel egy assembly utasításnak (mnemoic-nak is nevezik egyes helyeken vagy valami hasonlónak). Annyiban tud "többet" mint a natív gépikód, hogy a fordító ismer szimbolumokat, azaz pl. a 7F8A címen lévő memória területre nem csak úgy hivatkozhatsz, hogy 7F8A hanem úgy, hogy pl. c1 változó. Ismernek kisebb-nagyobb makrókat is, azaz ha ugyanazt a kódsort többször be akarod rakni elég egyszer megírni. És nagyjából ennyi. A fordítás nagyjából olyan, hogy 1 utasítás 1 gépikód utána a "paraméterek". Más ennyire gépközeli nyelv nem terjedt el igazán. Nagyjából az assembly és a gépikód 1-1 megfeletethető egymásnak. Aztán vannak az egy szinttel feljebb lévő nyelvek pl. a C-t is ide sorolják de van aki azt már magas szintű nyelvnek sorolja. Ahol már vannak összetetebb műveletek. Pl. ma is vannak olyan procik ahol nincs az ALU-ban szorzás művelet, ekkor keres az ember egy az adott feladatra jó szorzó eljárást és azt megírja (esetleg csinál belőle makrót). Ha C-t használsz ott be tudod írni, hogy a*b és majd a fordító megoldja. És ahogy "távolodsz" a procitól annál általánosabb a nyelv, és annál egységesebb. Tehát visszatérve az előző szorzós példára ha van olyan procid ahol tudsz szorozni akkor az adott procinak megfelelő (esetleg több féle) szorzó utasítást használhatod, ha nincs ld. korábban. C-ben meg mindig procitól függetlenül azt fogod írni, hogy a*b.
2018. júl. 2. 15:07
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!