- •1. Основные понятия и определения мпс
- •2. Понятие об архитектуре мп. Классификация мп.
- •3.Обобщенная структура мп. Назначение элементов структуры.
- •4.Рабочий цикл мп. (цикл фон-Неймана).
- •8. Структурная схема к580вм80, назначение элементов
- •7. Уго к580вм80, назначение выводов
- •33) Алгоритм функционирования к580вм80
- •12. Организация памяти мпс.
- •11. Организация обмена информацией в мпс на базе к580вм80
- •10. Структура мпс на базе к580вм80, организация шин
- •9 Программная модель мп кр580вм80а имеет вид:
- •14 Режимы адресации к580вм80
- •13. Система команд микропроцессора к580.
- •15. Методика записи программ на ассемблере.
- •16. Структурная схема к1810вм86
- •17. Программная модель к1810вм86.
- •18. Сегментация памяти к1810вм86, методы адресации
- •1) Основные понятия и определения мпс
- •6. Режимы обмена в мпс
- •19. Уго к1810вм86, назначение выводов
- •20. Режимы обмена к1810вм86мк
- •21.Структура микроконтроллера atmel avr
- •23.Система команд, режимы адресации аа
- •24. Схемы портов ввода-вывода мк(в общем)
- •1.2.3. Двунаправленный порт ввода-вывода
- •1.2.4. Квазидвунаправленный порт ввода-вывода
- •1.2.5. Двунаправленный порт ввода-вывода с программным подключением «подтягивающих» резисторов
- •25. Схема порта аа
- •26. Назначение, структура и работа таймеров-счетчиков (в общем виде)
- •27. Схема работы и управление таймеров-счетчиков т0 аа
- •28. Генераторы шим сигналов на таймерах аа
- •29. Классификация последовательных интерфейсов
- •30. Организация последовательного интерфейса rs-232, формат кадра и управление последовательным интерфейсом в Atmel avr
- •31. Средства программно-аппаратной поддержки для разработки программ для Atmel avr
- •32. Структура программы мк Atmel avr
15. Методика записи программ на ассемблере.
Процы работают с двич.кодами команд и адресов. Для чела это сложно, удобнее работать с мнемокодами, кот-е в своём обозн-и содержат подсказку. Для ввода проги в мнемокодах требуется программа, преобразующая их в двоичные. Эта программа действует как «сборщик» на конвейере. Это Assembler. Если он нах-ся на том же проце, который программируем, то он естественный. Если на другом, более мощном, то Assembler наз-ся cross-Assembler’ом.
Рассмотрим простейшую программу, которая извлекает из ячейки памяти с адресом 0B00, инвертирует его и записывает в ячейку памяти 0В01.
Мнемокод:
LDA 0B00
CMA
STA 0B01
RST 1 // прервать выполнение программы
Адрес |
Содерж-е |
Комментарий |
|
|||||||
0800 |
3А 00 0B |
Чтение ячейки 0B00 |
|
|||||||
0803 |
2F |
Инвертировать |
|
|||||||
0804 |
32 01 0B |
Запись в память |
|
|||||||
0807 |
CF |
Переход по RST 1 |
|
|||||||
|
|
|
|
|
||||||
|
|
|
|
|||||||
|
|
|
|
|||||||
|
|
|
|
Адрес |
Маш. коды |
Метка |
Мнемокод |
Коммент |
0800 |
DB 20 |
CNT |
IN20 |
Чт.порта 20 |
0802 |
DB 30 |
|
OUT30 |
Выв.в порт 30 |
0804 |
03 00 08 |
|
JMP CNT |
Переход на CNT |
1. ORG (ORIGIN) формат: ORG <adr16> - определяет адрес ячейки памяти, в которой будет загружаться следующая команда.
2. EQU: формат - [имя] EQU <число>
Ассемблер присваивает символическому имени (идентификатору) конкретное значение, которое подставляет в программу везде, где встречается это имя.
3. SET: формат - [имя] SET <число>
Аналогично предыдущему. Отличие состоит в том, что ее можно использовать несколько раз, т.е. можно переписывать.
4. DB (DEFINE BYTE): формат - [метка] DB <список>
<список> - последовательность выражений, разделенных запятыми имеющих 8 битное значение или цепочка символов, заключенных в апострофы.
5. DW (DEFINE WORD): формат - [метка] DW <список>
Аналогичен предыдущему, но формат 16 битный. Последовательность значений: сначала младший бит, потом старший и далее по списку.
6. DS (DEFINE STORAGE) определить память.
Формат - [метка] DS <выражение>
Директива резервирует соответствующее выражению число ячеек памяти, но не обнуляет их.
7. END: формат - [метка:] END
Информирует ассемблер о достижении физического конца проги