Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Tu je dôvod:
* Rôzne architektúry: Každá rodina procesorov má jedinečnú architektúru s vlastnou setou inštrukcií, režimami adresovania a setou registrov. To vedie k odlišným jazykom montáže pre každú z nich.
* Sada inštrukcií: Pokyny dostupné v zostave x86 (napríklad MOV, Add, JMP) sú špecifické pre architektúru X86 a líšia sa od pokynov použitých v zostave VAX alebo 68x00.
* režimy adresovania: Spôsoby pokynov majú prístup k pamäť a dáta (napríklad registrovať nepriame, indexované základne atď.), Sú pre každú rodinu procesorov jedinečné.
* registruje: Číslo a typy registrov používaných procesorom (napríklad všeobecné registre, registre segmentov atď.) Sa medzi architektúrami výrazne líšia.
Zjednodušene povedané: Predstavte si jazyk montáže ako jazyk na komunikáciu so špecifickým typom počítača. Rovnako ako rôzne jazyky sú potrebné na komunikáciu s ľuďmi z rôznych kultúr, na komunikáciu s rôznymi rodinami procesorov sú potrebné rôzne jazyky zhromaždenia.
Príklad:
* x86: `mov Eax, [ebx]` (presunúť údaje z umiestnenia pamäte zamerané na registráciu EBX do registra EAX)
* Vax: `Movl @r1, r0` (presunúť údaje z umiestnenia pamäte, na ktoré sa ukazuje registrom R1 do registra R0)
* Motorola 68x00: `Move.l (A0), D0` (presunúť údaje z umiestnenia pamäte, na ktorý sa zameriava na registráciu adresy A0 do dátového registra D0)
Ako vidíte, použité syntax a pokyny sú úplne iné.
Záver: Zatiaľ čo jazyk montáže je programovací jazyk na nízkej úrovni, je prispôsobený špecifickej architektúre procesora. Každá rodina procesorov má svoj vlastný odlišný jazyk montáže.