X-register, y-register, and z- register, Alu – arithmetic logic unit, Attiny26(l) – Rainbow Electronics ATtiny26L User Manual
Page 8
8
ATtiny26(L)
1477B–AVR–04/02
All of the register operating instructions in the instruction set have direct and single cycle
access to all registers. The only exceptions are the five constant arithmetic and logic
instructions SBCI, SUBI, CPI, ANDI, and ORI between a constant and a register, and
the LDI instruction for load immediate constant data. These instructions apply to the
second half of the registers in the Register File – R16..R31. The general SBC, SUB, CP,
AND, and OR, and all other operations between two registers or on a single register
apply to the entire Register File.
As shown in Figure 3, each register is also assigned a data memory address, mapping
them directly into the first 32 locations of the user Data Space. Although not being phys-
ically implemented as SRAM locations, this memory organization provides flexibility in
access of the registers, as the X-, Y-, and Z-registers can be set to index any register in
the file.
X-register, Y-register, and Z-
register
The registers R26..R31 have some added functions to their general purpose usage.
These registers are address pointers for indirect addressing of the Data Space. The
three indirect address registers X, Y, and Z are defined as:
Figure 4. X-, Y-, and Z-register
In the different addressing modes, these address registers have functions as fixed dis-
placement, automatic increment and decrement (see the descriptions for the different
instructions).
ALU – Arithmetic Logic
Unit
The high-performance AVR ALU operates in direct connection with all 32 general pur-
pose working registers. Within a single clock cycle, ALU operations between registers in
the Register File are executed. The ALU operations are divided into three main catego-
ries – Arithmetic, Logical, and Bit-functions.
15
0
X-register
7
0
7
0
R27 ($1B)
R26 ($1A)
15
0
Y-register
7
0
7
0
R29 ($1D)
R28 ($1C)
15
0
Z-register
7
0
7
0
R31 ($1F)
R30 ($1E)