컴퓨터의 기계어와 고급 언어 사이의 중간 단계에 해당하는 프로그래밍 언어다.
기계어는 컴퓨터가 직접 이해하고 실행할 수 있는 0과 1로 이루어진 바이너리 코드이지만,
이를 사람이 작성하기는 매우 어렵다. 반면, 고급 언어는 사람이 이해하기 쉽고, 여러 추상화가 되어 있어 프로그램을 작성하는 데 편리하다.

 

📌 어셈블리어의 특징

1️⃣ 저수준 언어

  • CPU의 명령어와 직접적으로 대응되며, 하드웨어를 세밀하게 제어할 수 있다.

2️⃣ 빠른 실행 속도

  • 고급 언어 보다 컴파일 과정 없이 직접 기계어로 변환되므로 속도가 빠르다.

3️⃣ 하드웨어 의존적

  • 특정 CPU( 예: x86, ARM 등 ) 아키텍처에 맞춰 작성되며, 다른 CPU에서는 동작하지 않는다.

4️⃣ 어셈블러( Assembler ) 필요

  • 어셈블리어 코드를 기계어로 변환하려면 어셈블러( Assembler )가 필요하다. ( 예: MASM, NASM )

📌 어셈블리어 기본 구조

어셈블리어 코드는 기본적으로 세 가지 섹션으로 나뉜다.

1️⃣ 데이터 섹션( .data )

  • 프로그램에서 사용할 변수나 상수를 정의한다.

2️⃣ 코드 섹션( .text )

  • 실제 실행될 명령어가 포함된 부분이다.

3️⃣ 스택 섹션( .bss )

  • 초기화되지 않은 데이터를 저장하는 공간이다.

+ Recent posts