데이터 입출력 관점에서 레지스터는 임시 저장소가 됨
Load & Store 명령어의 필요성
* 명령어의 제한
- 사칙연산의 피연산자는 숫자 or 레지스터
- 연산결과는 레지스터에 저장
- 즉 레지스터를 통해서 모든 연산을 진행
레지스터 - (Store) ->메인 메모리
레지스터 <- (Load) - 메인 메모리
* Load 명령어
- 레지스터 정보와 읽어올 데이터 메모리의 주소 정보만을 필요로 함.
ex) LOAD(110), r1, 0x20
* Store 명령어
- Load와 동일하게 읽어올 레지스터 정보와 데이터를 저장할 메모리의 주소 정보만을 필요로 함
ex) Store(111), r1, 0x20
int a = 10; // 0x10번지에 할당
int b = 20; // 0x20번지에 할당
int c = 0; // 0x30번지에 할당
c = a + b;
//명령어
LOAD r1, 0x10 // 메모리의 데이터를 레지스터로 불러옴
LOAD r2, 0x20 // 메모리의 데이터를 레지스터로 불러옴
ADD r3, r1, r2 // 레지스터의 데이터를 가지고 사칙연산하여 r3에 저장
STORE r3, 0x30 // 레지스터 r3에 있는 데이터를 메모리 주소(0x30)에 저장
'시스템 프로그래밍' 카테고리의 다른 글
5-2. 프로그래밍을 통한 프로세스의 생성 (0) | 2022.05.13 |
---|---|
5-1. 프로세스의 생성과 소멸 (0) | 2022.05.12 |
4-1. 컴퓨터 구조의 접근방법 (0) | 2022.05.11 |
3. WIN32 & WIN64 (0) | 2022.05.11 |
2-2 MBCS와 WBCS 동시 지원 (0) | 2022.05.09 |