This shows you the differences between two versions of the page.
| en:multiasm:piot:chapter_4_3 [2024/09/27 20:19] – created pczekalski | en:multiasm:piot:chapter_4_3 [2025/05/31 06:20] (current) – marcin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Registers ====== | ====== Registers ====== | ||
| + | |||
| + | Registers are a key element of AVR microcontrollers. There are various types of registers, including general-purpose, | ||
| + | |||
| + | AVR CPU General Purpose Working Registers (R0-R31) | ||
| + | |||
| + | **R0-R15: | ||
| + | Basic general-purpose registers used for various arithmetic and logical operations. | ||
| + | |||
| + | **R16-R31: | ||
| + | General-purpose registers that can be used with immediate | ||
| + | | ||
| + | {{: | ||
| + | |||
| + | **The X-register, Y-register, and Z-register: | ||
| + | address pointers for indirect addressing | ||
| + | R26-R31: These registers have additional functions as 16-bit address pointers for indirectly addressing the data space. They are defined as X, Y, and Z registers. | ||
| + | |||
| + | |||
| + | **Other registers: | ||
| + | |||
| + | RAMPX, RAMPY, RAMPZ: Registers concatenated with the X-, Y-, and Z-registers, | ||
| + | |||
| + | RAMPD: Register concatenated with the Z-register, enabling direct addressing of the whole data space on MCUs with more than 64 KB data space. | ||
| + | |||
| + | EIND: Register concatenated with the Z-register, enabling indirect jump and call to the entire program space on MCUs with more than 64K words (128 KB) of program space. | ||
| + | |||