본문 바로가기
리버스 엔지니어링/어셈블리어

어셈블리어 (Assembly language) 개념, 기초

by leedg 2023. 4. 7.
반응형
  • 어셈블리어(Assembly language)

어셈블리어(Assembly language)는 기계어와 1:1로 대응되는 저급 프로그래밍 언어입니다. 보통 어셈블리어는 어셈블리라고도 하고, 일반적으로는 ASM이나 asm이라는 단어로 약칭되기도 합니다. 어셈블리어는 기계어나 프로그래밍 언어와 마찬가지로 컴퓨터에서 직접 실행될 수 있는 형태의 코드를 작성할 수도 있습니다.

 

 


 

어셈블리어는 일반적으로 기계어와 마찬가지로 16진수(hexdecimal)로 표현되고, 기본적으로 세 부분으로 구성됩니다.

 

1. 라벨 (Label)

라벨은 코드 내에서 특정 위치를 참조하기 위한 이름입니다. 아래 코드와같이 콜론(:)으로 끝나는 식별자로 표현됩니다.

loop_start:

 

 

2. 명령어 (Instruction)

컴퓨터에서 실행할 작업을 정의하는 부분입니다. 오퍼랜드와 함께 사용되고, 데이터를 이동하거나 연산을 수행합니다.

아래 코드에서는 mov가 명령어, ebx와 eax가 오퍼랜드 라고 볼 수 있습니다.

mov ebx, eax

 

 

3. 주석 (Comment)

코드를 이해를 돕기위한 설명을 적을 수 있습니다. 세미콜론(;)으로 주석이 시작되고 해당줄의 끝까지 적용됩니다.

add eax, ebx ; eax = eax + ebx 이런식으로 주석을 적습니다.

 

댓글