Types of Addressing Modes Types of Addressing Modes
- Slides: 28
Types of Addressing Modes
Types of Addressing Modes The different ways in which the location of the operand is specified in an instruction are referred to as addressing modes • • Immediate Addressing Direct Addressing Indirect Addressing Register Indirect Addressing Relative Addressing Indexed Addressing
• Operand is given explicitly. Addressing in the instruction Immediate • Operand = Value • e. g. ADD 5 – Add 5 to contents of accumulator – 5 is operand • No memory reference to fetch data • Fast • Limited range Instruction opcode operand
Direct Addressing • Address field contains address of operand • Effective address (EA) = address field (A) • e. g. ADD A – Add contents of cell A to accumulator – Look in memory at address A for operand • Single memory reference to access data • No additional calculations to work out effective address • Limited address space
Direct Addressing Diagram Instruction Opcode Address A Memory Operand
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
Indirect Addressing (2) • Large address space • 2 n where n = word length • May be nested, multilevel, cascaded – e. g. EA = (((A))) • Draw the diagram yourself • Multiple memory accesses to find operand • Hence slower
Indirect Addressing Diagram Instruction Opcode Address A Memory Pointer to operand Operand
Register Addressing (1) • Operand is held in register named in address field • EA = R • Limited number of registers • Very small address field needed – Shorter instructions – Faster instruction fetch
Register Addressing (2) • No memory access • Very fast execution • Very limited address space • Multiple registers help performance – Requires good assembly programming or compiler writing
Register Addressing Diagram Instruction Opcode Register Address R Registers Operand
Register Indirect Addressing • C. f. indirect addressing • EA = [R] • Operand is in memory cell pointed to by contents of register R • Large address space (2 n) • One fewer memory access than indirect addressing
Register Indirect Addressing Diagram Instruction Opcode Register Address R Memory Registers Pointer to Operand
Indexed Addressing • EA = X + [R] • Address field hold two values – X = constant value (offset) – R = register that holds address of memory locations – or vice versa y (Offset given as constant or in the index register) Add 20(R 1), R 2 or Add 1000(R 1), R 2
Indexed Addressing Diagram Instruction Opcode Register R Constant Value Memory Registers Pointer to Operand + Operand
Relative Addressing A version of displacement addressing R = Program counter, PC EA = X + (PC) i. e. get operand from X bytes away from current location pointed to by PC • c. f locality of reference & cache usage • •
Auto increment mode • The effective address of the operand is the contents of a register specified in the instruction. • After accessing the operand, the contents of this register are automatically incremented to point to the next item in the list • EA=[Ri]; Increment Ri ---- (Ri)+ Eg: Add (R 2)+, R 0
Auto decrement mode • The contents of a register specified in the instruction are first automatically decremented and are then used as the effective address of the operand • Decrement Ri; EA= [Ri] ----- -(Ri)
Addressing Modes • Implied mode – The operand is specified implicitly in the definition of the opcode. • Immediate mode – The actual operand is specified in the instruction itself.
Addressing Modes (Summary) Base register LDA #ADRS(R 1) ACC <- M[R 1+ADRS]
Assembly Language ØMnemonics ØAssembly Language ØAssembler Directives
Assembly Language
Basic Input/Output Operations
I/O • The data on which the instructions operate are not necessarily already stored in memory. • Data need to be transferred between processor and outside world (disk, keyboard, etc. ) • I/O operations are essential, the way they are performed can have a significant effect on the performance of the computer.
Program-Controlled I/O Example • Read in character input from a keyboard and produce character output on a display screen. Ø Rate of data transfer (keyboard, display, processor) Ø Difference in speed between processor and I/O device creates the need for mechanisms to synchronize the transfer of data. Ø A solution: on output, the processor sends the first character and then waits for a signal from the display that the character has been received. It then sends the second character. Input is sent from the keyboard in a similar way.
Program-Controlled I/O Example - Registers - Flags - Device interface
- Indirect addressing mode in 8051
- Addressing modes in 8085
- Types of addressing modes in 8085
- Flat addressing vs hierarchical addressing
- Addressing modes of 8086
- Addressing modes of 8086 microprocessor
- Addressing mode in computer architecture
- Circular addressing mode
- Addressing modes in sic/xe
- Mov a, 3000 h is legal illegal
- Addressing modes of 8051 microcontroller
- Addressing modes of atmega32
- Sic/xe instruction set
- Addressing modes of 8086
- Cisc assembly language
- Based addressing mode in 8086
- Addressing modes in microprocessor
- 68000 addressing modes
- Xbpe
- I8051
- Addressing modes
- Types of ventilator modes
- Addressing dyslexia toolkit
- Addressing concerns and earning commitment
- Hlt addressing mode
- Based indexed addressing mode example
- Protected mode memory addressing
- Network address block
- Classful addressing