더북(TheBook)

3.2.2 간접 주소 지정

간접 주소 지정 방식(indirect addressing mode)은 명령어에 데이터가 있는 실제 메모리 주소를 직접 포함하지 않고, 대신 메모리 내 다른 위치를 가리키는 포인터를 사용합니다. CPU는 이 포인터를 통해 간접적으로 데이터에 접근합니다.

예를 들어 다음과 같은 명령어가 있다고 가정해 봅시다.

코드

LOAD A, (2000)

괄호 내 2000은 메모리 주소를 가리키는데, 이는 실제 데이터가 저장된 위치를 직접 나타내는 것이 아니라 메모리 주소 2000에 저장된 값을 다시 메모리 주소로 사용한다는 것을 의미합니다. 명령어를 좀 더 자세히 살펴볼까요?

명령어 LOAD A, (2000)에 따라 메모리 주소 2000을 확인합니다.

메모리 주소 2000에서 3000이라는 값을 가져옵니다. 이때 3000은 데이터 값이 아니라 메모리 주소를 의미합니다.

이제 CPU는 3000이라는 메모리 주소로 가서 실제 데이터를 가져옵니다.

그리고 그 데이터를 레지스터 A로 가져옵니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.