Nei, monteringsspråket for x86 -prosessorer er
ikke Det samme som for Vax eller Motorola 68x00 -systemer.
Her er grunnen:
* Ulike arkitekturer: Hver prosessorfamilie har en unik arkitektur med sitt eget instruksjonssett, adresseringsmodus og registrerer sett. Dette fører til distinkte monteringsspråk for hver.
* Instruksjonssett: Instruksjonene som er tilgjengelige i x86 -montering (som MOV, ADD, JMP) er spesifikke for X86 -arkitekturen og er forskjellige fra instruksjonene som brukes i VAX eller 68x00 -enheten.
* Adresseringsmodus: Måtenes instruksjoner får tilgang til minne og data (som Registrer indirekte, base-indeksert osv.) Er unike for hver prosessorfamilie.
* registre: Antall og typer registre som brukes av prosessoren (som generelle formålsregistre, segmentregistre osv.) Skiller seg også betydelig mellom arkitekturer.
på enklere termer: Se for deg monteringsspråk som et språk for å kommunisere med en bestemt type datamaskin. Akkurat som forskjellige språk er nødvendig for å kommunisere med mennesker fra forskjellige kulturer, er det nødvendig med forskjellige monteringsspråk for å kommunisere med forskjellige prosessorfamilier.
Eksempel:
* x86: `MOV EAX, [EBX]` (Flytt data fra minnested
* Vax: `MOVL @R1, R0` (flytt data fra minnested
* Motorola 68x00: `MOVE.L (A0), D0` (Flytt data fra minnestedet som er pekt til med adresseregister A0 til dataregister D0)
Som du kan se, er syntaks og instruksjoner som brukes helt forskjellige.
Konklusjon: Mens monteringsspråk er et programmeringsspråk på lavt nivå, er det skreddersydd for den spesifikke arkitekturen til prosessoren. Hver prosessorfamilie har sitt eget distinkte samlingsspråk.