Skip to content

arch_avr_notes_ru

Serge Vakulenko edited this page Aug 26, 2015 · 1 revision

Особенности архитектуры AVR

Распределение регистров AVR: | Регистр | Описание | |:-----------------------|:-------------| | R0 | Временный регистр | | R1 | Всегда содержит 0 | | R2...R17, R28-R29 | Сохраняемые регистры | | R18...R27, R30-R31 | Несохраняемые регистры |

Передача параметров при вызове функции: | Вызов | Параметр 1 | Параметр 2 | Параметр 3 | Параметр 4 | |:-----------------------|:---------------|:---------------|:---------------|:---------------| | f (p8, p8) | R25 | R24 | --- | --- | | f (p8, p8, p8, p8) | R25 | R24 | R23 | R22 | | f (p16, p16) | R25:24 | R23:22 | --- | --- | | f (p16, p16, p16) | R25:24 | R23:22 | R21:20 | --- | | f (p32, p32) | R25:24:23:22 | R21:20:19:18 | --- | --- | | f (p32, p32, p32) | R25:24:23:22 | R21:20:19:18 | R17:16:15:14 | --- | | f (p8, p16, p32) | R25 | R24:23 | R22:21:20:19 | --- | (старший байт слева, млдший справа)

Возвращаемое значение: | Размер | Регистры | |:-----------|:-------------| | p8 | R25:24 (R25=0) | | p16 | R25:24 | | p32 | R25:24:23:22 |

Параметры оператора ''asm'': | Символ | Описание | Диапазон | |:-----------|:-------------------------------------|:-------------| | a | Простые старшие регистры | R16...R23 | | b | Пары-указатели Y-Z | Y, Z | | d | Старшие регистры | R16...R31 | | e | Пары-указатели X-Z | X, Y, Z | | I | 6-битная целая константа | 0...63 | | J | 6-битная отрицательная целая константа | -63...0 | | l | Младшие регистры | R0...R15 | | M | 8-битная целая константа | 0...255 | | O | Целая константа 8, 16, 24 | 8, 16, 24 | | r | Любой регистр | R0...R31 | | w | Специальные пары | R24, R26, R28, R30 |

При прерывании, состояние регистров сохраняется в стеке текущей задачи: | Стек | |:--------------------| | --- | | --- | | PC младший байт | <--- Значение SP до прерывания | | PC старший байт | | R31 | | SREG | Бит I равен 1 (прерывания разрешены) | | R30 | | R29 | | ... | | R1 | | R0 | | --- | <--- Новое значение SP |

You can’t perform that action at this time.