Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- rfc5508
- Docker
- epoll
- .net core 7
- DOCKER-USER
- cbpf
- 취약점
- Compiler
- .nret core 배포
- 어셈블리어
- epoll_wait
- packet filter
- mvwin
- REDIS
- C언어
- NAPT
- BOF
- architecture
- ioctl
- level trigger
- ncurses
- edge trigger
- vtable
- LOB
- packet flow
- 풀이
- iptables
- wnourefresh
- doupdate
- wrefresh
Archives
- Today
- Total
Tuuna Computer Science
[Assembly] 어셈블리어 명령어3 본문
DB(data byte) 00을 나타낼때
점프기능 JMP점프 기능 JMP 401000 특정한 구간으로
점프! EIP : 실행할 곳의 주소를 담고 있는 레지스터
즉, JMP 401000은 EIP에 그 메모리주소가 들어가도록 하는거다.
EIP는 범용레지스터가 아님(일반적인 용도로 ㄴㄴ) (MOV사용ㄴㄴ)
JMP SHORT 401000에서 이동할 위치가 가까우면
SHORT F9는 거리
또한 jmp eax등 레지스터 점프도 가능
증가 연산자 INC [공간]
감소 연산자 DEC [공간]
메모리에 대해서는 사이즈 필요
INC WORD PTR [공간주소]
한바이트로 표현할 수 없는 부분은 long(생략)으로 나타난다.
예를들어 401000이라는 주소가 있는데 이곳에 위치하는
기계어를 읽어들이겠다. 그리고 램으로 넘어가서 실행
램에서 기계어 데이터를 읽는다.
CMP 함수
(세트와 언세트)
CMP V1, V2 SF랑 OF(이해하기)
V1 = V2 = 0 -> ZF플래그 세트(1) CF플래그 언세트(0)
V1 > V2 -> ZF는 언세트(0)되고 CF도 언세트(0)된다.
V1 < V2 -> ZF는 언세트(0)되고 CF는 세트(1)된다.
값을 비교하고 이에 따라 프래그가 세트된다.
==========================================부호 없는
JA ( > ) CF = 0 and ZF = 0
JAE ( >= ) CF = 0 OR ZF = 0 (E가 반대 특히 >의 반대는 <=이다)
JB ( < ) CF = 1
JBE ( <=) CF =1 OR ZF =1(ZF가 1이냐 같다는 표현이 있기때문)
============================================반반
JE ( == ) ZF =1
JZ ( == ) ZF =1 //JE와 동일(반반)
==========================================부호 있는
JC CF =1
JG ( > ) ZF =0 AND SF == 0F
JCXZ CX=0
JECXZ ECX = 0
JNZ ZF가 언세트 (JZ의 반대)
'Assembly' 카테고리의 다른 글
[Assembly]어셈블리어 lea, mov 명령어 차이 (0) | 2018.04.28 |
---|---|
[Assembly] 어셈블리어 명령어(TEST) (0) | 2018.04.24 |
[Assembly] 포인터 이용하기 (0) | 2018.04.23 |
[Assembly]어셈블리어 명령어2 (0) | 2018.04.23 |
[Assembly]어셈블리어 명령어1 (0) | 2018.04.23 |
Comments