본문/내용
I.서론
이중 패스 어셈블러는 컴퓨터 프로그램을 어셈블리 언어로 작성한 후, 이를 기계어로 변환하는 과정에서 두 번의 패스를 수행하는 구조를 가진 어셈블러이다. 어셈블리 언어는 저급 프로그래밍 언어 중 하나로, 시스템의 하드웨어와 밀접하게 연결되어 있으며, 인간이 이해하기 쉬운 방식으로 기계어에 가까운 형태로 코드를 작성할 수 있게 한다. 그러나 어셈블리 언어는 기계어와 밀접하게 연관되어 있기 때문에, 이를 기계어로 변환하기 위해서는 보다 정교한 기법이 필요하다. 이중 패스 어셈블러의 첫 번째 패스에서는 소스 코드를 분석하여 기호 테이블을 생성하고, 각 레이블의 메모리 주소를 결정한다. 소스 코드는 일반적으로 고유한 기호(레이블 및 약어)와 데이터, 명령어, 지시자 등을 포함하고 있기 때문에, 이를 해석하기 위해 먼저 기호의 정의와 해당하는 주소를 정의하는 작업이 필요하다. 이를 통해 어셈블러는 프로그램의 구성 요소에 대한 통계적 정보를 수집하고, 라벨 주소를 확보하게 된다. 첫 번째 패스 동안 어셈블러는 각 명령의 기계어 코드뿐 아니라, 피연산자와 기호 주소를 매핑하는 과정을 거친다. 이 과정은 기계어로 변환하기 위…