2010. 7. 7. 10:19
C++ 에서는 어셈블리 코드를 직접 호출할 수 있다. 이를 인라인 어셈블리라 한다.

#Include <stdio.h>
int foo()
{
    int ret = 10;
    __asm
    {
        mov    eax, ret;    // ret 변수를 eax 레지스터에 넣는다.
    }                            // eax 레지스터는 주로 리턴값으로 사용된다.  
                                  // c++에서 선언한 변수를 직접 사용할 수 있다.
}

void main()
{
    int n;
    
    foo();
    __asm
    {
        mov    n, eax        // 위함수에서 eax레지스터에 저장한 값을
    }                              // n변수로 불러온다.  
    printf( "%d\n", n );
}

'Programming > Assembly' 카테고리의 다른 글

인자 전달에 사용된 스택 파괴  (0) 2010.07.07
Return Address  (0) 2010.07.07
어셈블리에서 사용되는 레지스터  (0) 2010.07.07
어셈블리 기초 명령  (0) 2010.07.07
Posted by 어북어위크