2011-09-05 5 views
2

책에 따르면, 레지스터는 작은 저장 공간 (16 비트 CPU의 경우 16 비트)이있는 CPU의 장소입니다. 그러면 CPU 레지스터에 주소가 어떻게 있습니까? 그리고 메모리에 있지 않지만 CPU에서 어떻게 변위를 추가 할 수 있습니까?등록자는 어떻게 주소를 가질 수 있습니까?

예를 들면 다음과 같습니다

mov ax, [bx+1000h] 
+0

당신은 BX 내부에 포함 된 메모리 주소에 변위를 추가로 저장됩니다 1000h, 당신은 레지스터 BX에서 1000H 바이트를 이동하지 않습니다. – Cipi

+1

일반적으로 레지스터에는 메모리 주소가 없지만 일부는 예를 들어 AVR 마이크로 컨트롤러의 스택 포인터 SP입니다. – starblue

답변

5

86 레지스터는 오직 이름으로 해결됩니다. bx+1000h이라는 표현은 "레지스터 bx의 값에 1000h를 더한 값"을 의미하며 결과는 일부 레지스터 공간이 아닌 [...] 표기법을 통해 메모리에 주소로 해석됩니다.

식의 전반적인 해석은 "주소로드 후 xxx 비트가 1000h 바이트에 위치하도록로드"입니다.

0

내용이 bx 인 것으로 해석하고 오프셋으로 대체합니다.

그래서 bx 경우 ax의 내용을 메모리 위치 2000h

관련 문제