x86 (2) 썸네일형 리스트형 레지스터의 종류와 개념 범용 레지스터 (General Purpose Registrer) AX (Accumulator register) - 산술 연산에 사용 CX (Counter register) - 시프트/회전 연산과 루프에서 사용 DX (Data register) - 산술 연산과 I/O 명령에서 사용 BX (Base Register) - 데이터의 주소를 가리키는 포인터로 사용 SP (Stack Pointer register) - 스택의 최상단을 가리키는 포인터로 사용 BP (Stack Base pointer register) - 스택의 베이스를 가리키는 포인터로 사용 SI (Source Index register) - 스트림 명령에서 소스를 가리키는 포인터로 사용 DI (Destination Index register) - .. 함수 호출 규악 (Calling Convention) __cdecl Caller 매개 변수를 스택에 역순으로(오른쪽에서 왼쪽으로) 푸시합니다. __stdcall 호출 수신자 __fastcall 호출 수신자 매개 변수를 스택에 역순으로(오른쪽에서 왼쪽으로) 푸시합니다. cdecl C, C++ 기본 호출 규약 스택 정리 : 호출자 인자 전달 : 오른쪽에서 왼쪽 Example int __cdecl cdeclCall(int arg1, int arg2, int arg3); 스택 push arg3 push arg2 push arg1 CALL cdeclCall stdcall Win32 API 표준 호출 규약 스택 정리 : 피호출자 인자 전달 : 오른쪽에서 왼쪽 Example int __stdcall stdcallCall(int arg1, int arg2, int arg.. 이전 1 다음