Download presentation
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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.