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