Под командой понимается совокупность сведений, необходимых микропроцессору для выполнения требуемого действия.
Процессору необходимо задать информацию о выполняемой операции, адресную информацию об операндах, место хранения результата.
Адресная часть |
Операционная часть |
Для фиксации этой информации в коде команды выделяются определенные разряды или поля. Общая структура команды имеет вид:
Адресная часть в свою очередь может состоять из нескольких полей.
Форматом команды называется ее структура с разметкой номеров разрядов, определяющих границы отдельных полей.
Число разрядов, отводимых под код операции, должно быть таким, чтобы можно было представить все машинные операции. Если система команд содержит М операций, то число разрядов в коде операции должно быть:
nkolog2M
По формату все команды МП делятся на 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
Статьи к прочтению:
Структура продуктивной команды
Похожие статьи:
-
Структура и форматы команд эвм
Обработка информации в ЭВМ осуществляется путём программного управления. Программа представляет собой алгоритм обработки информации, записанной в виде…
-
Машинная команда представляет собой закодированное по определенным правилам указание микропроцессору на выполнение некоторой операции или действия….