2012-09-14 4 views

답변

1

DOS에는 Byte addressing이 있고 비트 주소 지정은 없습니다.

+0

세그먼트/오프셋 주소 지정 때문에 주소 지정이 20 비트 (1MB) 였지만 PAE 때문에 주소 지정이되지 않았습니다. 또한 질문자의 질문에 실제로 답변하지는 않습니다. 그는 단일 세그먼트 (64kB)를 처리 할 때 비트와 바이트 사이에서 혼란스러워했습니다. – craig65535

+0

@ craig65535 : - 고정 ... – user1655481

2

포인터는 비트가 아니라 바이트를 가리 킵니다. 그것은 당신이 혼란스러워하는 곳입니다.

2

포인터는 개별 비트를 처리하지 않습니다. 이들은 바이트를 주소 지정하므로 16 비트 포인터는 64 킬로바이트를 주소 지정합니다. 2^19 비트이지만 2^16 바이트에 불과합니다.

0

sizeof(pointer)은 일반적으로 sizeof(int)

당신이 컴파일러/시스템/환경을 변경하는 경우 갑자기 자신이 가지고 있지 않은 문제를 디버깅하려고 찾을 수 있기를 sizeof (포인터) = 2를 가정하지 마십시오