반응형

전체 글 188

Calling Convention

▣ Calling Convention ? 함수 호출 방식이란 호출자(caller, 피호출자 함수를 호출하는 함수) 피호출자(callee, 호출자로부터 호출되는 함수) 간에 미리 정해둔 파라미터의 전달 순서와 사용이 끝난 후의 스택 정리에 대한 규약 WIN32 환경에서는 기본적으로 세 가지의 호출 방식이 존재한다. Standard Call -- 파라미터들은 코드 상의 오른쪽 파라미터부터 먼저 푸쉬되고(첫번째 파라미터가 스택의 맨 위로 오게 된다는 말이다.), 피호출자(callee)가 스택을 정리한다. CDECL or C Calling Convention -- 파라미터들은 코드 상의 오른쪽 파라미터부터 먼저 푸쉬되고(첫번째 파라미터가 스택의 맨 위로 오게 된다는 말이다.), 호출자(caller)가 스택을 정..

OLD_posting 2010.11.15

ALU (arithmetic-logic unit) - 산술논리 연산장치

ALU - 중앙처리장츼 일부로서 컴퓨터 명령어 내에 있는 연산자들에 대해 연산과 논리동작을 담당 프로세스들에서는 ALU가 연산장치(AU)와 논리장치(LU)의 두 부분으로 나뉘어져있는 경우도 있다. ALU는 입출력을 위해 프로세서와 메인메모리, 입출력 장치에 직접 액세스를 하는데, 입출력은 버스라고 부르는 전자적인 통로를 따라 흐르게 된다. 입력은 연산코드(=OP CODE)을 포함하고 있는 기계 명령어, 하나 또는 그 이상의 연산자 그리고 형식코드로 구성됨. 연산코드는 수행해야 할 연산이 무엇인지를 ALU에게 알려주고 연산자는 그 연산을 위해 사용된다. 형식코드는 연산코드와 함께 결합되어 연산의 대상이 고정 소숫점 형식인지 부동 소숫점 형식인지를 알려줌 출력은 레지스터 내에 있는 결과와, 수행된 연산이 성..

OLD_posting 2010.11.15

끄적끄적..

RVA - PE Imagebase에서 상대적인 주소값 offset - segment 시작주소에 상대적인 주소값 *Protected mode 에서 메모리 보호 및 Segmentation / paging 기능이 뭔지 * iDIV 정수 Integer Divide (Signed) *8086 에선 16 bit 레지스터, 20bit 메모리 사용 16bit 레지스터가 20bit인 메모리 주소값을 다 표현하지 못하므로 Segment register를 사용해서 20bit 메모리 주소값을 표현하게 된다. 코드세그먼트 시작번지랑~ IP 지시,명령 포인터 레지스터가 가진 offset 값과 합쳐서 실행을 위한 명령어의 주소를 참조하게 됨 +Segment - 프로그램에서 정의된 특정 영역 code segment : 프로그램 코드..

OLD_posting 2010.01.09
반응형