SlideShare a Scribd company logo
OVERVIEW OF
ASSEMBLY
LANGUAGE
PREPARED BY
HADIUZZAMAN
ID - 17103139
CONTENTS
• What is Assembly language?
• Assembly language statements
• Data allocation
• Symbol Table
• Addressing mode
WHAT IS ASSEMBLY LANGUAGE?
• Assembly Language is a low-level programming language. It helps in
understanding the programming language to machine code.
ASSEMBLY LANGUAGE STATEMENTS
• Assembly language programs are created out of three different classes of
statements.
1. Executable instructions
2. Assembler directives
3. Macros
DATA ALLOCATION
• In the assembly language, allocation of storage space is done by the define
assembler directive.
• The define directive can be used to reserve and initialize one or more bytes.
• The general format of the storage allocation statement for initialized data is
variable-name define-directive initial-value [,initial-value],· ·
• The square brackets indicate optional items. The variable-name is used to identify
the storage space allocated.
DATA ALLOCATION
• The define directive takes one of the five basic forms:
• DB Define Byte ; allocates 1 byte
• DW Define Word ; allocates 2 bytes
• DD Define Doubleword ; allocates 4 bytes
• DQ Define Quadword ; allocates 8 bytes
• DT Define Ten Bytes ; allocates 10 bytes
ADDRESSING MODE
• There are four type of Addressing Mode
1. Register Addressing Mode
2. Immediate Addressing Mode
3. Direct Addressing Mode
4. Indirect Addressing Mode
REGISTER ADDRESSING MODE
• In this addressing mode, processor’s internal registers contain the data to be
manipulated by the instruction. For example,
mov EAX,EBX
• Note that The contents of EBX are not destroyed and the original contents of EAX
are lost.
• Register-addressing mode is the most efficient way of specifying data because
the data are within the processor and, therefore, no memory access is required.
IMMEDIATE ADDRESSING MODE
• In this addressing mode, data are specified as part of the instruction itself. As a
result, even though the data are in memory, it is located in the code segment, not
in the data segment.
mov AL, 75
DIRECT ADDRESSING MODE
• Operands specified in a memory-addressing mode require access to the main
memory, usually to the data segment.
• In the direct addressing mode, the offset value is specified directly as part of the
instruction. In an assembly language program, this value is usually indicated by
the variable name of the data item.
• The assembler will translate this name into its associated offset value during the
assembly process. To facilitate this translation, the assembler maintains a symbol
table.
INDIRECT ADDRESSING MODE
• In this addressing mode, the offset or effective address of the data is in one of the
general registers. For this reason, this addressing mode is sometimes referred to
as the register indirect addressing mode.
• The indirect addressing mode is not required for variables having only a single
element. But for variables like table1 containing several elements.
• the starting address of the data structure can be loaded into a register and then
the register acts as a pointer to an element in table1. By manipulating the
contents of the register, we can access different elements of table1.
Overview Of Assembly Language
Overview Of Assembly Language

More Related Content

What's hot

Part II: Assembly Fundamentals
Part II: Assembly FundamentalsPart II: Assembly Fundamentals
Part II: Assembly Fundamentals
Ahmed M. Abed
 
Parallel programming model, language and compiler in ACA.
Parallel programming model, language and compiler in ACA.Parallel programming model, language and compiler in ACA.
Parallel programming model, language and compiler in ACA.
MITS Gwalior
 
Cs1123 2 comp_prog
Cs1123 2 comp_progCs1123 2 comp_prog
Cs1123 2 comp_prog
TAlha MAlik
 
Data Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelData Parallel and Object Oriented Model
Data Parallel and Object Oriented Model
Nikhil Sharma
 
system-software-tools
system-software-toolssystem-software-tools
system-software-tools
Temesgen Molla
 
19. Distributed Databases in DBMS
19. Distributed Databases in DBMS19. Distributed Databases in DBMS
19. Distributed Databases in DBMS
koolkampus
 
08 subprograms
08 subprograms08 subprograms
08 subprograms
baran19901990
 
Hm system programming class 1
Hm system programming class 1Hm system programming class 1
Hm system programming class 1
Hitesh Mohapatra
 
Flow control in computer
Flow control in computerFlow control in computer
Flow control in computer
rud_d_rcks
 

What's hot (9)

Part II: Assembly Fundamentals
Part II: Assembly FundamentalsPart II: Assembly Fundamentals
Part II: Assembly Fundamentals
 
