본문 바로가기

B1:기초 Basement

주소지정방식 ( addressing mode )

반응형

주소지정방식이란 프로그램 수행 시 오퍼랜드를 지정하는 방식으로서 오퍼랜드를 실제 참조하기 전에 명령어의 주소 필드를 변경하거나 해석하는 규칙을 지정하는 형식

· 의미주소지정
명령어에서 주소필드를 필요로 하지 않는 방식
연산코드필드에 지정된 묵시적 의미의 오퍼랜드를 지정
[예]
ADD   ;
기억장치스택에서 ADD와 같은 명령어는 스택의 맨 위 항목과 그 아래 항목을 더하여 스택의 맨 위에 저장하는 명령어(오퍼랜드가 스택의 맨 위에 있다는 것을 묵시적으로 가정)

· 즉치주소지정
명령어 자체 내에 오퍼랜드를 지정하고 있는 방식
[예]
LDI   ;   
레지스터 R1에 데이터 100을 초기화 시키는 것으로서 명령어 LDI 자체 내에 100이라는 오퍼랜드를 포함

· 레지스터와 레지스터 간접주소지정
레지스터방식은 오퍼랜드가 레지스터에 저장되어 있음
레지스터 간접주소지정 방식은 레지스터가 실제 오퍼랜드가 저장된 기억장치의 주소값을 갖고있는 방식

· 직접주소지정과 간접주소지정
(1) 직접주소지정방식(direct-addressing mode)은 명령어의 주소필드에 직접 오퍼랜드의 주소를 저장
(2) 간접주소지정방식(indirect-addressing mode)은 명령어의 주소필드에 유효주소가 저장되어있는 기억장치주소를 기억시키는 주소방식. 제어는 기억장치로부터 명령어를 가져온 후 주소부분을 이용하여 다시 기억장치에 접근하여 유효주소를 읽어 냄

· 상대주소지정
유효주소를 계산하기 위해 처리장치 내에 있는 특정 레지스터의 내용에 명령어 주소필드 값을 더하는 방식
자주 사용되는 레지스터는 PC로서 상대주소지정방식에서 유효주소는 다음과 같이 계산됨
유효주소 = 명령어 주소부분의 내용 + PC의 내용    

· 인덱스된 주소지정
인덱스된 주소지정방식에서는 인덱스 레지스터의 내용을 명령어 주소 부분에 더해서 유효주소를 얻음
인덱스 레지스터는 특정한 CPU레지스터나 레지스터 파일에 있는 레지스터가 될 수 있음

반응형