예~~~~~~~~엣 날에 짰던 컴파일러가 버그가 많고 구려서 다시 짰다. 업로딩은 오랫동안 하지 않았는데...
저번 컴파일러는 과목의 어셈블리를 따르지 않고 멋대로 해서 효용성이 극히 낮았는데 이번에는 교재의 어셈 문법을 따랐다.
GCC가 GNU 라이센스이므로 물론 이 소스코드도 GNU 라이센스이다.
GCC의 CRX 것이 가장 간단하길래 그것을 컨닝해서 거의 그대로 썼다. 따라서 창작물이라고 하기도 부끄러운 (-_-) 그런 것임.
install.sh를 실행시키면 GCC-4.4.2 압축 파일을 받아서 압축을 해제하고, 필요한 작업을 몇개 한 뒤 cc1을 컴파일 할 것이다.
cc1 test.c
이렇게 하면 test.s가 나오고, 이게 보드용 assembly로 되어 있음.
assembler 폴더안에 보면 자바로 된 어셈블러가 있다.
* cc1 -O2 test.c 권장. 최적화를 끄고 컴파일 하니 함수 call부분에서 에러가 있다. :(
DSDAssembler.java
이 수업 듣는 사람들에게는 전설적인 어셈블러인데, 필자가 손을 좀 많이 봤다 (...).