CMP : 첫 번째 Operand에서 두 번째 Operand를 뺍니다. 이 연산의 결과는 Zero Flag에만 영향을 미치고Operand에 영향을 미치지 않고 버려집니다.
TEST : 첫 번째 Operand와 두 번째 Operand를 AND 시킵니다. 이 연산의 결과는 Zero Flag 에만 영향을 미치고 Operand에 영향을 미치지 않고 버려집니다.
즉 CMP는 두 값을 빼서 결과를 보고 TEST는 두 값을 AND 연산을해서 결과를 보는데 CMP는 두 Operand가 완전히 같은지 판단할 수 있고 TEST는 두 Operand가 모두 0인지 아닌지 판단할 수 있습니다.
TEST의 경우에는 두 Operand가 0이 아닌 경우를 제외하고는 값을 단정지을 수 없 기 때문에 TEST eax, eax와 같은 형태로 사용하여 이 값이 0인지 아닌지 확인할 때 사용된다
참조 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=vps32&logNo=221532426407
'포렌식 > 컴퓨터' 카테고리의 다른 글
NTFS 파일 시스템에서의 오피스 파일 시간 정보 관련 좋은 논문 (0) | 2023.07.25 |
---|---|
윈도우 uuid 확인방법 (0) | 2023.07.20 |
역공학 - x86-64 구조 : 레지스터 (0) | 2023.06.14 |
MessageAnalyzer(이벤트 로그 분석 프로그램) (0) | 2023.05.16 |
Study on Windows Event Log-Based Corporate Security Audit and Malware Detection (0) | 2023.05.15 |