Vad är Inline Assembly?

Inline-montering - även kallad inline-monteringsspråk eller inline assembler - är ett block med monteringens språkkod som sätts direkt in i funktioner och källkod för ett annat språk. Detta tillåter en programmerare att infoga ett block av rent monteringsspråk i ett program där resten av programmet använder ett icke-monteringsspråk. Möjligheten stöds under vissa språk - som C, C ++ och Pascal - men är en funktion i den specifika kompilatorn som används och är inte nödvändigtvis en del av språkstandarden. I många fall används inline-montering för att få åtkomst till specialfunktioner i den centrala behandlingsenheten (CPU), för att optimera kod eller för att utföra mycket låga nivåer, såsom minnesblixten. Även om en viss kompilator eller programmeringsspråk kan ha stöd för att skapa korsplattform-körbara program, begränsar användningen av inline-montering normalt programmet till system som kan använda specifika monteringsinstruktioner eller ha matchande arkitektur.

Det finns flera sätt på vilka ett språk eller kompilator tillåter inline-montering att inkluderas i en standardkällkodfil. En av de enklaste metoderna är helt enkelt genom att definiera början av ett monteringsblock, varefter alla kommandon tolkas som direktmontering. Vissa integrerade utvecklingsmiljöer (IDE) och kompilatorer tillåter faktiskt att inline-koden använder variabler definierade i programmet eller funktionen utan att uttryckligen ladda dem i register först.

Ett annat sätt på vilket inline-montering definieras i en källfil är genom användning av en dedikerad montering-endast-funktion. I det här fallet kan inline-koden vanligtvis inte kombineras med icke-monteringskod, till exempel en kontrollslinga eller returrätt. När den implementeras på detta sätt måste inline-funktionen vanligtvis också uttryckligen trycka och pop-variabler på och utanför bunten för att använda lokala variabler eller skicka värden utanför funktionen.

En av de vanligaste användningarna för inline monteringskod är optimering av kort för små segment i ett program. Beroende på hur inline-koden är integrerad kan det innebära att man använder mer mänskliga läsbara språkkommandon som är lindade runt inline-koden som direkt utför en del mycket snabbt och effektivt. Dessutom, om målsystemet är känt, kan koden använda hårdspecifika register och kommandon som kan göra att programmet körs mycket snabbare.

Inline-montering kan användas för att komma åt delar av operativsystemet, CPU eller till och med hårdvaruportar direkt när andra metoder kan misslyckas eller orsaka systemfel. Detta kan användas för att snabbt byta ramar på ett grafikkort eller för att skicka signaler direkt till en viss avbrott eller hårdvaruport. En av farorna med att använda monteringskoden på detta sätt är dock att små misstag kan vara svåra att hitta eller få programmet att krascha oväntat på vissa system.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?