Sdílet prostřednictvím


Přehled inline Assembler

Konkrétní společnosti Microsoft

Inline assembler umožňuje vložit pokyny pro sestavení jazyk c a C++ programy zdroje bez nutnosti dodatečných kroků sestavení a propojení.Inline assembler je integrována v kompilátoru – nepotřebujete samostatné assembler například Assembler jazyk (Microsoft makro MASM).

Protože inline assembler nevyžaduje zvláštní shromáždění a propojení kroky, je pohodlnější než samostatné assembler.Sestavení kód můžete použít jakýkoli c nebo C++ proměnné nebo funkce, název, který je v oboru, takže je lze snadno integrovat s kódem c a C++ váš program.A protože sestavení kódu lze smíchat s c a C++ příkazy, provést úkoly, které jsou náročný nebo v c nebo C++ samostatně.

__Asm klíčové slovo vyvolá inline assembler a se může objevit, ať je právní prohlášení c nebo C++.Nemůže být použit samostatně.Musí následovat instrukce sestavení skupiny pokyny, které jsou uzavřeny ve složených závorkách, nebo přinejmenším, prázdný pár závorek.Pojem "__asm bloku" zde odkazuje na všechny instrukce nebo skupiny pokyny ve složených závorkách.

Následující kód je jednoduchý __asm blok, které jsou uzavřeny ve složených závorkách.(Kód je vlastní funkci Posloupnost prologu).

// asm_overview.cpp
// processor: x86
void __declspec(naked) main()
{
    // Naked functions must provide their own prolog...
    __asm {
        push ebp
        mov ebp, esp
        sub esp, __LOCAL_SIZE
    }
    
    // ... and epilog
    __asm {
        pop ebp
        ret
    }
}

Alternativně můžete umístit __asm z každého sestavení instrukce:

__asm push ebp   __asm mov  ebp, esp   __asm sub  esp, __LOCAL_SIZE

Protože __asm klíčové slovo je oddělovač prohlášení, pokyny pro sestavení můžete také umístit na stejném řádku:

__asm push ebp
__asm mov  ebp, esp
__asm sub  esp, __LOCAL_SIZE

Konec konkrétní společnosti Microsoft

Viz také

Referenční dokumentace

Inline Assembler