1. 새로운 64 bit 에서의 인자전달 방식은?
기존 방식과 다르게 인자를 전달하기 위해 레지스터를 4개만 사용한다.
정수형 - rcx, rdx, r8, r9
실수형 - xmm0, xmm1, xmm2, xmm3
함수 호출시 인자가 4개 미만이라도 레지스터를 위한 공간을 예약해두어야 된다.
2. 느낀점
32 bit에서 64 bit 로 바뀌면서 데이터를 한번에 더 많이 담기 위해 여러개의 레지스터를 사용하는 거같다. 덕분에 더 많은 양의 메모리를 사용할 수 있겠지만 메모리가 낭비될 수도 있을거 같다.
'리버싱(Reversing) > 보고서' 카테고리의 다른 글
리눅스 :: Linux 환경의 메모리 보호 기법 (0) | 2015.08.27 |
---|---|
리버싱 :: 함수의 시작과 끝, 함수 프롤로그, 에필로그 (0) | 2015.06.10 |
리버싱 :: 메모리 구조 , 스택프레임 , 함수 호출규약 (0) | 2015.06.08 |
리버싱 :: 어셈블리어 기초 , 범용 레지스터 (0) | 2015.06.08 |
리버싱 :: 디버거를 실행해보자! (0) | 2015.06.06 |
WRITTEN BY
,