Материал: МИУС

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

С – признак переноса. Фиксирует перенос из старшего разряда.

С = 1, если перенос был; С = 0, если переноса не было.

Функционирование МП происходит следующим образом.

1. Вся информация (программа, исходные данные, результаты) размещается в памяти (ОЗУ или ПЗУ).

2. Информация поступает в МП по шине данных.

3. Каждое внешнее или внутреннее устройство имеет адрес или диапазон адресов.

4. При обращении к конкретному устройству МП выставляет на ША адрес этого устройства, а на ШУ – признак обращения к этому устройству и обеспечивает выдачу информации на ШД.

Выполняя программу, МП обрабатывает команду за командой последовательно.

Алгоритм выполнения команды выглядит следующим образом.

начало

А

В

Передача адреса Аi из РС на шину адреса

Выработка cu последова-

тельности управл. сигналов

Признак «Чтение памяти» от CU на шину управления

Выполнение операции

в АЛУ

Чтение Коп в RI;

РС = РС + 1

Дешифрация Коп и передача его в CU

Команда однобайтная?

конец

i = i+ 1

Выборка 2-го и 3-го байтов и запись их в регистры W ,Z

Команда

выполнена?

А

А

В

нет да да нет

рис. 3. Алгоритм выполнения команды

Функционирование МП определяется исполняемыми командами.

Командный цикл – это время, необходимое для считывания из памяти и выполнения очередной команды. В зависимости от типа команды командный цикл может состоять из нескольких машинных циклов.

Машинный цикл (МЦ) – это время, в течение которого выполняется одна или несколько микроопераций.

Машинный цикл состоит из нескольких машинных тактов, число которых зависит от типа МП (обычно от одного до пяти). Количество машинных циклов определяется числом обращений к памяти или устройствам ввода-вывода.

Можно сказать, что система команд МП – это совокупность микропрограмм, обеспечивающих выполнение всех его функций, а команда – действие, описанное микропрограммой.

Система команд МП приведена в Приложении 1.

Выполнение любой команды начинается с выборки из памяти кода команды. Это соответствует машинному циклу М1. В нем МП считывает первый байт кода команды и передает его в регистр команд RI. Далее могут следовать один или два цикла чтения из памяти либо один цикл чтения из памяти и цикл выполнения операции.

После выборки и декодирования первого байта кода команды могут потребоваться дополнительные циклы для ее выполнения, всего от 1 до 5 МЦ. Каждый МЦ состоит из машинных тактов, во время которых выполняются типовые действия.

Командный цикл может содержать от 4 до 18 машинных тактов. Сигналы, реализующие тот или иной МЦ, вырабатываются устройством управления на основании информации, содержащейся в коде операции в первом байте кода команды.

Система команд простейшего микропроцессора

Классификация команд по назначению.

Все команды МП по назначению делятся на следующие группы:

  1. команды пересылок (команды обмена)

  2. арифметические команды

  3. логические команды

  4. команды передачи управления

  5. команды ввода-вывода и работы со стеком

Структура и формат команды.

Под командой понимается совокупность сведений, необходимых микропроцессору для выполнения требуемого действия.

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

Д

Операционная часть Адресная часть ля фиксации этой информации в коде команды выделяются определенные разряды или поля. Общая структура команды имеет вид:

ля фиксации этой информации в коде команды выделяются определенные разряды или поля. Общая структура команды имеет вид:

Адресная часть в свою очередь может состоять из нескольких полей.

Форматом команды называется ее структура с разметкой номеров разрядов, определяющих границы отдельных полей.

Число разрядов, отводимых под код операции, должно быть таким, чтобы можно было представить все машинные операции. Если система команд содержит М операций, то число разрядов в коде операции должно быть:

n ko > log2M

По формату все команды МП делятся на 1-, 2- и 3-байтные.

1-байтные (одноадресные) команды ( в программе занимают только один адрес) содержат только одно поле, только операционную часть (код операции). Код операции содержит всю необходимую для процессора информацию – сведения о выполняемой операции, сведения об операндах и о месте результат.

Например, команда ADD B (арифметическая команда). Сложить содержимое аккумулятора с содержимым регистра В. При выполнении этой команды один операнд находится в аккумуляторе, второй – в регистре В. результат остается в аккумуляторе.

Ф

80

ормат команды:

2

Код операции

операнд

-байтные (двухадресные) команды имеют следующий формат:

1-й байт 2-й байт

