Aracılığıyla paylaş


Satır içi Assembler genel bakış

Microsoft özel

Satır içi assembler c ve C++ kaynak program derleme ve bağlantı ek adımlar olmadan assembler dili yönergeleri katıştırmak sağlar.Satır içi assembler derleyicisi yerleşik olarak bulunan — Microsoft makro Assembler (masm) gibi ayrı bir çevirici gerek yoktur.

Satır içi assembler ayrı bir derleme ve bağlantıyı adımları gerektirmediğinden, ayrı bir çevirici daha kolaydır.Satır içi derleme kod programınızın c ve C++ kodu ile tümleştirmek kolaydır, kapsam içinde olan herhangi bir c veya C++ değişkeni veya işlev adı kullanabilirsiniz.Ve derleme kod c ve C++ ifadelerle karışık çünkü hantal ya da c veya C++ tek başına olanaksız olan görevleri yapabilirsiniz.

__Asm anahtar sözcüğünü satır içi assembler çalıştırır ve çalıştığınız her yerde bir c veya C++ deyimi yasal görünebilir.Kendisi tarafından bulunamaz.Kaşlı ayraçlar içinde veya en azından kapsanmış grubu bir derleme yönergesi tarafından gelmelidir kaşlı ayraçlar boş bir çifti.Bu terim "__asm blok" burada herhangi bir yönerge veya kaşlı ayraçlar içinde olmasa da yönergeler grubunu gösterir.

Aşağıdaki kod basit bir iş __asm blok ayraç içine.(Kod bir özel işlev önsöz sırası içindir.)

// 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
    }
}

Bunun yerine koymak __asm her derleme yönergesi önünde:

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

Bu yana __asm anahtar sözcüğünü ifade ayırıcı, derleme yönergeleri aynı satırda koyabilirsiniz:

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

SON Microsoft özel

Ayrıca bkz.

Başvuru

Satır içi Assembler