1. 개요

 

어셈블리어 또는 어셈블리 언어는 기계어와 일대일 대응이 되는 컴퓨터 프로그래밍의 저급 언어이다.

컴퓨터 구조에 따라 사용하는 기계어가 달라지며, 기계어에 대응되어 만들어지는 어셈블리어도 각각 다르게 된다. 컴퓨터 CPU마다 지원하는 오퍼레이션의 타입과 개수는 제각각이며, 레지스터의 크기와 개수, 저장된 데이터형의 표현도 각기 다르다. 모든 범용 컴퓨터는 기본적으로 동일한 기능을 수행하지만, 기능을 어떤 과정을 거쳐 수행할지는 다를 수 있으며, 이런 차이는 어셈블리어에 반영되게 된다.

 

어셈블러는 니모닉 기호를 opcode로 변환하고 메모리 위치와 기타 존재물에 따라 식별자를 다시 분석함으로써 목적 코드를 만들어낸다. 고급 언어와는 달리 어셈블리어는 간단한 문장에 대해 기계어와 일대일 대응관계가 있지만, 자주 쓰이는 몇 명령은 둘 이상의 기계어 명령을 묶어 하나의 어셈블리 명령어에 대응시키기도 한다.

 

어셈블리 명령어 종류는 기능으로 분류하면 다음과 같다.

 

어셈블리 명령어의 구조는 다음과 같다.

 

Opcode는 ADD, SUB 등과 같은 명령어들을 의미하고 Operand는 피연산자이다. 명령어에 따라 Operand의 개수가 정해져 있다.

예를 들면 다음과 같다.

 

Posted by Imp3rio