
| [CA]2026-A2 레지스터와 마이크로연산 |
2. 다음은 베이스 레지스터 주소지정(base register addressing) 방식에서 유효 주소를 계산하는 과정을 나타낸 것이다. <조건>을 고려하여 <작성 방법>에 따라 쓰시오. [2점]

| int a, k; int main(void) { ... k = a; sub( ); ... } |
| ① SP는 AR에, 서브루틴 주소는 PC에 저장한다. ② PC를 BR에 저장한다. ③ BR의 내용을 스택에 저장하고, SP를 하나 감소시킨다. |
| <조 건> | ||
| ◦ 명령어의 주소 필드에 저장된 B는 변위이다. ◦ 베이스 레지스터는 기준 주소를 담고 있다. ◦ 베이스 레지스터 주소지정 방식에서 유효 주소는 기준 주소와 변위를 더한 결과이다. ◦ (가)는 서브루틴 sub() 호출을 포함하고 있는 코드의 일부로, 컴파일된 기계어 코드는 메모리 주소 1000번지부터 적재된다고 가정한다. 이 주소는 코드 내 변수 위치의 기준 주소이다. ◦ (가)에서 명령어 LOAD B가 수행된다고 가정한다. ◦ LOAD는 메모리에 저장된 내용을 누산기(AC)에 저장한다. ◦ (나)는 sub() 호출 시 실행하는 마이크로 명령어들에 해당되는 주요 동작을 순서 없이 제시한 것이다. ◦ PC와 SP는 각각 프로그램 카운터와 스택 포인터를 의미한다. ◦ BR은 버퍼 레지스터이고, AR은 메모리 주소 레지스터이다. |
||
| <작성 방법> | ||
| ◦ LOAD B에서 B가 1200일 때, AC로 적재될 데이터의 유효 주소를 쓸 것. ◦ 서브루틴 sub()가 호출될 때 실행하는 (나)의 동작을 올바른 순서대로 쓸 것. |
||

| [CA] 기출문제 리스트 (0) | 2021.12.05 |
|---|---|
| 2014학년도 기출문제 5번 (0) | 2017.08.16 |