Parallel programming model, language and compiler in ACA.
Parallel programming model, language and compiler in ACA.Parallel programming model, language and compiler in ACA.
Parallel programming model, language and compiler in ACA.
 
Cs1123 2 comp_prog
Cs1123 2 comp_progCs1123 2 comp_prog
Cs1123 2 comp_prog
 
Data Parallel and Object Oriented Model
Data Parallel and Object Oriented ModelData Parallel and Object Oriented Model
Data Parallel and Object Oriented Model
 
system-software-tools
system-software-toolssystem-software-tools
system-software-tools
 
19. Distributed Databases in DBMS
19. Distributed Databases in DBMS19. Distributed Databases in DBMS
19. Distributed Databases in DBMS
 
08 subprograms
08 subprograms08 subprograms
08 subprograms
 
Hm system programming class 1
Hm system programming class 1Hm system programming class 1
Hm system programming class 1
 
Flow control in computer
Flow control in computerFlow control in computer
Flow control in computer
 

Similar to Overview Of Assembly Language

EC8691-MPMC-PPT.pptx
EC8691-MPMC-PPT.pptxEC8691-MPMC-PPT.pptx
EC8691-MPMC-PPT.pptx
Manikandan813397
 
Data base chapter 5 | complete details
Data base chapter 5  |  complete detailsData base chapter 5  |  complete details
Data base chapter 5 | complete details
hoseg78377
 
Addressing modes, Operations in the instruction set 1.2.3 (1).pptx
Addressing modes, Operations in the instruction set 1.2.3 (1).pptxAddressing modes, Operations in the instruction set 1.2.3 (1).pptx
Addressing modes, Operations in the instruction set 1.2.3 (1).pptx
AmarRaj22
 
Unit 3 sp assembler
Unit 3 sp assemblerUnit 3 sp assembler
Unit 3 sp assembler
Deepmala Sharma
 
Assembler
AssemblerAssembler
Assembler
Temesgen Molla
 
Memory management
Memory managementMemory management
Memory management
PATELARCH
 
DB2 LUW V11.1 CERTIFICATION TRAINING PART #1
DB2 LUW V11.1 CERTIFICATION TRAINING PART #1DB2 LUW V11.1 CERTIFICATION TRAINING PART #1
DB2 LUW V11.1 CERTIFICATION TRAINING PART #1
sunildupakuntla
 
Addressing Modes
Addressing ModesAddressing Modes
Addressing Modes
AnkonGopalBanik
 
Assembly Language for as level computer science
Assembly Language for as level computer scienceAssembly Language for as level computer science
Assembly Language for as level computer science
variedongz
 
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical ExpressionsUnit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
dubon07
 
8. data types
8. data types8. data types
Sap abap
Sap abapSap abap
Sap abap
nrj10
 
Introduction of Database
Introduction of Database Introduction of Database
Introduction of Database
PadmapriyaA6
 
Embedded C
Embedded CEmbedded C
Computer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptxComputer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptx
ManimegalaM3
 
Compiler Construction
Compiler ConstructionCompiler Construction
Compiler Construction
Ahmed Raza
 
14 db system
14 db system14 db system
14 db system
Vivek Kumar
 
DBMS CONCEPT
DBMS CONCEPTDBMS CONCEPT
DBMS CONCEPT
Vivek Kumar
 
unit 2.pptx
unit 2.pptxunit 2.pptx
unit 2.pptx
rrbornarecm
 
Instruction-Sets-2.pptx
Instruction-Sets-2.pptxInstruction-Sets-2.pptx
Instruction-Sets-2.pptx
ClaivemaxGonzales
 

Similar to Overview Of Assembly Language (20)

EC8691-MPMC-PPT.pptx
EC8691-MPMC-PPT.pptxEC8691-MPMC-PPT.pptx
EC8691-MPMC-PPT.pptx
 
Data base chapter 5 | complete details
Data base chapter 5  |  complete detailsData base chapter 5  |  complete details
Data base chapter 5 | complete details
 
Addressing modes, Operations in the instruction set 1.2.3 (1).pptx
Addressing modes, Operations in the instruction set 1.2.3 (1).pptxAddressing modes, Operations in the instruction set 1.2.3 (1).pptx
Addressing modes, Operations in the instruction set 1.2.3 (1).pptx
 
Unit 3 sp assembler
Unit 3 sp assemblerUnit 3 sp assembler
Unit 3 sp assembler
 
Assembler
AssemblerAssembler
Assembler
 
Memory management
Memory managementMemory management
Memory management
 
