Структура и формат команды.
Под командой понимается совокупность сведений, необходимых микропроцессору для выполнения требуемого действия.
Процессору необходимо задать информацию о выполняемой операции, адресную информацию об операндах, место хранения результата.
|
|
![структура и формат команды. структура и формат команды. - student2.ru](/images/informatika/struktura-i-format-komandy-148035-1.gif)
Адресная часть в свою очередь может состоять из нескольких полей.
Форматом команды называется ее структура с разметкой номеров разрядов, определяющих границы отдельных полей.
Число разрядов, отводимых под код операции, должно быть таким, чтобы можно было представить все машинные операции. Если система команд содержит М операций, то число разрядов в коде операции должно быть:
nko > log2M
По формату все команды МП делятся на 1-, 2- и 3-байтные.
1-байтные (одноадресные) команды ( в программе занимают только один адрес) содержат только одно поле, только операционную часть (код операции). Код операции содержит всю необходимую для процессора информацию – сведения о выполняемой операции, сведения об операндах и о месте результат.
Например, команда ADD B (арифметическая команда). Сложить содержимое аккумулятора с содержимым регистра В. При выполнении этой команды один операнд находится в аккумуляторе, второй – в регистре В. результат остается в аккумуляторе.
|
|
|
1-й байт 2-й байт
Арифметическая команда ADI data.Сложить содержимое аккумулятора с операндом, который задан во втором байте кода команды. Результат оставить в аккумуляторе. Формат команды имеет вид:
|
|
1-й байт 2-й байт
|
![]() | ![]() | ||
1- байт 2-й и 3-й байты
Чаще всего эти команды используются для работы с адресами.
|
|
|
![структура и формат команды. структура и формат команды. - student2.ru](/images/informatika/struktura-i-format-komandy-148035-13.gif)
1- байт младший старший
байт байт
адреса адреса
Способы адресации
Типовой МП использует пять способов адресации: неявную, регистровую, непосредственную, прямую, косвенную.
Регистровая адресация. Когда используются команды с этим типом адресации, источник информации и приемник информации точно определены, ими являются конкретные регистры.
Команда MOV R1,R2. Переслать содержимое регистра R2 в регистр R1. R2 – источник информации, R1 – приемник информации. Источником и приемником информации может быть любой из РОН.
Команды регистровой адресации очень эффективны, т.к. занимают только один байт в программе. Они быстро выполнимы, т.к. не требуют обращения к памяти, поскольку оба операнда являются содержимым внутренних регистров.
Непосредственная адресация. В командах с такой адресацией данные непосредственно задаются в коде команды вслед за кодом операции.
Неявная адресация. Команда ADD B. Сложить содержимое аккумулятора с содержимым регистра В. Один операнд находится в аккумуляторе, другой - в регистре В. В команде аккумулятор не указывается, считается, что он задан неявно.
Прямая адресация. Команды прямой адресации имеют 3-байтный формат. Они обеспечивают обмен информацией между аккумулятором и ячейкой памяти, адрес которой задан во втором и третьем байтах кода команды. Команда LDA addr. Загрузить прямо в аккумулятор операнд, адрес которого addr содержится во втором и третьем байтах.
Конкретно LDA 0850. Загрузить прямо в аккумулятор операнд, который находится в памяти по адресу 0850. Формат команды имеет следующий вид:
|
код операции младший байт старший байт
адреса адреса
Косвенная адресация. Команды с косвенной адресацией обращаются в память по адресу, который в момент выполнения этой команды хранится в регистровой паре 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