본문 바로가기
악성코드 분석/ASSEMBLY

기본 명령어

by ITPro 2010. 11. 27.

명령어

예시

설명

inc

inc eax

피연산자에서 1을 더한다.

dec

dec eax

피연산자에서 1을 뺀다.

add

add eax,ebx

소스 피연산자를 같은 크기의 목적 피연산자에 더한다.

sub

sub eax,ebx

목적 피연산자를 같은 크기의 소스 피연산자로 뺀다.

neg

neg eax

피연산자를 2의 보수로 변환하여 부호를 바꾼다.

cmp

cmp eax,ebx

목적 피연산자를 같은 크기의 소스 피연산자로 뺀다. 플래그는 설정이 되지만 피연산자는 수정되지 않는다. (ZF, CF)

lea

lea edi,esi

소스 피연산자의 유효 주소를 계산하여 목적 피연산자에 복사한다.

jmp

jmp L1

해당 레이블로 무조건 이동시킨다.

loop

loop L1

ECX 값이 0이 될 때까지 해당 레이블로 이동시킨다.

movzx

movzx ax,bl

소스 피연산자를 목적지 피연산자로 복사하고 값을 16비트 또는 32비트로 제로확장한다. (부호 없는 정수)

movsx

movsx ax,bl

소스 피연산자를 목적지 피연산자로 복사하고 값을 16비트 또는 32비트로 부호확장한다. (부호 있는 정수)

lahf

lahf

Sign,Zero,Carry,보조 Carry,Parity 플래그를 AH로 복사한다.

sahf

sahf

AH의 값을 EFLAGS 레지스터에 복사한다. (LAHF↔SAHF)

xchg

xchg ax,bx

두 피연산자의 값을 교환한다.

push

push ecx

피연산자의 값을 스택에 저장한다.

pop

pop ecx

스택에 저장된 값을 피연산자로 불러온다. (PUSH↔POP)

pushfd

pushfd

EFLAGS 레지스터 값을 스택에 저장한다.

popfd

popfd

스택에 저장된 EFLAGS 레지스터 값을 불러온다.

pushad

pushad

EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI 순서로 레지스터의 값을 스택에 저장한다.

popad

popad

스택에 저장된 범용 레지스터 값들을 불러온다.

반응형

'악성코드 분석 > ASSEMBLY' 카테고리의 다른 글

부울 명령어  (0) 2010.11.27
연산자  (0) 2010.11.27
자료형  (0) 2010.11.27
어셈블리어  (0) 2010.11.27
플래그  (0) 2010.11.27