Udostępnij za pośrednictwem


Asembler wbudowany (C)

Specyficzne dla firmy Microsoft

Można użyć wbudowanego asemblera, aby osadzić instrukcje języka asemblera bezpośrednio w swoich programach źródłowych C bez dodatkowego montażu lub kroków łączenia.Asembler wbudowany jest wbudowany w kompilator — nie ma potrzeby stosowania oddzielnego assemblera, jak Microsoft Macro Assembler (MASM).

Ponieważ asembler wbudowany nie wymaga oddzielnych zestawów i kroków łączenia, jest wygodniejszy niż osobny asembler.Kodu wbudowanego zestawu może użyć dowolnej zmiennej lub nazwy funkcji języka C należącej do zakresu, więc łatwo zintegrować go z kodem C z programu.A ponieważ zestaw kodu może być mieszany z instrukcjami C, można zrobić zadania, które są niemożliwe bądź kłopotliwe samodzielnie w C.

Słowo kluczowe __asm wywoła asembler wbudowany i może pojawić się wszędzie tam, gdzie instrukcja C jest legalna.Nie może występować samodzielnie.Po tym musi następować instrukcja zestawu, grupa instrukcji ujęta w nawiasy klamrowe, lub, co najmniej, para pustych nawiasów klamrowych.Termin "__asm blok" odnosi się tutaj do każdej instrukcji lub grupy instrukcji, w nawiasach lub bez.

Poniższy kod jest prostym blokiem __asm zawartym w nawiasach. (Kod jest sekwencją prologu funkcji niestandardowej).

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

Alternatywnie, można umieścić __asm przed każdą instrukcję montażu:

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

Od kiedy słowo kluczowe __asm jest separatorem instrukcji, instrukcje zestawu można także umieścić w tym samym wierszu:

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

KONIEC informacji specyficznych dla firmy Microsoft

Zobacz też

Koncepcje

Atrybuty funkcji