Материал: Методические указания к выполнению лабораторных работ по дисциплине «Аппаратные средства вычислительной техники» для студентов специальности «Компьютерная безопасность». Ермаков С.А., Остапенко А.Г

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Контрольные вопросы:

1.Как реализуется контроль по четности?

2.Оцените избыточность в процентах при использовании контроля по четности для пакета размеров 8 бит.

3.Определяет ли контроль по нечетности ошибку в двух разрядах?

4.Какой флаг регистра состояния микропроцессора используется для определения четного количества единиц в байте?

39

Лабораторная работа №7 Машинный формат команд микропроцессора

Цель работы: изучить машинный формат команд микропроцессора 8086 с помощью отладчика Debug.

Теоретическ ие сведения

По функциональному признаку система команд микропроцессора 8086 разбивается на 6 групп: пересылка данных, арифметические операции, логические операции и сдвиги, передача управления, обработка цепочек и управления микропроцессором. Каждой команде соответствует определенный двоичный код, который определяет тип команды и адреса операндов [4].

Способ представления команды в виде чисел в двоичном коде называется машинным форматом команды. Микропроцессор понимает команды, представленные только в машинном формате. Так как вся цифровая информация, обрабатываемая МП, в том числе и команды, хранятся в элементах памяти в виде набора логических «1» и «0». Но человеку запомнить соответствие последовательности до нескольких десятков единиц и нулей (например, до 48) определенной команде очень сложно. Поэтому были разработаны языки программирования (Ассемблер, Pascal, С++), использующие символьные коды для представления команд. Для перевода команд в символьном представлении в машинный формат используются специальные программы: компиляторы и трансляторы.

Машинные форматы команд МП 8086 в зависимости от типа команды и способа адресации содержат от 1 до 6 байтов, общая структура которого представлена на рис. 9 [5].

Ключевыми являются первые два байта: COP и RegAdr. Первый байт в основном определяет код операции, а второй - способ адресации операндов. Следующие 2 байта команды используются как адрес одного из операндов, причем адрес может быть как 8-битным, так и 16-битным.

40

Рис. 9. Структура машинного формата команды МП 8086

Последние два байта используются, если в команде непосредственно указывается один из операндов виде числа.

В данной работе изучение машинного формата команды производится на примере команды MOV. Команда MOV предназначена для пересылки данных от источника (src) к приемнику (dst). Источником могут быть регистр, ячейка памяти и или непосредственный, а в качестве приемника - регистр или ячейка памяти. Команда MOV состоит из кода операции (COP, первый байт), способа адресации (второй байт) и, если того требует COP, адреса ячейки памяти (dispL и dispH), непосредственно операнда (dataL и dataH).

По COP различают 2 вида команды пересылки:

-в качестве источника и приемника используются регистры или ячейки памяти (рис. 10,а));

-в роли источника выступают непосредственные данные, а в качестве приемника - либо регистр, либо память (рис. 10,б).

41

Рис. 10. Первые 2 байты команды MOV

Поле COP определяет тип команды, а поле src - адрес регистра источника. Адреса регистров представлены в табл. 12.

В МП 8086 есть ряд регистров имеющих одинаковые адреса регистров. Например, регистр DI имеет адрес 1112, и регистр ВН имеет тот же адрес. Единственная разница в том, что DI - 16-разрядный регистр, а ВН - 8-разрядный. Значит, в COP должен быть предусмотрел отличительный признак байта или слова. Это разряд W (word - слово). Для него возможны следующие случаи:

-0 - значит, что все адреса касаются однобайтовых

данных;

-1 - значит, что все адреса имеют отношение к словам. Для кодирования адреса приемника отведено 5 разрядов:

mod и reg/mem. Следовательно, существует 32 (25) различных способов адресации. Основой адресации приемника является поле mod (D7,D6), который определяет два варианта: приемник - это регистр микропроцессора (reg), или элемент ЗУ

(mem-MEMORY).

Приемником является регистр если mod=11. Поле reg/mem в этом случае определяет адрес регистра-приемника данных в соответствии с табл. 12.

42

Таблица 12

Адреса регистров

Второй случай - приемником является элемент ЗУ (ОЗУ или ПЗУ). Здесь возможны 24 варианта (25-8). Их можно объединить в 7 глобальных групп, которые определяются полем mod: 00, 01, 10. В табл. 13 представлены способы формирования эффективного адреса EA соответствующие данным вариантам.

Таблица 13 Способы адреса приемника данных

43

Источник: https://studfile.net/preview/16565265/