어셈블리 언어로 작성된 코드는 어셈블 과정을 거쳐 기계어로 변환됩니다. 따라서 어셈블러는 말 그대로 어셈블리 언어를 기계어로 바꿔 주는 프로그램을 의미하며, 기계어는 다음과 같은 형태를 취합니다.
001 (연산코드) |
010010 (오퍼랜드) |
연산코드(OpCode)는 어떤 연산을 수행할 것인지를 명시하고, 오퍼랜드(operand)는 그 연산을 수행할 데이터나 데이터가 저장된 위치를 나타냅니다.
그럼 어셈블리 언어를 기계어와 매핑해 볼까요? AL 레지스터에 1을 이동(저장)하는 어셈블리 언어를 먼저 작성합니다.
코드
MOV AL, 1
이후 어셈블 과정을 거치면 다음과 같이 기계어로 변환됩니다.
코드
10110000 00000001
여기서 10110000은 연산코드를 나타내며, 00000001은 데이터를 의미합니다.