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
- 머신러닝
- CISCO
- 스위치
- AWS
- Repository
- vlan
- dreamhack
- Screening Router
- Mac
- Python
- AI
- abex'crackme
- vector
- STP
- docker
- 인공지능
- bastion host
- Firewall
- 네트워크
- Reversing
- Java
- 자바
- 머신러닝 프로세스
- cmd
- 암호학
- 크롤러
- 라우터
- RIP
- 리버싱
- 온프레미스
Archives
- Today
- Total
Haekt‘s log
[ASM] TEST EAX, EAX 왜 쓰는걸까? 본문
- TEST EAX, EAX 왜 쓰는걸까?
TEST 는 비교 AND 연산을 해 주는 역할이라고 이해하고 있었다.
그럼 EAX, EAX는 같은 것을 비교하는 것이므로 항상 참만 나오는게 아닌가? 하는 의문이 들었다.
결론부터 말하자면, TEST EAX, EAX 는 EAX에 값이 들어있는지 확인하기 위한 부분이다.
- 설명
TEST 는 1 피연산자와 2 피연산자를 AND 연산하여 EAX 에 값이 있으면 참을 내놓는다.
AND 연산은 두 피연산자가 참으로 대응될 때에만 참이 나오기 때문에, 하나라도 0 이 있다면 거짓을 내놓게 된다.
TEST EAX, EAX 는 두 피연산자가 동일하므로, EAX 에 값이 없을 경우 거짓이 나오게 되는 것이다.
TEST 는 거짓( 0 ) 이 나올경우 ZF ( zero flag ) 를 1 로 설정시키는데,
이는 JE , JZ 와 같은 분기문을 만날때 점프시키는 역할을 하게 된다.
'Reversing' 카테고리의 다른 글
[리버싱] reversing with lena-tutorial 3 (1) | 2022.09.25 |
---|---|
X32,64 dbg 파일 패치방법 (0) | 2022.09.25 |
[리버싱] abex' crackme #3 문제풀이 (x32 dbg) (0) | 2022.09.20 |
[리버싱] abex' crackme #1 문제풀이 (x32 dbg) (1) | 2022.09.20 |
[리버싱] reversing with lena-tutorial 1 (1) | 2022.09.20 |
Comments