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

130912 목요일 어셈블리+C 조유진

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

C 소스

#include <stdio.h>


int linux( int * );


int main()

{

int iNum = 0;


linux( &iNum );


printf( "The Value of iNum is : [%d]\n", iNum );


return 0;

}



ASM 소스

.386

.MODEL FLAT


PUBLIC _linux


.CODE

_linux PROC NEAR32


push ebp

mov ebp, esp


mov DWORD PTR[ebp+12], 100


mov esp, ebp

pop ebp

ret


_linux ENDP


END



결과



왜인지 모르겠으나 ebp+8을 했을 시 inum의 주소에서 4 모지란 값이 나와 12를 더했다;;; 뭔지 잘 모르겠지만 일단 100은 떴다

아마 메인부분을 직접 건드려버린 게 아닌가 한다

728x90