5.1) 메모리
프로그램은 메모리를 사용한다. 따라서 우리가 생성할 실행 파일도 메모리를 사용한다. 메모리는 바이트의 배열이다. 이들을 합치면 우리가 생성할 실행 파일은 바이트의 배열을 사용한다는 결론이 나온다. 즉 우리는 바이트의 배열을 표현하는 객체를 만들고, 이 객체에 접근하여 메모리에서 값을 가져오거나 메모리에 값을 기록해야 한다.
사실 구체적으로 프로그램이 메모리를 어떻게 사용하는가에 대해서는 4장에서 이미 다룬 바 있다. 4장에서 CIL을 배우면서 지역 변수를 만들 때나 함수를 호출하고 원래 주소로 복귀할 때, 각 명령이 어떤 방식으로 메모리에 접근하는지를 그림으로 학습했다(이 부분이 기억나지 않는다면 다시 학습하고 와야 한다). 여기서는 이를 고려해서 메모리를 표현하는 바이트 배열을 실행기의 필드로 추가할 것이다.
this.mem = new Array(MAX_MEMORY_SIZE);
그럼 이제 본격적으로 실행기 모듈을 작성해보자.