11
ATmega161(L)
1228B–09/01
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 the 32 general
purpose working registers. Within a single clock cycle, ALU operations between regis-
ters in the register file are executed. The ALU operations are divided into three main
categories – arithmetic, logical and bit functions. ATmega161 also provides a powerful
multiplier supporting both signed/unsigned multiplication and fractional format. See the
Instruction Set section for a detailed description.
Self-programmable Flash
Program Memory
The ATmega161 contains 16K bytes of On-chip Self-programmable and In-System Pro-
grammable Flash memory for program storage. Since all instructions are 16- or 32-bit
words, the Flash is organized as 8K x 16. The Flash memory has an endurance of at
least 1,000 write/erase cycles. The ATmega161 program counter (PC) is 13 bits wide,
thus addressing the 8,192 program memory locations.
See page 108 for a detailed description of Flash data downloading.
See page 13 for the different program memory addressing modes.
EEPROM Data Memory
The ATmega161 contains 512 bytes of data EEPROM memory. It is organized as a sep-
arate data space in which single bytes can be read and written. The EEPROM has an
endurance of at least 100,000 write/erase cycles per location. The interface between the
EEPROM and the CPU is described on page 60, specifying the EEPROM address reg-
isters, the EEPROM data register and the EEPROM control register.
For the SPI data downloading, see page 123 for a detailed description.