YYYEJI

[CS] Exercise for Addressing Modes 본문

Computer architectures

[CS] Exercise for Addressing Modes

YEJI ⍢ 2022. 9. 22. 13:57
728x90

Addreesing mode에 대해서 먼저 공부를 하고 문제를 풀어보세요!

https://yyyeji.tistory.com/88

 

[CS] Addressing Modes

Addressing mode 란 ? ? ? Operand가 memory 또는 register에 위치하는 주소를 지정하는 다양한 방법입니다. → 사용자에게 프로그래밍 다재다능성을 제공합니다. (메모리에 대한 포인터, 루프 제어를 위한

yyyeji.tistory.com

 

 

 

🅠) Assume LD instruction is at Address 0

LD 5

①. Direct mode

②. Indirect mode

③. Register mode

④. Register indirect mode

⑤. Immediate addressing mode

 

 

↓↓↓   Solution   ↓↓↓

첫 번째 단계는 memory에서 instruction을 fetch 해온다.

CPU ← LD 5

① - 5번지에서 값을 가져온다.

② - 5번지는 가져올 값의 주소가 들어있기 때문에 5번지에서 10번지로 간다.

③ - register에 들어있는 값을 가져온다.

④ - register는 가져올 값의 주소가 들어있기 때문에 register에서 9번지로 간다.

⑤ - immediate는 값 자체를 의미하기 때문에 LD 5에서 5가 값이다.

 

 

↓↓↓   Answer   ↓↓↓

EA: 5      AC = 10

② EA: 10      AC = 20

③ EA: 5 or ?      AC = 9

④ EA: 9      AC = 25

⑤ EA: 0      AC = 5

 

 

 

🅠) What is ther Effective Address and the Operand Value for each address mode ?

Instruction format

Opcode Mode Address

①. Direct 

②. Immediate

③. Indirect

④. Relative

⑤. Register 

⑥. Register indirect

 

 

↓↓↓   Solution   ↓↓↓

첫 번째 단계는 memory에서 instruction을 fetch 해온다.

① - 500번지에서 값을 가져온다.

② - immediate는 값 자체를 의미하기 때문에 201번지에 있는 500이 값이다.

③ - 500번지는 가져올 값의 주소가 들어있기 때문에 500번지에서 800번지로 간다.

④ - Address + PC 의 주소로 간다. 즉, 500 + 202  = 702번지이다.

⑤ - register에 들어있는 값을 가져온다.

⑥ - register는 가져올 값의 주소가 들어있기 때문에 register에서 400번지로 간다.

 

 

 

↓↓↓   Answer   ↓↓↓

① EA: 500     AC: 800

EA: 201     AC: 500

EA: 800     AC: 300

EA: 702     AC: 325

EA: 500 or ?     AC: 400

EA: 400     AC: 700

 

 

 

◡̈ 

 

'Computer architectures' 카테고리의 다른 글

[CS] Instruction Set Completeness  (0) 2022.09.22
[CS] CISC vs RISC  (0) 2022.09.22
[CS] Addressing Modes  (0) 2022.09.21
[CS] Example for Operand  (0) 2022.09.19
[CS] Number of Operands  (0) 2022.09.19