4.1.4. __asm

이 키워드는 컴파일러에서 ARM 어셈블러 armasm으로 정보를 전달하는 데 사용됩니다.

이 키워드의 정확한 작업은 사용법에 따라 다릅니다.

사용법

임베디드 어셈블러

__asm 키워드는 임베디드 어셈블리 함수를 선언하거나 정의하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.

__asm void my_strcpy(const char *src, char *dst);

자세한 내용은 컴파일러 사용 설명서에서 6-18페이지의 임베디드 어셈블러를 참조하십시오.

인라인 어셈블러

__asm 키워드는 인라인 어셈블리를 함수로 통합하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.

int qadd(int i, int j)
{
    int res;
    __asm
    {
        QADD   res, i, j
    }
    return res;
}

자세한 내용은 컴파일러 사용 설명서에서 6-2페이지의 인라인 어셈블러를 참조하십시오.

어셈블러 레이블

__asm 키워드는 C 심볼에 어셈블러 레이블을 지정하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.

int count __asm__("count_v1"); // export count_v1, not count

자세한 내용은 어셈블러 레이블을 참조하십시오.

명명된 레지스터 변수

__asm 키워드는 명명된 레지스터 변수를 선언하는 데 사용할 수 있습니다. 예를 들면 다음과 같습니다.

register int foo __asm("r0");

자세한 내용은 명명된 레지스터 변수를 참조하십시오.

추가 참고

Copyright © 2007 ARM Limited. All rights reserved.ARM DUI 0348AK
Non-Confidential