Передмова

  • Час 16-12-2014, 16:34
  • Автор admin
  • Число коментарів 0 Комент.
  • Силка url

Вітаю усіх любителів, фахівців і просто людей які цікавляться мікропроцесорною технікою!

За останні роки у мене накопичилася велика кількість самих різних напрацювань з програмування мікроконтролерів AVR. Трохи згрупувавши вже готовий матеріал, я вирішив оформити його у вигляді однієї цілісної книги. На самому початку я не знав, що у мене вийде, але тепер, останній раз переглядаючи матеріал, вирішив, що її формат - це підручник/довідник з програмування на мові асемблера в співвідношенні 40/60 %. У книзі висвітлено безліч різних аспектів програмування і, так чи інакше, порушені всі без винятку внутрішні модулі AVR. Але найголовніше це те, що переважна більшість програм запозичені з реально працюючих і перевірених часом програм.

Робота над книгою не викликала у мене жодних труднощів і пройшла дуже легко.

Стек

  • Час 16-12-2014, 16:34
  • Автор admin
  • Число коментарів 0 Комент.
  • Силка url

Стек являє собою область пам'яті, яку ЦПУ використовує для збереження і відновлення адрес повернення з підпрограм.
Практично у всіх мікроконтролерів AVR стек розміщується в SRAM. Для адресації поточного елемента (вершини стека) використовується покажчик стека SP (Stack Pointer). Це однобайтовий РВВ SPL у моделей з об'ємом пам'яті даних до 256 б, або багатобайтових SPH: SPL (SPH - старший байт, SPL - молодший байт).

Коли мікропроцесор зустрічає одну з інструкцій викликів rcall / call / ecall / icall / eicall, то адреса наступного за ними слова в пам'яті програм апаратно копіюється в стек. У момент виходу з підпрограми по команді ret адресу повернення відновлюється з стека в програмний лічильник. У моделях з об'ємом пам'яті програм 128 і 256 к / слів для збереження PC в стеку потрібно 3 байта, для всіх інших - 2 байти.