2012. 3. 21. 02:45
===================== Answer by Mongil ==================================
어셈에서 return 해주는 두 가지 방법이 있는데~
하나는 원래 인라인 어셈 문법 중에 c언어 변수를
전달하는 것이 있고 (http://wiki.kldp.org/KoreanDoc/html/EmbeddedKernel-KLDP/app3.basic.html)
다른 하나는 꽁수를 이용하는 건데 C언어에서 함수가
리턴될 때 내부적으로 %eax 레지스터 값을 가져오거든
그래서 다음과 같이 가능하삼
int my_func()
{
asm("어쩌구저쩌구\n
mov %eax, 리턴값\n");
}

int main()
{
int ret = my_func();
printf("%d\n", ret);
}

잘 이해 안되면 다시 질문해주삼~


=====================================================================
Posted by k1rha