⑴.ASSEMBLE
어셈블은 어셈블리어로 작성된 프로그램을 기계어로 바꾸는
작업인데 일반적으로 두 번(two pass)의
과정을 거쳐 기계어로 변환한다. 어셈블은 source(원시) program 을 object(목적) program으로 변환시키는 과정 또는 작업인데 source가 고급
언어 가 아니고 어셈블리어이다.
※ source가 고급 언어이면 기계어로 변환하기 위하여 compile을 해야 한다.
⑵.ASSEMBLER
어셈블러는 어셈블하는데 사용되는 프로그램이다. 이 프로그램은 시스템 프로그램의 하나로 어셈블리어로 작성된 프로그램을 기계어로 변환하는
번역 프로그램이다.
어셈블러에는 1-pass
assembler와 2-pass assembler가 있는데 1-패스 어셈블러 는 원시 프로그램을 한 번 읽으면서 바로 기계어로 번역하는
것으로 소형 컴퓨터 등 보조 기억 장치의 속도가 느릴때 사용하면 효과적이다. 1-패스 어셈블러의 특징은
objcet
program은 지정된 위치에
적재되도록 어셈블되므로 재배치가 불가능하고 별 도로 어셈블된 다른 프로그램과 연결할 수 없으며 주기억
장치는 어셈블러와 목적 프로 그램이 동시에 들어갈 수 있을 만큼의 충분히 커야 한다.
2-패스 어셈블러는 두 번 읽으면서 어셈블하는 것으로 목적
프로그램의 재배치가 가능 하고 다른 프로그램과 연결 할 수 있으며 수행시에는 어셈블러가
주기억 장치에 있을 필요가 없다. 일반적으로 어셈블러는 2-패스를 가리킨다.
1-패스 어셈블러는 번역기와 적재기(loader)가 합쳐져 있는 형태여서 사용자 입장에 서 간편하고 2-패스
어셈블러는 번역기와 적재기가 분리되어 있는 형태여서 번역 후 별도로 적재를 하여야 하므로 사용이 번거롭다.
cross
assembler라는 것이 있는데
이는 번역하는 컴퓨터와 수행하는 컴퓨터가 다른 경우로서 예를 들면 어셈블은 X 컴퓨터에서 하는데
이때 생성되는 목적 프로그램은 Y 컴퓨터에서 수행할 기계어 프로그램인 경우이다.
'Computer > Student' 카테고리의 다른 글
INTERPRETER (0) | 2010.04.30 |
---|---|
COMPILER (0) | 2010.04.30 |
달력 출력하기 (0) | 2010.04.30 |
모래시계 모양 출력하기 (0) | 2010.04.01 |
oracle을 이용한 인사관리 웹 사이트 제작기 (0) | 2009.06.19 |