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

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

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

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

 

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

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

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

nko > log2M

 

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

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

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

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

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

 

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

 

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

data
С6

 

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

 

Код операции 16-разрядный операнд
3-байтные (трехадресные команды) имеют следующий формат:

       
   
 


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

 

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

Команда в общем виде 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 (режим МП вместе с портами и параллельным интерфейсом)

 

Лабораторные программы выполняются в режиме А. После выбора режима появится экран эмулятора.

4. В программный счетчик (РС) необходимо занести начальный адрес области памяти, в которой размещена программа. Для размещения программы в выбранной области памяти необходима работа со следующими меню: LOAL – PROGRAMM и ввести имя файла с расширением HEX. На экране появится текст программы.

5. С помощью меню DUMP настраиваются окна фрагментов памяти. После набора команды DUMP необходимо выбрать номер окна (1 или 2) , задать тип адресации (ABSOLUT) и задать начальный адрес фрагмента. Затем через последовательность меню SET – MEMORY MAP - RANDOM ACCESS настраивается карта памяти.

6. Программу необходимо просмотреть в пошаговом режиме (F10 – один шаг вперед; F9- один шаг назад).

Ниже приводится краткий перечень необходимых «горячих» клавиш:

- создать файл – Shift F6;

- сохранить - F2;

- просмотреть – F4;

- копировать – F5;

 

Содержание отчета.

1. Титульный лист, оформленный по правилам оформления текстовой документации.

2. Индивидуальный вариант задания.

3. Машинно-ориентированный алгоритм выполнения программы.

4. Листинг программы по следующей форме:

 

 

Адрес команды Машинный код Мнемоника Типы адресации
  5. Контрольный пример. 6. Содержимое регистра признаков.  

Библиографический список

1. Коренев В.В., Киселев А.В. Современные микропроцессоры. М., «Нолидж». 1998.

2. Токхайм Р. Микропроцессоры. Курс и упражнения. М., Энегроатомиздат, 1988.

3. Юров В.А. Assembler. CПб, Питер, 2002.

Приложение 1