도서 : x86 프로세서를 위한 어셈블리언어
복습 3장
1. 예약어 : MASM에서 특별한 목적이 있음
-명령어 니모닉, 레지스터 이름, 디렉티브, 연산자 등
2. 식별자 : 프로그래머가 선택한 이름
-대소문자 구분 x, 어셈블러의 예약어와 같을 수 x
3. 디렉티브 : 어셈블러가 인식, 소스코드에 포함된 명령어.
ex> .data , dword (더블워드 변수용으로 공간 예약 지시)
4. 세그먼트 : 프로그램 섹션 정의
ex>
.data : 변수 포함 영역 표시
.code : 명령어 포함
.stack : 스택 크기 결정
4. 명령어 : 프로그램 어셈블되었을 때 실행 가능하게 되는 문장
-레이블, 명령어 니모닉, 피연산자, 주석
5. 레이블 : 데이터 위치 표시 식별자
- 데이터 레이블(변수 위치)
- 코드 레이블 (: 으로 끝남)
ex> target(코드 레이블 이름) :
mov ax, bx
…
jmp target
-> 루프 생성
6. 명령어 니모닉 : 명령을 나타내는 짧은 단어
- mov, add, sub, mul, jmp, call …
7. 피연산자 : 0~3개 까지 가질 수 있음
ex> imul eax, ebx, 5
목적지: eax /소스 : ebx, 5
8. 주석 : 한줄 주석(;) / 블록 주석 (!...! , &…& 등)
9. 데이터 정의문 : 메모리에 변수를 위한 저장 공간을 확보, 변수 이름은 선택사항 , 고유자료형에 근거하여 변수 생성
-디렉티브ex>
- BYTE : 부호 x 8비트 정수 (1바이트)
- WORD : 부호 x 16비트 정수 (2바이트)
- DWORD : 부호 x 32비트 정수 (4바이트)
10. 연산자 dup : 상수 수식 반복 카운터로 사용, 해당 수 만큼 공간 할당
ex> BYTE 20 dup(0) : 부호 없는 8비트 정수 크기의 공간 20개를 0으로 초기화
11. 기호 상수 : 식별자(기호)를 정수 수식 또는 텍스트와 연결해서 만듦
ex>기호 : $ - 현재 위치 카운터
selfPtr DWORD $ : selfPtr 이라는 변수는 자기 위치 카운터로 초기화
'System & Reversing > 이론' 카테고리의 다른 글
어셈블리어 2 (0) | 2019.02.15 |
---|---|
프로세서, 레지스터 (0) | 2019.02.15 |
어셈블러, VM (0) | 2019.02.15 |