Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mod-Mod Pengalamat Segera (Immediate) Terus (Direct)

Similar presentations


Presentation on theme: "Mod-Mod Pengalamat Segera (Immediate) Terus (Direct)"— Presentation transcript:

1 Mod-Mod Pengalamat Segera (Immediate) Terus (Direct)
Tak terus (Indirect) Daftar (Register) Daftar tak terus (Register indirect) Penggantian (Displacement - (indexed)) 2

2 Immediate Addressing Operan adalah sebahagian daripada arahan
Operand = address field e.g. ADD 5 => ADD #5 => AC = AC + 5 Tambah 5 kepada kandungan accumulator 5 adalah operan Tiada rujukan memori untuk mengambil data Pantas Julat yang terhad Instruction Opcode Operand 3

3 Direct Addressing Medan alamat (address field) mengandungi alamat bagi operan Alamat efektif = alamat medan (Effective address (EA) = address field (A)) Cth ADD A Tambah kandungan bagi sel A kepada penumpuk (accumulator) Cari operan dalam memori pada alamat A Rujukan memori tunggal untuk mengakses data Tiada tambahan congakkan untuk mendapatkan EA Ruang alamat terhad 5

4 Direct Addressing Diagram
Instruction Opcode Address A Memory Operand => Load a => ac <= a 6

5 Indirect Addressing (1)
Memory cell pointed to by address field contains the address of (pointer to) the operand EA = (A) Look in A, find address (A) and look there for operand e.g. ADD (A) Add contents of cell pointed to by contents of A to accumulator => Add a, (b) => a = a+ (b) 7

6 Indirect Addressing (2)
Large address space 2n where n = word length May be nested, multilevel, cascaded e.g. EA = (((A))) Multiple memory accesses to find operand Hence slower 8

7 Indirect Addressing Diagram
Instruction Opcode Address A Memory Pointer to operand Operand 9

8 Register Addressing (1)
Operand is held in register named in address filed EA = R => ADD R1, R2 => R1 = r1 + r2 Limited number of registers Very small address field needed Shorter instructions Faster instruction fetch 10

9 Register Addressing (2)
No memory access Very fast execution Very limited address space Multiple registers helps performance Requires good assembly programming or compiler writing N.B. C programming register int a; c.f. Direct addressing cf. is an abbreviation from a Latin word (confer) and means 'refer to' or 'compare with' N.B = nota bene - Used to direct attention to something particularly important 11

10 Register Addressing Diagram
Instruction Opcode Register Address R Registers Operand 12

11 Register Indirect Addressing
C.f. indirect addressing EA = (R) Operand is in memory cell pointed to by contents of register R Large address space (2n) One fewer memory access than indirect addressing 13

12 Register Indirect Addressing Diagram
Instruction Opcode Register Address R Memory Registers Pointer to Operand Operand 14

13 Displacement Addressing
EA = A + (R) Address field hold two values A = base value R = register that holds displacement or vice versa 15

14 Displacement Addressing Diagram
Instruction Opcode Register R Address A Memory Registers Pointer to Operand + Operand 16

15 Relative Addressing A version of displacement addressing
R = Program counter, PC EA = A + (PC) i.e. get operand from A cells from current location pointed to by PC c.f locality of reference & cache usage 17

16 Base-Register Addressing
A holds displacement R holds pointer to base address R may be explicit or implicit e.g. segment registers in 80x86 18

17 Indexed Addressing A = base R = displacement EA = A + R
Good for accessing arrays R++ 19

18 Combinations Postindex EA = (A) + (R) Preindex EA = (A+(R)) 20

19 Stack Addressing Operand is (implicitly) on top of stack e.g.
ADD Pop top two items from stack and add 21


Download ppt "Mod-Mod Pengalamat Segera (Immediate) Terus (Direct)"

Similar presentations


Ads by Google