What Are Addressing Modes in Computer Architecture?

TL;DR
Addressing modes determine how the operand bits of an instruction should be interpreted, such as direct data, a memory address, or a register number. They support smaller instructions and programming features including variables, pointers, loops, indexing, and relocation. RISC systems generally use about four to six addressing modes, while CISC computers may provide many more.
Transcript
Hello friends, welcome to Gate Smashers In today's video, we are going to discuss what is an addressing mode and what are the types of addressing mode If we talk about computer organization and architecture then addressing mode is one of the most important topic because if you talk about any competitive exam or if you talk about college or univers... Read More
Key Insights
- An addressing mode defines how the operand bits in an instruction must be interpreted. Those bits can represent direct data, a memory address, a register number, or a reference that leads to another address containing the required data.
- An instruction generally contains an opcode and an operand. The opcode specifies an operation such as addition, subtraction, or multiplication, while the operand identifies the data or the means of locating the data on which that operation is performed.
- Runtime variables cannot always be placed directly inside an instruction because their values may become known only after another instruction executes or after a user supplies input through a function such as scanf.
- Register addressing can reduce instruction size because identifying one of 16 registers requires 4 bits, while identifying one location in a memory containing 1M words requires 20 bits for the address field.
- Indirect addressing supports pointer-like access by treating a stored value as another address. If location 100 contains 200, indirect mode directs the computer to location 200 and uses the data stored at that second location.
- Auto-increment and auto-decrement addressing support counters and looping behavior. A loop that progresses from 1 to 10 requires its counter to change automatically, and these addressing modes provide a mechanism for that incrementing or decrementing process.
- Indexed addressing provides a way to apply indexing when accessing data. It is one of the listed addressing modes, alongside implied, immediate, register, indirect, direct, auto-increment, auto-decrement, relative, and base-register modes.
- Relocation support allows a process to execute after moving to a different memory range. A jump originally intended for location 170 may need to target 570 when the process moves from the 100–200 range to the 500–600 range.
Install to Summarize YouTube Videos and Get Transcripts
Explore YouTube Video Summarizer or Get YouTube Transcript Extractor
Questions & Answers
Q: What is an addressing mode in computer architecture?
An addressing mode is the mechanism that tells the computer how to interpret the operand bits of an instruction. The bits might be direct data, the address of data in memory, the number of a register containing data, or an address that points to another address. This interpretation determines where the instruction obtains the data required for its operation.
Q: Why are addressing modes needed for program variables?
Addressing modes are needed because variable values are often unavailable when an instruction is written. A value may be calculated only after another instruction executes, or it may be supplied by a user at runtime through scanf. Instead of embedding an unknown value directly, the instruction can identify a memory location or register where the current value will be found.
Q: How do addressing modes reduce instruction size?
Addressing modes can reduce instruction size by allowing data to be accessed through registers instead of full memory addresses. In the example, addressing one of 1M memory words requires a 20-bit address. If the data is placed in one of 16 registers, only 4 bits are required to identify register numbers from 0 to 15, reducing the operand field.
Q: How does indirect addressing support pointers?
Indirect addressing treats the value found at one referenced location as the address of another location. For example, an operand may lead to memory location 100, which contains the value 200. Instead of treating 200 as the final data, indirect mode treats it as another address, visits location 200, and retrieves the actual data stored there.
Q: What programming features do addressing modes support?
Addressing modes support variables, runtime input, pointers, loops, counters, indexing, and relocation. They let instructions find values stored in memory or registers, follow pointer-style address chains, increment or decrement loop counters, access indexed data, and adjust references when a process is loaded into a memory range different from its earlier location.
Q: How do addressing modes help with loops and counters?
Auto-increment and auto-decrement addressing modes help manage values that must change repeatedly during execution. In the example of a loop running from 1 to 10, the counter must increase automatically after each iteration. These addressing modes provide that incrementing or decrementing behavior while the program continues accessing the data associated with the loop.
Q: How do addressing modes support memory relocation?
Addressing modes support relocation by allowing references to remain usable when a process moves to another memory range. If a process originally occupies locations 100 to 200, a jump to 170 is meaningful there. When the process moves to locations 500 to 600, the corresponding target becomes 570, so the address reference must be relocated accordingly.
Q: What types of addressing modes are introduced?
The introduced types include implied, immediate, register, indirect, direct, auto-increment, auto-decrement, relative, indexed, and base-register addressing modes. Each mode gives a different meaning to the operand bits or a different method for obtaining data. The transcript notes that their detailed explanations are reserved for subsequent videos in the series.
Summary & Key Takeaways
-
An instruction generally contains an opcode and an operand. The opcode identifies an operation such as addition, subtraction, or multiplication, while the operand relates to the required data. Addressing modes tell the computer whether the operand bits represent direct data, a memory address, a register number, or another form of reference.
-
Variables and user inputs often receive their values only while a program is executing. Their values therefore cannot always be embedded directly inside instructions. Addressing modes let instructions locate changing data in memory or registers, making them suitable for programs that depend on variables, runtime input, pointers, counters, and indexed data.
-
Addressing modes can reduce instruction size and support relocation. Addressing one location among 1M memory words requires 20 bits, while selecting one of 16 registers requires only 4 bits. Relative or related addressing methods also help instructions remain meaningful when a process moves from one memory range to another.
Read in Other Languages (beta)
Share This Summary 📚
Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator
Explore More Summaries from Gate Smashers 📚






Summarize YouTube Videos and Get Video Transcripts with 1-Click
Try YouTube Summary with ChatGPT & Claude or YouTube Transcript Generator