bootpack.c를 어떻게 기계어로 만드냐는 문제가 남아 있다. 기계어로 바꾸는 순서는 아래와 같다.
1. cc1.exe를 사용해서 bootpack.c로부터 bootpack.gas를 만든다.
2. gas2nask.exe를 사용해서 bootpack.gas로부터 bootpack.nas를 만든다.
3. nask.exe를 사용하여 bootpack.nas로부터 bootpack.obj를 만든다.
4. obj2bim.exe를 사용하여 bootpack.obj로부터 bootpack.bim을 만든다.
5. bim2hrb.exe를 사용하여 bootpack.bim으로부터 bootpack.hrb를 만든다.
6. 이것으로 기계어가 되었으므로 copy 명령으로 asmhead.bin과 bootpack.hrb를 단순하게 붙여서 haribote.sys를 만든다.
오브젝트 파일은 다른 오브젝트 파일과 붙이기(링크) 위한 특별한 기계어 파일이다. 붙인다는 것은 c언어만으로는 프로그램 전체를 쓸 수 없기 때문에 어셈블러로 쓰여진 파일과 붙인다는 뜻이다. 그래서 오브젝트 파일은 다른 오브젝트 파일과 링크시키기 위한 정보를 여분으로 가지고 있고 단독으로는 온전한 기계어가 되지 못한다. 이것을 하나의 기계어로 만들기 위해서는 필요한 오브젝트 파일을 전부 링크시켜 주면 된다. 책에서는 binary image file로 만듬.
이미지 파일이라는 건 뭘까? 화상파일로 번역할 수있는데 진품은 거기 있고 화상은 가짜임. 화상 통화하면 진짜 친구랑 대화하는 것은 아니지만 화면으로 만들어진 바이너리 데이터와 대화하는 거.