본문 바로가기
코스웨어/13년 스마트컨트롤러

어셈블리어 프로시저(함수)를 C 코드로 호출하여 쓰기

by 알 수 없는 사용자 2013. 9. 13.
728x90
반응형

 

어셈블리어 프로시저(함수)를 C 코드로 호출하여 쓰기

#include <stdio.h>

 

void linux(int *);

 

int main()
{
     int iNum;
 
     linux(&iNum);

     printf("%d\n", iNum );

 

     return 0;
}

 

---------------------------------------

.386
.MODEL FLAT

PUBLIC _linux
.CODE
_linux        PROC  NEAR32

                push    ebp                ; Entry code
                mov     ebp, esp
   
                mov     eax, DWORD PTR [ebp+8]  ; ebp+8의 주소 안에 값이 인자(&iNum)임
                mov     DWORD PTR [eax], 100      ; &iNum 주소가 가리키는곳에 100을 넣음
                mov     eax, 0
  
                mov     esp, ebp         ; Exit code
                pop     ebp
                ret

 

_linux        ENDP 

END
 

 

 

 

 

 

728x90