어셈은 뭐라고 할까나~

By | 2006/01/03

어느 날 블로그를 돌아다보니다가

왠지 익숙한 제목이 보였다.

‘스택이라~~’

그 때는 AoA에서 스택을 가르쳐 주고 있을 때라

관심이 갔던 것이다.

그러나 얘기는 C…

‘뭐.. C도 좋지.’

라는 생각에 읽어보았다.


재미있는 글이였다.

C를 배우던 때 함수 부분에서

‘과연 STACK과 DATA 영역의 차이는 무엇일까?’

라는 궁금증을 해소하기 위해 만들었던 소스와 흡사하였던 것이다.

요즘 어셈을 배우고 있는데 좀 더 알아볼까?

하는 생각에 Disassembly를 해보았다.

역시 함수 호출할 때

ESP는 같은 곳을 가르키고 있었다.

정확하게는 함수가 호출 될 때 스택을 쓴 다음

끝날 때 쓴 만큼을 없앤다.

따라서 ESP가 줄어들었다가 원상태로 돌아가는 것이니

굳이 호출할 때마다 같은 곳을 가르키게 하지 않아도

된다는 것이다.

그럴 필요도 없겠지만 말이다.

funA함수 어셈 코드

아무튼 어셈을 조금 배워도

어셈 구문이 어느 정도 이해가 가는 것을 보면

어셈 문법은 배우기 쉬우나

이것을 통해 컴퓨터의 동작원리를 이해하라고 한

선배의 충고가 맞는 것 같다.^^

PS

이 글은 C로 시작하여 어셈으로 끝냈다.

이래도 되는건가? 쿨럭….

참조

stack, and static, etc

4 thoughts on “어셈은 뭐라고 할까나~

  1. 로냐프

    어셈블러… 배워야 하긴 하는데 어려울꺼 같아서 손 떼고 있는 중(..)
    아무튼 트랙백 감사:)

    Reply
  2. 파인

    아; 전 처음에 그…. 486PC쓸때에 베이직책보고..
    프롬프트상에서 했는데…안되던…[쿨럭] <-바보같은..
    그래서 윈98때, 비쥬얼 배이직이란 녀석을 알게 되고 조금 했는데..
    제 머리로 독학은 한계가 있더군요.. 책값도 장난아니고..
    ….[…]
    저도 C배우고 싶어요..=ㅅ=
    그것도 그렇지만, 저도 컴퓨터의 작동원리를 조금 더 자세히 알고싶은…’-‘

    Reply
  3. NoSyu

    로냐프/ 어셈 절대 어려운게 아닙니다. 어셈이 어려운게 아니라 어셈을 쓰기 위해서 익혀야 할 배경지식이 너무 막강하다고 해야 할까요??^^;;;
    저도 배우고 있는 중이라 뭐라 말을 못하겠네요.
    파인/ 저도 286 AT에서 Gw-Basic을 해보았습니다만, 초딩 1학년 때니 예제만 조금 하다가 치웠지요. 지금 그 책을 보니 지수 로그 얘기가 나오던데, 끝까지 안 본게 다행이더군요.^^;;
    제 친구도 C를 배운다고 하기에 제가 조금 도와주려고 합니다. 과연 도움이 될지 모르겠지만..ㅎㅎ

    Reply
  4. NoSyu

    현재 어셈을 더 배우니 조금 더 이해가 잘 간다.
    역시 배우면 배울 수록 쉽다. 그렇지만 더 어려운 것이 보인다.

    Reply

Leave a Reply