SIC/XE 어셈블리

@codemaru · March 16, 2006 · 3 min read

System Programming 시간의 텀 프로젝트로 작성한 프로그램 입니다. SIC/XE라는 가상의 컴퓨터 어셈블러를 작성하는 것이 숙제였죠. 지금 생각해보면 그렇게 복잡한 숙제는 아니었던것 같은데,... 그 시절에는 가장 어려웠던 숙제중의 하나로 기억이 나네요... ㅎㅎㅎ^^ 아마도 렉스와 야크를 알았다면 좀 더 수월하게 프로그램을 작성하지 않았을까 하는 생각이 떠오릅니다.

SIC/XE 컴퓨터는 정말 특이한 특징들을 많이 가지고 있죠. 그 중에서도 가장 기분 나쁜게 한 워드가 3바이트로 구성된다는 것이죠. 지금도 왜 시스템을 홀수 워드 기반으로 디자인했는지 가장 이해가 가지 않는 부분입니다.

SIC/XE 어셈블러를 구현하는데 여러가지 기능이 있는데, 모두를 구현한 것은 아니고 특정 기능들만 구현하였습니다. 중첩 매크로와 프로그램 블록? 인가 하는 기능을 제외하고는 대부분 구현했던것으로 기억나는 군요. 지금도 시간이 남는다면 다시 한번 제대로 한번 작성해 보고 싶은 프로그램 중의 하나입니다. 그때 아마도 제출 기간이 늦어서 제대로 된 점수를 받지 못한 비운의 작품이기도 합니다... ㅠ.ㅠ. 예나 지금이나 엔지니어는 시간과의 전쟁이라는 생각이 많이 드네요... ^^

Download

SICXE      md 0

프로그램의 시작은 일단 파일에서 SIC/XE용 어셈블리 파일을 불러오는데서 시작합니다. 그리고는 빌드때리기 메뉴를 통해서 빌드를 할 수 있습니다. 가끔 매크로 처리에서 뻑나는 경우가 있더군요 ^^ 고쳐서 사용하시기 바랍니다. ㅎㅎㅎ... ^^

SICXE      md 1

SICXE      md 2

빌드가 제대로 되었다면 같은 이름의 목적 파일이 생성되게 됩니다. 텍스트 에디터로 열어보시면 SIC/XE 용 목적 파일이 생성된 것을 알 수 있습니다. 별로 재밌었던 수업은 아니었던 것 같군요... ^^ 기억에 남는 것이라면 강의 하시던 박사과정에 계시던 분이 만화방 가시느라 수업을 자주 쨌다는 것 정도가 남네요... ㅎㅎㅎ^^

@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중