인라인 어셈블러 (C)

Microsoft 전용

인라인 어셈블러는 어셈블리 언어 지침 없이 추가 어셈블리 및 링크 단계를 C 소스 프로그램에 직접 포함 합니다.인라인 어셈블러 컴파일러에 내장 된-별도 어셈블러 Microsoft 매크로 어셈블러 (MASM) 등 필요 없는.

인라인 어셈블러 별도 어셈블리 및 링크 단계 필요 하지 않으므로 별도 어셈블러 보다 더 편리 합니다.인라인 어셈블리 코드는 쉽게 프로그램을 C 코드와 통합 되는 범위에 있는 모든 C 함수 또는 변수 이름을 사용할 수 있습니다.한 문 C 어셈블리 코드를 혼합할 수 있습니다 때문에 불편 하거나 c 만으로는 불가능 작업 수행할 수 있습니다.

__asm 키워드 인라인 어셈블러 호출 하 고 C 문을 잘못 된 위치에 나타날 수 있습니다.단독으로 사용할 수 없습니다.어셈블리 명령을 중괄호 또는, 적어도, 사이 있는 명령 그룹와 야 빈 중괄호의 쌍입니다.용어는 "__asm 블록" 여기 모든 명령이 나 명령의 중괄호에 여부 또는 그룹을 참조 합니다.

아래의 코드는 간단한입니다 __asm 블록 중괄호로 묶습니다.(사용자 정의 함수 프롤로그 시퀀스는 코드가입니다.)

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

또는 배치할 수 있는 __asm 각 어셈블리 명령 앞에:

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

때문에 __asm 키워드는 문을 구분, 어셈블리 지침을 같은 줄에도 넣을 수 있습니다.

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

Microsoft 특정 끝

참고 항목

개념

함수 속성