어셈블리어: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
→‎어셈블러: 어셈블러 문서에서 병합
37번째 줄:
== 개념 ==
=== 어셈블러 ===
[['''어셈블러]]'''(assembler)는 [[어셈블리어]]를어셈블리어를 [[기계어]] 형태의 오브젝트 코드로 해석해 주는 컴퓨터 언어 번역 프로그램을 말한다. 어셈블러는 기본 컴퓨터 명령어들을, 컴퓨터 프로세서가 기본 연산을 수행하는데 사용할 수 있는 비트 패턴으로 변환시키는 프로그램이다. 몇몇 사람들은 이러한 명령어들을 어셈블러 언어라고 부르며, 어셈블리 언어라고 부르는 사람들도 있다. 니모닉 기호(mnemonics)를 [[opcode]]로 변환하고 메모리 위치와 기타 존재물에 따라 [[식별자]]를 다시 분석함으로써 [[목적 파일|목적 코드]]를 만들어낸다.<ref name="Salomon">David Salomon (1993). ''[http://www.davidsalomon.name/assem.advertis/asl.pdf Assemblers and Loaders]''</ref> 거꾸로 기계어를 어셈블리어로 바꾸는 것은 “역(逆)어셈블러”(disassembler)이다. [[고급 언어]]와는 달리 어셈블리어는 간단한 문장에 대해 기계어와 일대일 대응 관계가 있지만, 자주 쓰이는 몇 명령은 둘 이상의 기계어 명령을 묶어 하나의 어셈블리 명령어에 대응시키기도 한다.
 
이것은 어셈블리 명령 부호를 [[오피코드]]로 해석할 뿐만 아니라 메모리의 위치들을 이름으로 표시하는 기능, 매크로를 통한 문장 치환 기능 등을 함께 제공한다. 높은 수준의 어셈블러는 고급 제어 구조, 높은 수준의 프로시져/함수 선언 및 호출, 높은 수준의 자료형 추상화 같은 높은 수준의 언어 추상화 기능을 제공하기도 한다.