'ASM생성'에 해당되는 글 1건

  1. 2011.09.29 :: 컴파일러 어셈블리코드 생성 부분 소스. 2
4-2학기 2011. 9. 29. 00:55

2009년 권혁철 교수님 컴파일러 수업 떄 작성했던 컴파일러 소스중 일부이다.

무심코 보던 TV에서 TED.COM강의가 나오는데 정보 공유와 관련된 내용이 나오고 있다.

비록 내가 이걸 짠다고 삽질과 수많은 고민을 했지만, 공유가되면 더 발전하겠지 하는 생각이 다시 또 떠오른다.
그래서 업로드를 한다.

Fully  소스를 공개하는것도 좋겠지만, 표절 문제만 발생시킬뿐이고....

대다수의 사람들이 어떤방식으로 짤진 모르겠으나,....

3형식 방식으로 중간코드를 생성했으면 이 코드를 잘 분석하거나 참조하면 어셈블리어로 어떻게 변환되는지 이해할수 있을거란 생각이든다.

이 코드는 MASM어셈블러와 링커를 통해 EXE로 변환이 가능한 코드이다.

핵심은 심볼매니저인데.....심볼매니저만 있어도 컴파일러가 얼추 돌아갈 수준인지라....공개할수가 없다..

내가 학부 다닐때 내 로망은 내가 만든 운영체제를 가져보는것과, 내가만든 컴파일러를 가져보는 것이었다.
전자는 이루지 못했고, 후자는 어설프게나마 가져보았다.

당시 hello world가 내가만든 컴파일러로 빌드해서 exe가 실행되어 출력되었을때의 그 희열을 이루 표현할 수가 없다...

그렇게 벅차게 감동을 느껴본적도 많이 않았던거같다....
그런 감동을 누군가 이 글을 볼 학생들도 느껴봤으면 좋겠다..



작동 샘플은 4-2학기 폴더내에 ncc 최종 결과물에 보면 결과물(소스 없이 테스트소스와, 컴파일러 실행파일)이 있을것이다.

이 코드 입사시험 본다고 면접올라가던 KTX에서 70%정도 짯던 코드들인데.....1년도 넘은 기억이 새록새록 떠오른다...
뭔가에 쫓길때에는 쫓기는 시간이 없으면 더 잘할수 있을줄 알았는데, 쫓기지 않으니 아무것도 하지않는 모습이 되어버렷다.


P.S 혹시나 이 소스로 도움을 0.1%라도 받는 사람이 있다면 최소한 소스자료에 대한 참고를 알려주길 바라며, 블로그에 게재시에나 여타 다른 곳에 올릴경우가 있다면 원본 링크를 게재해주었으면 한다.
그것이 최소한 자료공개를 하는 사람에 대한 예의가 아닐까 싶다.
posted by Sense.J
: