컴퓨터공학 공부/정보처리산업기사 필기

정보처리산업기사 필기 1과목 정보시스템기반기술: 응용SW 기초 기술 활용 - 시스템 소프트웨어의 개념(2), 어셈블러

개발학생 2024. 1. 17. 23:44
반응형

*본 게시물은 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. 어셈블러의 장점

- 프로그래머가 기계어로 작성하지 않아도 어셈블리어로 작성한 원시 프로그램을 기계어로 변형(번역)해 줌

- 어셈블리어로 작성된 원시 프로그램은 기계어보다 읽고 이해하기 쉬움

- 프로그램의 주소가 기호 번지(변수 명, 사용자 정의 문자)

-프로그램에 데이터를 사용하기 쉬움 

반응형