간혹가다 C 함수에서 어셈블러를 사용하여 코드를 작성해야 할때가 있다.

이럴땐 이렇게 ^^


asm("               \n\

.align  2 \n\

.text \n\

.global asm_func \n\

.type asm_func, %function \n\

asm_func: \n\

  stmfd sp!, {r1-r9, lr} \n\

ldr  r1, [r0] \n\

add  r1, r1, #1 \n\

str  r1, [r0] \n\

ldmfd sp!, {r1-r9, pc} \n\

");



void main( void )

{

int   a;

a = 3;

asm_func( &a ); // 1 증가

printf( "a=%d\n", a );

}