본문/내용
Ⅰ. 서론
이중 패스 어셈블러는 어셈블리 언어로 작성된 소스를 기계어로 변환하기 위한 프로세스를 두 개의 주요 단계로 나누어 수행하는 방식이다. 어셈블리 언어는 프로그래머가 기계어의 복잡성을 피하고, 고수준의 언어와 유사한 형태로 소프트웨어를 작성할 수 있도록 돕는 저수준 언어이다. 하지만 이러한 어셈블리 언어 코드는 여전히 기계어로 변환되어야만 실행될 수 있다. 이중 패스 어셈블러는 이러한 변환 과정을 두 개의 단계로 나누어 보다 효율적이고 체계적으로 수행하는 방법론이다. 첫 번째 패스에서 어셈블러는 입력된 어셈블리 코드의 모든 레이블과 상수를 식별하고, 이를 내부적으로 사용하는 기계어 주소나 기계어 코드로 매핑할 수 있도록 기초 정보를 수집한다. 이 과정에서는 레이블이 어떤 주소에 위치하는지를 기록한 심볼 테이블이 생성된다. 이러한 심볼 테이블은 전체 프로그램의 구조를 이해하고, 후속 단계에서 필요할 때마다 쉽게 참조할 수 있는 정보를 제공한다. 첫 번째 패스는 주로 프로그램의 구조를 분석하고, 각 레이블에 대한 주소 값을 결정하는 데 집중하기 때문에, 실제 기계어 코드의 생성은 이루어지지 않다. 두 번째 패…