Арифметическая команда ADI data. Сложить содержимое аккумулятора с операндом, который задан во втором байте кода команды. Результат оставить в аккумуляторе. Формат команды имеет вид:

С6

data

1-й байт 2-й байт

3

Код операции 16-разрядный операнд

-байтные (трехадресные команды) имеют следующий формат:

1- байт 2-й и 3-й байты

Чаще всего эти команды используются для работы с адресами.

К

21

00

09

оманда в общем виде LXI rp data. Загрузить в регистровую rp пару 16-разрадный операнд data. Конкретно LXI H, 0900. Загрузить в регистровую пару HL адрес 0900. Формат команды имеет следующий вид:

1- байт младший старший

байт байт

адреса адреса

Способы адресации

Типовой МП использует пять способов адресации: неявную, регистровую, непосредственную, прямую, косвенную.

Регистровая адресация. Когда используются команды с этим типом адресации, источник информации и приемник информации точно определены, ими являются конкретные регистры.

Команда MOV R1,R2. Переслать содержимое регистра R2 в регистр R1. R2 – источник информации, R1 – приемник информации. Источником и приемником информации может быть любой из РОН.

Команды регистровой адресации очень эффективны, т.к. занимают только один байт в программе. Они быстро выполнимы, т.к. не требуют обращения к памяти, поскольку оба операнда являются содержимым внутренних регистров.

Непосредственная адресация. В командах с такой адресацией данные непосредственно задаются в коде команды вслед за кодом операции.

Неявная адресация. Команда ADD B. Сложить содержимое аккумулятора с содержимым регистра В. Один операнд находится в аккумуляторе, другой - в регистре В. В команде аккумулятор не указывается, считается, что он задан неявно.

Прямая адресация. Команды прямой адресации имеют 3-байтный формат. Они обеспечивают обмен информацией между аккумулятором и ячейкой памяти, адрес которой задан во втором и третьем байтах кода команды. Команда LDA addr. Загрузить прямо в аккумулятор операнд, адрес которого addr содержится во втором и третьем байтах.

Конкретно LDA 0850. Загрузить прямо в аккумулятор операнд, который находится в памяти по адресу 0850. Формат команды имеет следующий вид:

3А 50 80

код операции младший байт старший байт

адреса адреса

Косвенная адресация. Команды с косвенной адресацией обращаются в память по адресу, который в момент выполнения этой команды хранится в регистровой паре HL.

Команда MOV M,R. Переслать содержимое регистра R в ячейку памяти М, адрес которой записан в регистровой паре H,L. Пара H,L называется регистром косвенного адреса.

Лабораторные работы выполняются с помощью эмулятора процессора Intel 80805 AVSIN 85.

Порядок выполнения лабораторной работы.

  1. Студенту необходимо создать папку со своим именем и скопировать в нее следующие файлы:

- asm 85.exe;

- avsim 85. reg;

- avsim 85. Help;

- proba bat;

- xlink exe;

- sim 85.exe.

2. Программа записывается на языке ASSEMBLER. Для этого необходимо создать файл со своим именем и расширением asm. При этом необходимо задать начальный адрес памяти, где будет размещена программа. Начальный адрес задается оператором org (например, org 0100h). Проверка правильности программы и отладка осуществляется с помощью BAT-файла. Для этого в файле PROBA-BAT необходимо заменить имя файла именем своего файла. После запуска BAT-файла результатом работы программы при ее правильности будет создание следующих файлов:

- имя файла с расширением LST – текстовый файл;

- имя файла с расширением OBJ – объектный модуль;

- имя файла с расширением HEX –файла, предназначенного для загрузки в эмулятор. Если файла с расширением HEX не создается, это означает, что в исходном файле имеются ошибки. Чтобы определить и диагностировать ошибки, необходимо вызвать файл с расширением LST. Исправляются ошибки в исходном файле с расширением ASM.

3. При правильно составленной программе при отсутствии ошибок должны быть созданы четыре файла:

- имя файла.asm;

- имя файла.lst;

- имя файла.obj;

- имя файла.hex.

После этого необходимо запустить файл SIV 85. EXE. После запуска программы на экране появится приглашение для ввода режима эмуляции:

  • А: 8085 (режим «голого» МП)

  • В: 8085 + 8155 ( режим МП с микросхемой 8155 – ПЗУ с портами ввода/вывода)

  • С: 8085 + 8355 (режим МП с микросхемой 8385 – параллельный интерфейс)

  • D: 8085 + 8155 + 8355 (режим МП вместе с портами и параллельным интерфейсом)

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