JSCC: JavaScript로 개발하는 C Compiler

단원 마무리

토픽 JSCC: JavaScript로 개발하는 C Compiler > NASM 어셈블리 언어

5. 단원 마무리

지금까지 봐온 어셈블리 입문 서적들은 모두 처음부터 어셈블리 언어의 스펙을 가르치지 않고대신 정수의 연산과 이진수 및 컴퓨터 공학의 개론적인 내용을 가르쳤다그것이 물론 기본적인 내용이긴 하지만어셈블리 언어 책을 샀는데 시작부터 어셈블리 언어와 다른 내용이 나오는 것은 매번 혼란스럽기 그지없었다(실제 주소 모드니80x86이니). 그런 점에서 이 튜토리얼은 보다 빠르게 어셈블리 언어에 적응할 수 있도록 도와준다는 점에서 훌륭하게 작성되었다고 스스로 평가해본다.

그 외에 불안한 점이라면맨 위에도 밝혔고 문서 중간에도 밝히지만 이 문서는 사실상 기존에 존재하던 문서를 짜깁기하여 만든 문서라는 점이다(이전 문서까지는 그럴 필요가 없어서 하지 않았다). 혹 원저작자들이 불편하게 느껴 글을 내려달라는 요청이 들어오면 나는 지체 없이 문서를 내릴 것이고그러면 나는 이 강의자료 대신 그 분들의 자료를 보고 학습하라고밖에 할 수 없다혹 이 글을 보게 된다면 너른 마음으로 양해를 부탁드린다(메일댓글은 남겼는데 안 된다고 안 하셔서 씁니다).

어셈블리 튜토리얼 문서가 지나치게 짧다고 느끼실지 모르겠다사실 맞다어셈블리는 고작 13페이지만에 그 내용을 모두 설명할 수 있는 언어가 아니다하지만 문법만 따지고 본다면어셈블리의 문법은 아주 쉽고 간단해서 이 정도로도 설명을 충분히 마칠 수 있다원래는 프로그램 흐름 제어와 같은 부분을 더 넣고 싶었는데이는 좀 더 고민해본 다음 이 문서를 수정하거나 NASM 요리책(cookbook) 같은 것을 만들어서 레퍼런스를 참조하도록 하는 것이 좋을지아니면 스스로 검색해볼 수 있도록 하는 것이 옳은지 고민하고 있어서 일단 이 정도로 글을 마무리하려 한다.

다음에 배울 내용은 HTML, CSS, JavaScript를 이용한 웹 에디터 HandyHtmlMaker를 제작하는 것인데좋은 웹 에디터가 이미 많음에도 불구하고 역시 신뢰가 안 가는 이런 프로그램을 만들어서 쓰려는 것 역시 이유가 있다.

1. 필자가 이거보다 편한 웹 에디터를 못 찾았다아무렴 내가 편하라고 만든 건데.

2. HandyHtmlMaker를 만들 때 사용하는 기술 중 일부를 JSCC에 적용한다.

3. 디버깅이 어려운 환경에서 코딩할 때의 경험은 후에 디버깅 능력에 도움이 될 거라고 생각하니까.

이때 HandyHtmlMaker, JSCC 모두 파일을 생성하기 때문에악의 축이라고 불리는 ActiveX를 이용하여 파일에 접근하고 프로그래밍 할 것이다즉 Internet Explorer 9 또는 그 이상의 버전을 이용하여 프로그래밍 한다. Windows 이외의 환경에서 불만을 가질 수 있는데사실 한국에서 Windows 이외의 운영체제를 사용하는 사람이라면 어느 정도 컴퓨터에 대한 지식이 있지 않을까 싶은 마음에꼭 IE가 아니더라도 알아서 방법을 찾지 않을까 기대하고 있다(글을 쓰는 시점에서 새롭게 든 생각인데조만간 IE 지원이 종료되고, Chrome 브라우저에서FileWriter API를 지원한다는 사실을 알게 되면서 이 생각은 바뀌고 있다).

참고로 말하자면 앞으로 진행하는 프로젝트는 아주 고통스러운데익혀야 하는 개념이 어려운 게 아니라 코드를 잘못 작성했을 때 디버깅이 정말로 쉽지 않기 때문이다서문에도 말했지만 JavaScript를 처음 배울 때 필자는 267번 줄에서 오류가 발생했다면 1번 줄부터 267번 줄까지를 모두 하나하나 세서 오류를 찾아냈다혹 좋은 도구가 있다면 그걸 쓰는 건 말리지 않겠다솔직히 말하면 이 프로그램에서 제공하는 기능이 지원되는 더 편한 도구라면 나라도 당장 그걸 쓸 것이다.

댓글

댓글 본문