반응형

OLD_posting 42

끄적끄적..

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

Big & Little Endian

Big Endian과 Little Endian은 컴퓨터 메모리에 저장된 바이트들의 순서를 설명하는 용어이다 Big Endian - Big Endian 이 방식은 높은 자리수를 먼저 저장 0x0A0B0C0D 메모리 위치가 낮은 주소값이 높은 자리수 주소가 된다 이 빅엔디언은 RISC 구조에서 주로 나타내며 모토로라 프로세서 주로 사용되며 빅엔디언의 장점은 디버그를 편하게 해준다. 사람이 읽는 순서와 동일하기 때문에 디버깅 과정시 메모리 값을 보기에 편하다 ex : 0x12345678 _> 12 34 56 78 Little Endian - Little Endian 이 방식은 낮은 자리수를 먼저 저장 위 그림을 보시다시피 레지스터의 낮은 자릿수를 메모리상에 먼저 저장하는 것이 보인다. 대부분 인텔 계열에서 사..

OLD_posting 2010.01.09

IA32 CPU & Register

What is Register? - 작은 데이터의 임시저장 공간 - 연산처리 및 번지지정을 도움 - CPU 내부에는 각 용도에 맞는 다양한 레지스터들이 존재 General Register - 범용 레지스터는 연산결과를 받을 수도 있으며, 연산에 사용되어질 수도 있는 레지스터 - 필요에 따라서 자유롭게 사용이 가능한 레지스터 # EAX ( Extended Accumulator Register ) - 곱셈과 나눗셈 명령에서 자동으로 사용되고 함수의 리턴 값이 저장되는 용도로 사용 # EBX ( Extended Base Register) - 간접번지 지정 시 사용됨 - ESI 나 EDI 와 결합하여 인덱스에 사용 # ECX ( Extended Counter Register ) - 반복 명령어 사용시 반복 카운..

OLD_posting 2010.01.09
반응형