한땀한땀 정성들인 코딩
기본 어셈블리 명령어 본문
반응형
어셈블리어 문법은 intel방식, AT&T 방식으로 나뉜다.
intel방식이 직관적으로 이해가 편한다.
데이터 이동
mov dest, src #dest로 src 이동
lea dest,src #dest로 src의 주소가 이동
push src #스택에 src 추가 ESP가 1증가
pop dest #스택에서 dest 추출 ESP 1감소
산술 연산
add dest,src #dest에 src+
sub dest,src #dest에 src-
inc op #op에 +1
dec op #op에 -1
cmp op1,op2 #op1-op2
논리 연산
neg op #2의 보수
not op #비트 반전
and dest,src #
or dest,src #
xor dest,src #
#and, or, xor 논리 연산자 1,1->1 이런거
shl #비트의 left 이동
shr #비트의 rigth 이동
흐름 제어
call proc #proc 함수 호출
ret #함수 호출 복귀
jmp dest #dest로 점프
jle# ??
기타
nop # 아무것도 안함
int #프로그램 중지 인터럽트 처리 루틴으로 이동
인터럽트란? 중단,새치기 - 프로그램 실챙중 예외상황이 발생하여 처리가 필요할 경우 알려주는 신호
인터럽트 처리 루틴이란?( 인터럽트 핸들러 ) - 인터럽트에 대응하여 특정기능을 처리하는
기계어 코드 루틴
루티인란? - 소프트 웨어에서 특정동장을 수행하는 일정코드 부분( 함수,서브루틴,메소드,프로시저 )
반응형
'메모' 카테고리의 다른 글
실습 : 세그먼트 구조 이해하기 (0) | 2017.01.04 |
---|---|
메모리의 세그먼트 구조 (0) | 2017.01.04 |
인텔 32bit x86 cpu 레지스터의 이해 (0) | 2017.01.04 |
쉘코드의 정의 (0) | 2017.01.04 |
[크롤링] apach nutch (0) | 2017.01.03 |