3.2.2 간접 주소 지정
간접 주소 지정 방식(indirect addressing mode)은 명령어에 데이터가 있는 실제 메모리 주소를 직접 포함하지 않고, 대신 메모리 내 다른 위치를 가리키는 포인터를 사용합니다. CPU는 이 포인터를 통해 간접적으로 데이터에 접근합니다.
예를 들어 다음과 같은 명령어가 있다고 가정해 봅시다.
코드
LOAD A, (2000)
괄호 내 2000은 메모리 주소를 가리키는데, 이는 실제 데이터가 저장된 위치를 직접 나타내는 것이 아니라 메모리 주소 2000에 저장된 값을 다시 메모리 주소로 사용한다는 것을 의미합니다. 명령어를 좀 더 자세히 살펴볼까요?
➊ 명령어 LOAD A, (2000)에 따라 메모리 주소 2000을 확인합니다.
➋ 메모리 주소 2000에서 3000이라는 값을 가져옵니다. 이때 3000은 데이터 값이 아니라 메모리 주소를 의미합니다.
➌ 이제 CPU는 3000이라는 메모리 주소로 가서 실제 데이터를 가져옵니다.
➍ 그리고 그 데이터를 레지스터 A로 가져옵니다.