본문/내용
1. 이중 패스 어셈블러의 개요
이중 패스 어셈블러는 컴퓨터 시스템에서 고급 프로그래밍 언어로 작성된 소스 코드를 기계어로 번역하는 과정에서 효율성과 정확성을 높이기 위해 고안된 번역 방법이다. 이 방식은 전체 과정이 두 번에 걸쳐 순차적으로 수행되며, 첫 번째 패스와 두 번째 패스로 구분된다. 첫 번째 패스는 주로 기호 테이블(Symbol Table)을 생성하는 작업으로, 소스 코드 내에 사용된 모든 식별자, 레이블, 주소 등을 분석한다. 이를 통해 소스 내의 참조 관계를 파악하며, 사용자 정의 기호와 레이블이 어떤 위치에 있는지 정보를 저장한다. 예를 들어, 프로그램 내 변수 선언이나 점프 명령에 사용된 레이블들이 처음부터 모두 파악되며, 이 과정은 약 40% 이상의 어셈블러 처리 시간 단축에 기여한다. 두 번째 패스는 첫 번째 패스에서 구축된 기호 테이블을 이용하여 실제 기계어 명령을 생성한다. 이때, 참조된 레이블과 주소를 이용해 최적의 기계어로 번역하며, 주소 계산이나 점프 명령과 같은 복잡한 작업이 수행된다. 이중 패스 어셈블러의 핵심적인 이점은 프로그램 내 참조 관계를 미리 파악함으로써 주소 또는 레이블 참조 오류를 방지하는 …