asm

Первый проект на ассемблере AVR ATmega в AVR Studio

Так уж сложилось, что к большинству статей я прикладываю исходники в виде проекта, или схему или ещё чего... Долго думал, что же "приложить" к этой статье.. Ох уж этот асм..

Проект на языке ассемблера для AVR контроллеров создать не особо сложно (утверждение касается только этого - "пилотного" проекта). Буду предполагать, что читатель знаком с основами языка ассемблера, и различает команды от директив.

Вычисление логических функций в МП методом таблиц истинности на ассемблере

Одним из методов вычисления логических функций в микропроцессорах на языках ассемблера является - метод таблиц истинности. При этом в памяти МП размещается полная таблица истинности данной логической функции, после чего зная входные данные можно вычислить результат.

В микропроцессорах x86 делается это так.

В памяти размещаем данные.

Я использую обычный виндовский дебагер (Пуск -- Выполнить -- debug).

Вводим данные с 100 ячейки текущего сегмента:

a 100

Для ввода таблици истинности используется директива db :

Сложение числе в asm

Статьи на асемблерную тематику начну со статьи про сложение чисел. Думаю читателю будет слишком нудно читать кучу нравоучений на тему какой асм крутой и т.п.

Итак сложение числе.

Чтобы отдать дань теории упомяну, что в микропроцессорной технике все строится на данных, которые находятся в регистрах (играют роль сверхбыстрой памяти) и памяти.
Сложение производится при помощи команд ADD и ADC (учитывает перенос).

Итак. Допустим мы имеем 2 числа в регистрах AL и BL . Это однобайтные регистры.

"Писать" будем в стандартном виндовском дебагере.