728x90
Direct / Indirect 모드
- Direct 모드 : 메모리의 주소값을 직접 지정해서 값을 가져옴
- Indirect 모드 : 메모리의 주소값에 저장된 값을 가져와서 메모리로 참조
Indirect 모드의 필요성
- 피연산자를 표현할 때 제한된 비트수로 표현해야 해서 충분히 표현하기 어려움
- 이러한 문제점을 해결하기 위해 Indirect Addressing Mode로 참조할 수 있음
Direct 모드의 문제점
int a = 10; // 0x010 번지 할당
int b = 20; // 0x100 번지 할당
int c = 0; // 0x020 번지 할당
c = a + b;
- LOAD r2, 0x0100 의 경우 표현이 불가능함(source의 표현 범위를 넘음)
Indirect 모드로 해결
- LOAD r1, 0x0010
- MUL r0, 4, 4
- MUL r2, 4, 4
- MUL r3, r0, r2
- STORE r3, 0x0030
- LOAD r2, [0x0030]
- ADD r3, r1, r2
- STORE r3, 0x20
728x90
'Programming > System Programming' 카테고리의 다른 글
윈도우즈 시스템 프로그래밍 - 5. 프로세스의 생성과 소멸(2) (0) | 2020.07.15 |
---|---|
윈도우즈 시스템 프로그래밍 - 5. 프로세스의 생성과 소멸(1) (0) | 2020.07.15 |
윈도우즈 시스템 프로그래밍 - 4. 컴퓨터 구조에 대한 두 번째 이야기(3) (0) | 2020.07.12 |
윈도우즈 시스템 프로그래밍 - 4. 컴퓨터 구조에 대한 두 번째 이야기(2) (0) | 2020.07.09 |
윈도우즈 시스템 프로그래밍 - 4. 컴퓨터 구조에 대한 두 번째 이야기(1) (0) | 2020.07.09 |