Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Microsoft-specifik
Med den infogade monteringsenheten kan du bädda in instruktioner för sammansättningsspråk direkt i C-källprogrammen utan extra monterings- och länksteg. Den inbäddade assemblern är inbyggd i kompilatorn – du behöver ingen separat assembler, till exempel Microsoft Macro Assembler (MASM).
Eftersom den inbyggda assemblern inte kräver separata assembler- och länkarsteg är det mer bekvämt än en separat assembler. Infogad sammansättningskod kan använda valfri C-variabel eller funktionsnamn som finns i omfånget, så det är enkelt att integrera den med programmets C-kod. Och eftersom sammansättningskoden kan blandas med C-instruktioner kan den utföra uppgifter som är besvärliga eller omöjliga enbart i C.
Nyckelordet __asm anropar den infogade assemblern och kan visas varhelst en C-instruktion är laglig. Det kan inte visas på egen hand. Den ska följas av en sammansättningsinstruktion, en grupp instruktioner som omges av klammerparenteser, eller åtminstone ett tomt par klammerparenteser. Termen "__asm block" här refererar till instruktioner eller grupper med instruktioner, oavsett om de finns i klammerparenteser eller inte.
Koden nedan är ett enkelt __asm block omgivet av klammerparenteser. (Koden är en anpassad funktionsprologsekvens.)
__asm
{
   push ebp
   mov  ebp, esp
   sub  esp, __LOCAL_SIZE
}
Du kan också placera __asm framför varje monteringsinstruktion:
__asm push ebp
__asm mov  ebp, esp
__asm sub  esp, __LOCAL_SIZE
Eftersom nyckelordet __asm är en instruktionsavgränsare kan du också placera sammansättningsinstruktioner på samma rad:
__asm push ebp   __asm mov  ebp, esp   __asm sub  esp, __LOCAL_SIZE
Avsluta Microsoft Specifik