- •Роль микропроцессорной техники в мехатронных устройствах.
- •Способы представления двоичного кода в электронных устройствах.
- •История развития микропроцессоров.
- •Основные понятия. Микропроцессор, физическая и логическая организация, архитектура.
- •Основные типы архитектур. Неймановская и гарвардская архитектура.
- •Основные понятия. Программа, команда, объектный код, мнемокод.
- •Командный цикл. Фазы командного цикла.
- •Структурная схема микро-эвм на базе микропроцессора.
- •Регистры данных микропроцессора.
- •Регистры адреса микропроцессора.
- •Специальные регистры микропроцессора. Флаги, генерируемые микропроцессором
- •Регистры общего назначения микропроцессора.
- •Счетчик команд микропроцессора. Работа счетчика команд.
- •Понятие стека, назначение и организация.
- •Указатель стека микропроцессора. Работа указателя стека.
- •Классификация микропроцессоров по числу бис в комплекте и по разрядности.
- •Классификация микропроцессоров по назначению и виду обрабатываемых сигналов.
- •Классификация микропроцессоров по характеру временной организации работы и по количеству выполняемых программ
- •Особенности программного обеспечения микропроцессорных систем. Понятие транслятора. Виды трансляторов.
- •Языки Ассемблера. Номенклатура, характеристики
- •Элементы языка ассемблера для 8-ми разрядного микропроцессора.
- •Директивы языка ассемблера. Пример программы на языке ассемблера.
- •Преимущества применения однокристальных микропроцессоров при проектировании электронных измерительных устройств.
- •Состав регистров однокристального микропроцессора к1816ве48.
- •Банки рабочих регистров микропроцессора к1816ве48. Назначение и особенности.
- •Счетчик команд, указатель стека и регистр psw микропроцессора к1816ве48.
- •Флаги признаков микропроцессора к1816ве48
- •Организация памяти микропроцессора к1816ве48. Пространство внутренней памяти данных dseg.
- •Организация памяти микропроцессора к1816ве48. Пространство внутренней памяти программ cseg.
- •Организация памяти микропроцессора к1816ве48. Пространство внешней памяти данных xseg.
- •Система ввода-вывода микропроцессора к1816ве48. Порты ввода-вывода.
- •Службы реального времени микропроцессора к1816ве48. Таймер-счетчик: организация, возможности, программирование.
- •Службы реального времени микропроцессора к1816ве48. Система прерываний от внешнего источника запросов.
- •Службы реального времени микропроцессора к1816ве48. Система прерываний от таймера.
- •Генератор тактовых импульсов микропроцессора к1816ве48.
Языки Ассемблера. Номенклатура, характеристики
Assembler — язык программирования низкого уровня, представляющий собой формат записи машинных команд, удобный для восприятия человеком.
Команды языка ассемблера один в один соответствуют командам процессора и, фактически, представляют собой удобную символьную форму записи (мнемокод) команд и их аргументов. Также язык ассемблера обеспечивает базовые программные абстракции: связывание частей программы и данных через метки с символьными именами и директивы.
Достоинства и недостатки:
-минимальное количество избыточного кода (использование меньшего количества команд и обращений в память). Как следствие — большая скорость и меньший размер программы
-большие объемы кода, большое число дополнительных мелких задач
-плохая читабельность кода, трудность поддержки (отладка, добавление возможностей)
-трудность реализации парадигм программирования и любых других сколько-нибудь сложных конвенций, сложность совместной разработки
-меньшее количество доступных библиотек, их малая совместимость
-непосредственный доступ к аппаратуре: портам ввода-вывода, особым регистрам процессора
-возможность написания самомодифицирующегося кода (т.е. метапрограммирования, причем без необходимости программного интерпретатора)
-максимальная «подгонка» для нужной платформы (использование специальных инструкций, технических особенностей «железа»)
-непереносимость на другие платформы (кроме двоично совместимых)
Элементы языка ассемблера для 8-ми разрядного микропроцессора.
Исходная программа на языке ассемблера представляет собой последовательность операторов. Операторы обычно занимают одну строку. Ассемблер воспринимает операторы в свободном формате, т.е. элементам операторов не назначены фиксированные столбцы и между ними может быть любое число пробелов там, где это необходимо.
Операторы в исходной программе классифицируются как командные операторы, операторы распределения данных и директивы ассемблера.
Командные операторы определяют генерируемые ассемблером машинные команды; они содержат мнемонику и, при необходимости, один или два операнда. Каждый командный оператор порождает одну машинную команду, формат которой зависит от способа задания операндов.
Операторы распределения данных резервируют ячейки памяти для данных программы.
Директивы ассемблера содержат специальные указания для ассемблирующей программы и сами по себе не порождают никаких машинных кодов.
Общепринятого стандарта для синтаксиса языков ассемблера не существует. Однако, существуют стандарты де-факто — традиционные подходы, которых придерживаются большинство разработчиков языков ассемблера. Основными такими стандартами являются Intel-синтаксис и AT&T-синтаксис.
Общий формат записи инструкций одинаков для обоих стандартов:
`[метка:] опкод [операнды] [;комментарий]`
Опкод — непосредственно мнемоника инструкции процессору. К ней могут быть добавлены префиксы (повторения, изменения типа адресации и пр.). В качестве операндов могут выступать константы, названия регистров, адреса в оперативной памяти и пр.
Командные операторы записываются в следующем формате:
Метка: Префикс Мнемоника Операнд1,Операнд2 ;Комментарий
где фигурные скобки обозначают необязательные поля.
Директивы ассемблера и операторы распределения данных имеют несколько иной формат:
Имя Директива Операнды ;Комментарий