Direct Addressing Mode의 문제점
* 명령어 구성의 또 다른 문제점
- 명령어의 구조상 한정적인 주소값을 저장할 수 있는데, 따라서 메모리 주소가 0x0100라면 구성이 불가하게 됨
Direct Addressing Mode & Indirect Addressing Mode
메모리의 주소값을 직접 지정하여 가져오는 것에 대한 여부에 따라 나뉘어진다.
- 메모리에 데이터가 있고 주소로 직접 가져오는 것이면 Direct 모드
- 메모리에 값이 아닌 다른 참조 값이 있어서 참조 값의 주소를 통해 데이터를 가져오는 것이면 Indirect 모드
문제해결
- ARM이나 임베디드에 사용되는 CPU의 문제해결법
MUL r0, 4, 4 // 16
MUL r2, 4, 4 // 16
MUL r3, r0, r2 // 256(0x0100)
STORE r3, 0x0030 // r3의 데이터(0x0100)을 메모리 주소 0x0030에 저장
LOAD r2, [0x0030] // Indirect 모드로 0x0030을 통해 0x0100에 접근
r2에 0x0100주소의 데이터를 저장하기 위해서 많은 과정이 필요한 것이 RISC의 특성