DB2 LUW V11.1 CERTIFICATION TRAINING PART #1
DB2 LUW V11.1 CERTIFICATION TRAINING PART #1DB2 LUW V11.1 CERTIFICATION TRAINING PART #1
DB2 LUW V11.1 CERTIFICATION TRAINING PART #1
 
Addressing Modes
Addressing ModesAddressing Modes
Addressing Modes
 
Assembly Language for as level computer science
Assembly Language for as level computer scienceAssembly Language for as level computer science
Assembly Language for as level computer science
 
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical ExpressionsUnit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
Unit 4 - Basic ABAP statements, ABAP Structures and ABAP Logical Expressions
 
8. data types
8. data types8. data types
8. data types
 
Sap abap
Sap abapSap abap
Sap abap
 
Introduction of Database
Introduction of Database Introduction of Database
Introduction of Database
 
Embedded C
Embedded CEmbedded C
Embedded C
 
Computer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptxComputer_Organization and architecture _unit 1.pptx
Computer_Organization and architecture _unit 1.pptx
 
Compiler Construction
Compiler ConstructionCompiler Construction
Compiler Construction
 
14 db system
14 db system14 db system
14 db system
 
DBMS CONCEPT
DBMS CONCEPTDBMS CONCEPT
DBMS CONCEPT
 
unit 2.pptx
unit 2.pptxunit 2.pptx
unit 2.pptx
 
Instruction-Sets-2.pptx
Instruction-Sets-2.pptxInstruction-Sets-2.pptx
Instruction-Sets-2.pptx
 

Recently uploaded

GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
SOCRadar
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 

Recently uploaded (20)

GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
socradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdfsocradar-q1-2024-aviation-industry-report.pdf
socradar-q1-2024-aviation-industry-report.pdf
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 

Overview Of Assembly Language

  • 2. CONTENTS • What is Assembly language? • Assembly language statements • Data allocation • Symbol Table • Addressing mode
  • 3. WHAT IS ASSEMBLY LANGUAGE? • Assembly Language is a low-level programming language. It helps in understanding the programming language to machine code.
  • 4. ASSEMBLY LANGUAGE STATEMENTS • Assembly language programs are created out of three different classes of statements. 1. Executable instructions 2. Assembler directives 3. Macros
  • 5. DATA ALLOCATION • In the assembly language, allocation of storage space is done by the define assembler directive. • The define directive can be used to reserve and initialize one or more bytes. • The general format of the storage allocation statement for initialized data is variable-name define-directive initial-value [,initial-value],· · • The square brackets indicate optional items. The variable-name is used to identify the storage space allocated.
  • 6.
  • 7. DATA ALLOCATION • The define directive takes one of the five basic forms: • DB Define Byte ; allocates 1 byte • DW Define Word ; allocates 2 bytes • DD Define Doubleword ; allocates 4 bytes • DQ Define Quadword ; allocates 8 bytes • DT Define Ten Bytes ; allocates 10 bytes
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. ADDRESSING MODE • There are four type of Addressing Mode 1. Register Addressing Mode 2. Immediate Addressing Mode 3. Direct Addressing Mode 4. Indirect Addressing Mode
  • 14. REGISTER ADDRESSING MODE • In this addressing mode, processor’s internal registers contain the data to be manipulated by the instruction. For example, mov EAX,EBX • Note that The contents of EBX are not destroyed and the original contents of EAX are lost. • Register-addressing mode is the most efficient way of specifying data because the data are within the processor and, therefore, no memory access is required.
  • 15. IMMEDIATE ADDRESSING MODE • In this addressing mode, data are specified as part of the instruction itself. As a result, even though the data are in memory, it is located in the code segment, not in the data segment. mov AL, 75
  • 16. DIRECT ADDRESSING MODE • Operands specified in a memory-addressing mode require access to the main memory, usually to the data segment. • In the direct addressing mode, the offset value is specified directly as part of the instruction. In an assembly language program, this value is usually indicated by the variable name of the data item. • The assembler will translate this name into its associated offset value during the assembly process. To facilitate this translation, the assembler maintains a symbol table.
  • 17.
  • 18. INDIRECT ADDRESSING MODE • In this addressing mode, the offset or effective address of the data is in one of the general registers. For this reason, this addressing mode is sometimes referred to as the register indirect addressing mode. • The indirect addressing mode is not required for variables having only a single element. But for variables like table1 containing several elements. • the starting address of the data structure can be loaded into a register and then the register acts as a pointer to an element in table1. By manipulating the contents of the register, we can access different elements of table1.