0% found this document useful (0 votes)
5 views3 pages

Addressing Modes of 8051

The document discusses the various addressing modes of the 8051 microcontroller, detailing six types: Immediate, Register, Direct, Register Indirect, Indexed, and Implied Addressing Modes. Each mode is explained with examples, highlighting how data is accessed and manipulated within the microcontroller's architecture. Additionally, it notes the instruction execution times and the structure of opcodes in the 8051 system.

Uploaded by

chinnnareddy2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views3 pages

Addressing Modes of 8051

The document discusses the various addressing modes of the 8051 microcontroller, detailing six types: Immediate, Register, Direct, Register Indirect, Indexed, and Implied Addressing Modes. Each mode is explained with examples, highlighting how data is accessed and manipulated within the microcontroller's architecture. Additionally, it notes the instruction execution times and the structure of opcodes in the 8051 system.

Uploaded by

chinnnareddy2004
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Page 1 of 4

Addressing modes of 8051


Microprocessor 8085

In this section, we will see different addressing modes of the 8051 microcontrollers. In 8051
there are 1-byte, 2-byte instructions and very few 3-byte instructions are present. The opcodes
are 8-bit long. As the opcodes are 8-bit data, there are 256 possibilities. Among 256, 255
opcodes are implemented.

The clock frequency is12MHz, so 64 instruction types are executed in just 1 µs, and rest are just 2
µs. The Multiplication and Division operations take 4 µsto to execute.

In 8051 There are six types of addressing modes.

Immediate AddressingMode
Register AddressingMode
Direct AddressingMode
Register IndirectAddressing Mode
Indexed AddressingMode
Implied AddressingMode

Immediate addressing mode


In this Immediate Addressing Mode, the data is provided in the instruction itself. The data is
provided immediately after the opcode. These are some examples of Immediate Addressing
Mode.

MOVA, #0AFH;
MOVR3, #45H;
MOVDPTR, #FE00H;

In these instructions, the # symbol is used for immediate data. In the last instruction, there is
DPTR. The DPTR stands for Data Pointer. Using this, it points the external data memory location.
In the first instruction, the immediate data is AFH, but one 0 is added at the beginning. So when
the data is starting with A to F, the data should be preceded by 0.
Page 2 of 4

Register addressing mode


In the register addressing mode the source or destination data should be present in a register (R0
to R7). These are some examples of RegisterAddressing Mode.

MOVA, R5;
MOVR2, #45H;
MOVR0, A;

In 8051, there is no instruction like MOVR5, R7. But we can get the same result by using this
instruction MOV R5, 07H, or by using MOV 05H, R7. But this two instruction will work when the
selected register bank is RB0. To use another register bank and to get the same effect, we have
to add the starting address of that register bank with the register number. For an example, if the
RB2 is selected, and we want to access R5, then the address will be (10H + 05H = 15H), so the
instruction will look like this MOV 15H, R7. Here 10H is the starting address of Register Bank 2.

Explore our latest online courses and learn new skills at your own pace. Enroll and become a
certified expert to boost your career.

Direct Addressing Mode


In the Direct Addressing Mode, the source or destination address is specified by using 8-bit data
in the instruction. Only the internal data memory can be used in this mode. Here some of the
examples of direct Addressing Mode.

MOV80H, R6;
MOVR2, 45H;
MOVR0, 05H;

The first instruction will send the content of registerR6 to port P0 (Address of Port 0 is 80H). The
second one is forgetting content from 45H to R2. The third one is used to get data from Register
R5 (When register bank RB0 is selected) to register R5.

Register indirect addressing Mode


In this mode, the source or destination address is given in the register. By using register indirect
addressing mode, the internal or external addresses can be accessed. The R0 and R1 are used for
8-bit addresses, and DPTR is used for 16-bit addresses, no other registers can be used for
addressing purposes. Let us see some examples of this mode.

MOV0E5H, @R0;
Page 3 of 4

MOV@R1, 80H

In the instructions, the @ symbol is used for register indirect addressing. In the first instruction, it
is showing that theR0 register is used. If the content of R0 is 40H, then that instruction will take
the data which is located at location 40H of the internal RAM. In the second one, if the content of
R1 is 30H, then it indicates that the content of port P0 will be stored at location 30H in the
internal RAM.

MOVXA, @R1;
MOV@DPTR, A;

In these two instructions, the X in MOVX indicates the external data memory. The external data
memory can only be accessed in register indirect mode. In the first instruction if the R0 is holding
40H, then A will get the content of external RAM location40H. And in the second one, the content
of A is overwritten in the location pointed by DPTR.

Indexed addressing mode


In the indexed addressing mode, the source memory can only be accessed from program memory
only. The destination operand is always the register A. These are some examples of Indexed
addressing mode.

MOVCA, @A+PC;
MOVCA, @A+DPTR;

The C in MOVC instruction refers to code byte. For the first instruction, let us consider A holds
30H. And the PC value is1125H. The contents of program memory location 1155H (30H + 1125H)
are moved to register A.

Implied Addressing Mode


In the implied addressing mode, there will be a single operand. These types of instruction can
work on specific registers only. These types of instructions are also known as register specific
instruction. Here are some examples of Implied Addressing Mode.

RLA;
SWAPA;

These are 1- byte instruction. The first one is used to rotate the A register content to the Left. The
second one is used to swap the nibbles in A.

You might also like