Download as pdf or txt
Download as pdf or txt
You are on page 1of 37

AVR ADDRESSING MODES

A) Register Addressing
Register Direct, Single Register Rd
Register Direct, Two Registers Rd and Rr
I/O Direct
B) Direct addressing
) Indirect addressing
Data Indirect
Data Indirect with Displacement

Data Indirect with Pre-decrement

Data Indirect with Post-increment

) Stack Addressing

Data transfer instructions


Return instructions
E) Program Memory (PM) addressing

Indirect Data (constants) addressing in PM


Indirect Data (constants) addressing with post-increment in PM

Direct Program addressing


Indirect Program Addressing

Relative Program Addressing

) Immediate addressing
A) Register Addressing

A1)
A2)
A3)

Applied in IN OUT instructions


B) Direct addressing

Entire Data Space (including GPR, I/O registers)


) Indirect addressing

1)

opcode, rd, X - opcode, X, rs :1 word instruction for the entire data space
2) 6 bit (64 locations, positive number)

Y+ q ( )
3)

Employed as indexed addressing





4)

Employed as indexed addressing





) Stack Addressing
1)

Number of cycles : 2
SREG unchanged
2)

Number of cycles : 4
bit of SREG is changed by RETI
E) Program Memory (PM) addressing
E1a) Indirect Data (constants) addressing in PM
Z pointer must be multiplied by two, in order to access bytes,
instead of words (program memory)

2 :
ldi ZH, high (2*Table_1)
ldi ZL, low (2*Table_1)
Table_1
E1b) Indirect Data (constants) addressing with post-increment in PM
E2) Direct Program addressing
E3) Indirect Program Addressing
E4) Relative Program Addressing
rjmp K rcall K [-2048+2047] words
Conditional Branches [-64+63] words
skip instructions +1 instruction
Conditional branch
Skip instruction
) Immediate addressing
Accessing positive constants

You might also like