
- •1.Общая структура эвм
- •2.Общая архитектура микропроцессора
- •3.Работа микроЭвм.
- •4.Полупроводниковая память и её использование в микропроцессорной технике.
- •5.Эксплуатационные параметры зу.
- •6.Режимные параметры зу
- •7.Структура 2d.
- •8.Структура 3d
- •11.Статическая память (sram)
- •12.Зэ динамические зу
- •14.Внешняя организация и временные диаграммы динамических зу.
- •15.Постоянные Запоминающие Устройства пзу.
- •16.Однократно (электрически) программируемые пзу.
- •17.Репрограммируемые пзу.
- •22.Структура элементарного микропроцессора.
- •24.Функционирование микропроцессорной системы
- •26.Микропроцессор
- •27.Обработка микропроцессором требования прерывания.
- •28.Прерывание с программным опросом.
- •29.Векторная система прерываний.
- •30.Структура приоритетов.
- •31.Синхронизация микропроцессорной системы.
- •32.Программирование микропроцессоров.
- •33.Архитектурные особенности современных микропроцессоров.
- •34.Иерархическая структура памяти.
- •36. Архитектурно независимая спецификация программ.
- •38.Универсальные микропроцессоры.
- •39.Микропроцессор с архитектурой х86.
- •45.Структурная схема базовой модели микропроцессора семейства х86
- •46.Однокристальные микро эвм (микроконтроллеры).
32.Программирование микропроцессоров.
Программирование – описание последовательности действий, которые должна выполнять микропроцессорная система, для решения поставленной задачи. Важно подчеркнуть, что микропроцессор выполняет только то, что ему приписывает программист и не более того. Программист должен сообщать микропроцессору абсолютно всё, что нужно делать и точно, шаг за шагом описать, как это выполнять. Для программирования работы системы на основе микропроцессора требуется описание процесса решения задачи с учётом возможностей данного микропроцессора и связанных с ним конкретных устройств. Описание процесса решения задачи таким образом, чтобы её могла решить микропроцессорная система, являющаяся основной частью того, что называется программированием.
Результат такого описания решения задачи именуют алгоритмами. Если алгоритм составлен, его нужно закодировать, т.е. представить в виде последовательности машинных команд, осуществляющих решение задачи.
Поскольку каждая модель микропроцессора имеет свой специфический набор команд, программа должна быть написана и использованием только этих команд. Составить программу, означает описать алгоритмы на языке данной микропроцессорной системы, т.е. посредством команд, которые способен выполнять данный микропроцессор, а каждый тип микропроцессора располагает своим набором команд.
Запись алгоритма посредством команд микропроцессором называется кодированием, а исполненные для этого команды – исходным кодом. Поскольку для функционирования микропроцессорной системы нужны двигательные команды, исходный код подлежит трансляции, т.е. переводу в так называемый объектный код, являющийся основным представлением исходного кода.
Машинный язык и ассемблер.
На своём рабочем уровне микропроцессор реагирует на список операций, называемый машинным языком.
Пример программирования на двоичном языке в машинном коде:
Представленную в такой форме программу понять очень трудно, однако её восприятие упрощается, если записать содержимое ячеек в 16–тиричном коде:
В ещё более удобной форме эта программа могла бы иметь следующий вид:
1. загрузить двоичное число 10110100 в аккумулятор.
2. инвертировать каждый двоичный разряд содержания аккумулятора.
3. поместить результат инверсии в ячейку памяти 2100Н и только на этом этапе становится ясно, что данная программа осуществила перевод двоичного 8–миразрядного числа в инверсную форму (обратный код). Возникает вопрос: каким образом перейти от языка, понятного человеку, к языку, понятному микропроцессору? Ответ состоит в использовании языка программирования, называемого ассемблером. Программирование на языке ассемблер до недавнего времени являлось наиболее распространённым. При работе с микропроцессором ассемблер использует слова и фразы в виде сокращённого написания или аббревиатуры английских слов, так называемые мнемонические обозначения, преобразуя их в машинные коды микропроцессора. Обычно фраза или заданная величина на языке ассемблер соответствует выражению длиной от 1 до 3–х байт машинного языка.
Суть и процедура ассемблирования.
Преобразования операторов языка ассемблера в машинные команды можно пояснить следующим образом:
Здесь вторая
команда нашей программы инвертировать
каждый второй разряд содержимого
аккумулятора, представлена мнемоникой
из трёх букв (СМА = 3 байта). Сначала каждая
буква переводится в её двоичный эквивалент
в ASCII коде,
затем полученные 3 кода преобразуются
в определённый порядок специальной
программой ассемблера, которая выдаёт
код операции содержимого аккумулятора
на машинном языке, это код 00101111 или
.
Таким образом, мнемоника трёх букв (3 байта) преобразована в 1 байт кода машинного языка. Эта программа, записанная программистом на бумаге, может иметь следующий вид, что и будет языком ассемблера:
Метка |
Мнемоника |
Операнд |
Комментарий |
|
MVT |
A, D4H |
Загрузить в аккумулятор данные, следующие непосредственно за кодом операции (В4Н) |
|
CMA |
|
Инвертировать содержимое аккумулятора |
|
STA |
2100Н |
Разместить (STA) содержимое аккумулятора в ячейку памяти 2100Н |
|
HLT |
|
Остановить микропроцессор |
MVI – move immediate
STA – stove address
HLT – halt
Обычным является деление программы на 4 поля: метка, мнемоника, операнд и комментарий. Поле метки используется не всегда. Поле мнемоники содержит точную мнемонику, установленную разработчиком микропроцессора. Она указывает программе ассемблер операцию для выполнения. Поле операнд содержит информацию о регистрах, данных и адресах, объединяющих данной операцией. Используя информацию только полей мнемоники и операнда, транслятор выдаёт код на машинном языке. поле комментариев ассемблером не учитывается. Оно ими просто перепечатывается. Время выполнения программой от количества и объёма комментариев не зависит.
Поле комментариев очень важно, так как позволяет понять события в программе, таким образом, задача ассемблирования состоит из 2–х этапов:
-
перевод мнемоники и операндов ассемблера на машинный язык
-
последовательное назначение ячеек памяти к каждому коду операции и каждому операнду.
В принципе, переход от ассемблера к машинному языку может быть выполнен вручную. Однако специальные программы трансляции, называемые ассемблерами, снимают с человека рутинную работу.
Программу, составленную из символичных команд ассемблер, называют исходной. А программу, переведённую на машинный язык – объектный. Таким образом, объектная программа является двоичным представлением исходной программы.
Язык программирования – набор команд и правил их применения для описания алгоритма решения задачи с целью составления программы работы микропроцессорной системы, выполняющей это решение. Разные ячейки программы имеют разную степень сходства с естественным языком человека. Языки программирования, имеющие высокую степень сходства с человеческим, называют языками высокого уровня. Они значительно проще для понимания человеком.