Hva er Inline Assembly?

Inline montering - også kalt inline assemblies language eller inline assembler - er en blokk med samlingsspråkkode som settes direkte inn i funksjoner og kildekode for et annet språk. Dette lar en programmerer sette inn en blokk med rent forsamlingsspråk i et program der resten av programmet bruker et ikke-forsamlingsspråk. Muligheten støttes under noen språk - for eksempel C, C ++ og Pascal - men er en funksjon i den spesifikke kompilatoren som brukes og er ikke nødvendigvis en del av språkstandarden. I mange tilfeller brukes inline-montering for å få tilgang til spesielle funksjoner i den sentrale prosesseringsenheten (CPU), for å optimalisere kode eller til å utføre operasjoner på veldig lavt nivå, for eksempel minne blitting. Selv om en viss kompilator eller programmeringsspråk kan ha støtte for å lage kjørbare plattformer som er plattform, begrenser bruk av inline-montering normalt programmet til systemer som kan bruke de spesifikke monteringsinstruksjonene eller ha samsvarende arkitektur.

Det er flere måter et språk eller en kompilator gjør at inline-montering kan inkluderes i en standard kildekodefil. En av de enkleste metodene er ganske enkelt å definere starten av en monteringsblokk, hvoretter alle kommandoer blir tolket som direkte montering. Noen integrerte utviklingsmiljøer (IDE) og kompilatorer lar faktisk inline-koden bruke variabler definert i programmet eller funksjonen uten eksplisitt å laste dem inn i register først.

En annen måte som inline-montering er definert i en kildefil er ved bruk av en dedikert montering-kun-språk-funksjon. I dette tilfellet kan inline-koden vanligvis ikke kombineres med ikke-monteringskode, for eksempel en kontrollsløyfe eller returerklæring. Når den er implementert på denne måten, trenger inline-funksjonen vanligvis også eksplisitt å skyve og pop-variabler av og på stabelen for å bruke lokale variabler eller passere verdier utenfor funksjonen.

En av de vanligste bruksområdene for inline monteringskode er optimalisering av punkter for små segmenter av et program. Avhengig av hvordan inline-koden er integrert, kan dette bety å bruke mer menneskelig lesbare språkkommandoer pakket rundt inline-koden som direkte utfører noen handling veldig raskt og effektivt. I tillegg, hvis målsystemet er kjent, kan koden bruke maskinvarespesifikke registre og kommandoer som kan gjøre at programmet kjøres mye raskere.

Inline montering kan brukes til å få tilgang til deler av operativsystemet, CPU eller til og med maskinvareporter direkte når andre metoder kan mislykkes eller forårsake systemfeil. Dette kan brukes til å raskt bytte rammer på et grafikkort eller for å sende signaler direkte til en bestemt avbrudds- eller maskinvareport. En av farene ved å bruke monteringskoden på denne måten er imidlertid at små feil kan være vanskelig å finne eller føre til at programmet krasjer uventet på visse systemer.

ANDRE SPRÅK

Hjalp denne artikkelen deg? Takk for tilbakemeldingen Takk for tilbakemeldingen

Hvordan kan vi hjelpe? Hvordan kan vi hjelpe?