반응형
*본 게시물은 2020년도 시나공 정보처리산업기사 교재를 참고하여 공부하고 정리한 게시물입니다(시험에 나오지 않을 수 있음)
1. 어셈블러의 역할
- 어셈블리어로 작성된 소스 프로그램을 기계어(0과 1로 구성된 언어)로 번역(변형)하고 로더(실행 가능한 파일로 만드는 프로그램)에 필요한 정보를 생성
2. 어셈블러의 기능
- 명령어 생성: 원시 프로그램에 있는 기호 명령어를 분석하여 기계어 명령어로 변경
예) MOV -> 10110100(B4)
- 기계 주소 할당: 원시 프로그램에 있는 기호 번지(변수)나 상수의 기억 장소(절대 번지)를 할당
예) KOR -> [01000], 65 -> [0100001]
- 의사 명령어 처리: 프로그램의 시작과 종료, 재배치 정보 등 프로그램의 안내자 역할을 하는 명령어들을 처리
예) START, END
3. 어셈블러의 번역 방법
단일 패스 어셈블러(1-pass Assembler) | - 기호(Symbol) 테이블 정의 - 한 번에 번역하기 때문에 실행 속도가 빠름 - 프로그램 작성이 어려움 - 프로그램 크기가 작음 |
이중 패스 어셈블러(2-pass Assembler) | - 기호 테이블을 이용하여 목적 프로그램 생성 - 기호를 정의하기 전에 사용할 수 있어 프로그램 작성이 용이 - 대부분 어셈블러는 2-pass 어셈블러를 사용 - 두 번의 번역 과정을 거치기 때문에 단일 패스 어셈블러에 비해 실행 속도가 느림 - 별도의 다른 코드와 결합 가능 - 프로그램의 크기가 큼 |
4. 어셈블러의 장점
- 프로그래머가 기계어로 작성하지 않아도 어셈블리어로 작성한 원시 프로그램을 기계어로 변형(번역)해 줌
- 어셈블리어로 작성된 원시 프로그램은 기계어보다 읽고 이해하기 쉬움
- 프로그램의 주소가 기호 번지(변수 명, 사용자 정의 문자)
-프로그램에 데이터를 사용하기 쉬움
반응형