Скачать презентацию Микропроцессоры ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРА Лекция 12 МАШИННЫЙ ЯЗЫК Скачать презентацию Микропроцессоры ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРА Лекция 12 МАШИННЫЙ ЯЗЫК

mp_12.ppt

  • Количество слайдов: 19

Микропроцессоры ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРА Лекция 12 Микропроцессоры ПРОГРАММИРОВАНИЕ МИКРОПРОЦЕССОРА Лекция 12

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • На своем рабочем уровне микропроцессор реагирует на список операций, МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • На своем рабочем уровне микропроцессор реагирует на список операций, называемый машинной программой. • На рис. 6. 1, а приведено содержимое памяти, являющееся программой на машинном языке. Эта программа начинается с адреса 2000 Н с содержимым КОП 0011 11102 и оканчивается адресом 2006 Н с содержимым 0111 0110 г. • Человеку практически невозможно понять программу, представленную в такой форме.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Программа на машинном языке на рис. 6. 1, а МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Программа на машинном языке на рис. 6. 1, а становится несколько проще для восприятия, когда она представлена в шестнадцатеричном коде (Н-коде), как показано на рис. 6. 3, б. • Однако, хотя двоичные данные приведены в шестнадцатеричном коде, эта часть программы всегда рассматривается как заданная на машинном языке и оказывается трудной для понимания.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • В более приемлемой форме записанная на машинном языке она МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • В более приемлемой форме записанная на машинном языке она могла бы выглядеть так: • 1. Загрузить двоичное число (1011 0100) в аккумулятор. • 2. Инвертировать каждый двоичный бит содержимого аккумулятора. • 3. Поместить результаты инверсии в ячейку памяти данных 2100 Н.

Процесс АССЕМБЛИРОВАНИЯ • СМА от Complement Accumulator (англ. )—дополнить аккумулятор. Имеется в виду дополнение Процесс АССЕМБЛИРОВАНИЯ • СМА от Complement Accumulator (англ. )—дополнить аккумулятор. Имеется в виду дополнение до 1, т. е. инвертирование или формирование обратного кода числа, содержащегося в аккумуляторе.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Суть и процедура ассемблирования показаны на рис. 6. 2, МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Суть и процедура ассемблирования показаны на рис. 6. 2, где, например, вторая команда программы представлена единственной мнемоникой из трех букв СМА (инвертировать содержимое аккумулятора)1. • Сначала три буквы переведены в их эквивалент в коде ASС II, • затем три кода ASС II преобразованы в определенный порядок специальной программой ассемблера, которая выдает код инверсии содержимого аккумулятора на машинном языке, т. е. 0010 11112 в данном случае или 2 FH. • Мнемоника преобразована в один единственный байт машинного языка.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР Таблица 6. 1. Программа на языке ассемблер Метка Мнемоника Операнд МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР Таблица 6. 1. Программа на языке ассемблер Метка Мнемоника Операнд Комментарий MVI А, В 4 Н Загрузить в аккумулятор данные, следующие непосредственно: В 4 Н СМА STA HLT Инвертировать содержимое аккумулятора 21 ООН Разместить содержимое аккумулятора Остановить МП

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Программа на языке ассемблер, записанная человеком, могла бы быть МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Программа на языке ассемблер, записанная человеком, могла бы быть представлена в виде табл. 6. 1. • Обычным является деление объявлений на машинном языке на четыре поля: метка; мнемоника; операнд и комментарий. • Поле метки используется не всегда и в этой программе остается пустым.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Поле мнемоники содержит точную мнемонику, установленную разработчиком, которая обычно МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Поле мнемоники содержит точную мнемонику, установленную разработчиком, которая обычно указывает программе ассемблера операцию для выполнения. • Поле операнда содержит информацию о регистрах, данных и адресах, объединенных соответствующей операцией.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Используя информацию только полей мнемоники и операнда, ассемблер может МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Используя информацию только полей мнемоники и операнда, ассемблер может выдать соответствующий код на машинном языке. • Можно также назначить ячейки памяти списку команд. • Поле комментариев не учитывается ассемблером и ограничивается его перепечаткой. Это поле очень важно, поскольку позволяет понять события в программе.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Как только программа составлена (см. табл. 6. 1), она МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Как только программа составлена (см. табл. 6. 1), она представляется затем в виде табл. 6. 2.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР Таким образом, задача ассемблирования (или составление программы на ассемблере) состоит МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР Таким образом, задача ассемблирования (или составление программы на ассемблере) состоит из этапов: 1) перевод мнемоники и операндов на машинный язык; 2) назначение последовательно ячейки памяти каждому КОП и операнду. от версии табл. 6. 1 к ассемблированной версии табл. 6. 2 может быть выполнен либо вручную, либо на машине при помощи специальной программы ассемблера.

МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Программа, состоящая из символических команд (фрагмент показан в табл. МАШИННЫЙ ЯЗЫК И АССЕМБЛЕР • Программа, состоящая из символических команд (фрагмент показан в табл. 6. 1), иногда называется • исходной программой, а • переведенная однажды на машинный язык — уже объектной программой. Kоманда на языках высокого уровня БЕЙСИКе или ФОРТРАНе может соответствовать 20 или 30 машинным командам. (командам ассемблера)

регистры ЭМП • На рис. 6. 3 в сокращенном варианте приведены регистры типового МП, регистры ЭМП • На рис. 6. 3 в сокращенном варианте приведены регистры типового МП, предоставляемые программисту.

регистры ЭМП • Вверху справа мы видим • универсальный 8 -разрядный регистраккумулятор А, • регистры ЭМП • Вверху справа мы видим • универсальный 8 -разрядный регистраккумулятор А, • а слева показан 8 -разрядный регистр состояния. В составе этого регистра индикатор переноса CY находится в позиции 7, а индикатор нуля Z — в позиции 0. Позиции бит от первого до шестого регистра состояния в типовом МП не используются, но в выпускаемых МП индикаторов больше, чем здесь.

регистры ЭМП • Во второй строке на рис. 6. 3 расположены регистры Н и регистры ЭМП • Во второй строке на рис. 6. 3 расположены регистры Н и L. Это универсальные регистры адреса/данных. Они могут использоваться раздельно или в форме пары регистров (мы говорим тогда о паре регистров HL). В последнем случае они используются как указатель адреса.

 • Снизу на рис. 6. 3 находятся два специальных 16 -разрядных регистра. • • Снизу на рис. 6. 3 находятся два специальных 16 -разрядных регистра. • Счетчик команд PC* [От Program Counter (англ. ) — программный счетчик] указывает МП на следующую для выполнения команду. • Указатель стека SP* содержит адрес вершины стека. Сам стек находится в ОЗУ.

 • Состав команд такого типового микропроцессора разделен на семь категорий: • арифметические; логические; • Состав команд такого типового микропроцессора разделен на семь категорий: • арифметические; логические; передачи данных; ветвления; вызова подпрограмм; возврата из подпрограмм; прочие. • Типовой микропроцессор в состоянии выполнить только 67 различных команд из 239, которые входят в состав МП Intel 8085.