Nej, samlingssproget for x86 -processorer er
ikke Det samme som for VAX eller Motorola 68X00 -systemer.
Her er hvorfor:
* Forskellige arkitekturer: Hver processorfamilie har en unik arkitektur med sit eget instruktionssæt, adressering af tilstande og registersæt. Dette fører til forskellige monteringssprog for hver.
* Instruktionssæt: De tilgængelige instruktioner i X86 -samling (som MOV, Tilføj, JMP) er specifikke for X86 -arkitekturen og er forskellige fra de instruktioner, der er brugt i VAX eller 68X00 Assembly.
* adresseringstilstande: De måder, instruktioner har adgangshukommelse og data (som register indirekte, base-indekseret osv.) Er unikke for hver processorfamilie.
* registre: Antallet og typer af registre, der bruges af processoren (som generelle registre, segmentregistre osv.) Er også forskellige mellem arkitekturer.
i enklere termer: Forestil dig samlingssprog som et sprog til kommunikation med en bestemt type computer. Ligesom forskellige sprog er nødvendige for at kommunikere med mennesker fra forskellige kulturer, er der behov for forskellige samlingssprog for at kommunikere med forskellige processorfamilier.
Eksempel:
* x86: `Mov EAX, [EBX]` (Flyt data fra hukommelsesplacering
* vax: `Movl @R1, R0` (Flyt data fra hukommelsesplaceringen, der er peget på register R1 i register R0)
* Motorola 68x00: `Move.l (A0), D0` (Flyt data fra hukommelsesplaceringen, der er peget på Adress Register A0 i dataregister D0)
Som du kan se, er den anvendte syntaks og instruktioner helt forskellige.
Konklusion: Mens samlingssprog er et programmeringssprog på lavt niveau, er det skræddersyet til processorens specifikke arkitektur. Hver processorfamilie har sit eget distinkte samlingssprog.