Лекция 17. Структура и система команд КР580ВМ80

Лекция



Привет, сегодня поговорим про система команд кр580вм80, обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое система команд кр580вм80, кр580вм80 , настоятельно рекомендую прочитать все из категории Компьютерная схемотехника и архитектура компьютеров.

Для программирования микроЭВМ на базе МП комплекта КР580 используется 244 команды. Ниже очень коротко будет рассмотрена только часть команд, необходимая для программирования простых задач. Таблицы команд и краткие пояснения к ним можно найти во многих источниках.

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

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

Все команды МП КР580 целесообразно разделить на группы, например, следующим образом:

  • Пересылки однобайтовые для обмена операндами и результатами между аккумулятором, РОН, памятью, регистрами ППУ.
  • Пересылки двухбайтовые для обмена адресами, операндами, результатами между SP, регистровыми парами, парами ячеек памяти, стеком.
  • Операции в аккумуляторе, которые делятся на арифметические, логические (в аккумуляторе и регистре флагов), сдвиги.
  • Арифметические операции в РОН и памяти.
  • Команды управления.

17.0 Структура и форматы команд МП кр580вм80

Система команд МП серии КР580ВМ80 содержит команды трех форматов: однобайтные, двухбайтные и трехбайтные.

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

Если в выполнении операции участвуют регистры, то один или два из них могут быть указаны в первом байте команды. При этом под номера регистров в поле команды отводятся вполне определенные разряды: три младших разряда (b2 - b0) кодируют номер регистра источника, содержащего операнд, а три средних (b5 - b3) - номер регистра-приемника, в который засылается результат операции. В тех случаях, когда оба или один из этих регистров не участвуют в выполнении операции, соответствующие разряды используются под код операции.

Принято следующее кодирование регистров:

000 - регистр В, 100 - регистр Н,

001 - регистр С, 101 - регистр L,

010 - регистр D, 110 - ячейка памяти,

011 - регистр Е, 111 - аккумулятор А.

Код 100 является признаком косвенной адресации к памяти с помощью 16-разрядного адреса, размещенного в регистрах Н и L. В зависимости от расположения этого кода в команде, обращение к соответствующей ячейке памяти производится или за операндом, или для записи результатов операции.

Лекция 17. Структура и система команд КР580ВМ80

Ряд команд МП предусматривает обработку или передачу чисел двойной длины. В этих случаях пары регистров В и С, D и Е или Н и L объединяются в 16-разрядные регистры, имеющие номера 00, 01 и 10 соответственно. Под номера регистровых пар в командах отводятся разряды b2 и b1 (регистр-источник), b5 и b4 (регистр-приемник), а разряды b0 и b3 используются для указания кода операции.

К двухбайтным командам в МП относятся команды с непосредственной адресацией и команды ввода-вывода. Соответственно второй байт команды этой группы содержит 8-разрядный операнд или 8-разрядный адрес устройства ввода или вывода.

В трехбайтных командах второй и третий байты содержат 16-разрядные адреса (в командах с прямой адресацией) или 16-разрядные операнды (в командах загрузки регистровых пар и указателя стека).

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

Для удобства сохранения и восстановления состояния МП во время прерываний и перехода к подпрограммам все указанные признаки сохраняются в специальном регистре - регистре признаков. Расположение признаков в разрядах регистра приведено в таблице.

Лекция 17. Структура и система команд КР580ВМ80

где S - признак “знака” (принимает значение старшего разряда

результата);

Z - признак нулевого результата;

АС -признак вспомогательного переноса (если есть перенос

между тетрадами байта, то АС=1, иначе АС=0;

Р - признак четности результата (если число единиц в байте

результата четно, то Р=1, иначе Р=0);

С - признак переноса или заема (если при выполнении коман-

ды возник перенос из старшего разряда или заем в стар-

ший разряд то С=1, иначе С=0).

Примечание: Для команд логического умножения признак вспомогательного переноса АС принимает значение четвертого разряда результата.

Полностью система команд МП серии КР580ВМ80 приведена в приложении учебного пособия "Микропроцессоры и микропроцессорные системы". Там же для каждой команды указывается как, после ее выполнения, изменяется значение каждого признака: устанавливается в соответствии с результатом операции (+), не изменяется (-), сбрасывается в нуль (0) или устанавливается в единицу (1).

В общем случае команда должна содержать следующую информацию:

- код операции, указывающий операцию, которую должен выполнить МП;

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

- адрес ячейки памяти в которую должен быть помещен результат операции;

- адрес следующей команды.

Т.е. Об этом говорит сайт https://intellect.icu . команда в общем случае является четырехадресная. Однако, такая структура команд приводит к более длинному формату команд, что, в свою очередь, сопряжено с более сложным процессом их обработки и структурой процессора. Поэтому, в МП технике наибольшее распространение получили безадресные и одноадресные команды, позволяющие построить простой процессор. Однако, при выполнении сложных операций находят применение различные форматы команд.

В системе команд МП серии 580 имеются однобайтные, двухбайтные и трехбайтные команды.

Информация о способе адресации выполняемой команды содержится в коде операции первого байта команды.

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

Эти команды позволяют исключить сравнительно длинный цикл обращения к ОЗУ и тем самым существенно повысить скорость выполнения операций. В связи с ограниченной разрядностью РОН и при работе с большим массивом данных, используются другие методы адресации, которые позволяют обращаться к операндам, расположенным во внешней по отношению к МП памяти. Наиболее распространенной является косвенная регистровая адресация, которая использует регистровую пару HL.

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

Команды этой группы не изменяют содержимого регистра признаков РгП (F). Принципы их выполнения иллюстрирует рис. 17.1.

Ниже рассмотрим в качестве примера последовательность из нескольких команд однобайтовых пересылок. Операнды и адреса записаны в шестнадцатеричной системе счисления. Кроме того, здесь и далее предполагается, что аккумулятор, ячейки памяти и регистры первоначально (до записи) содержат 00:

Лекция 17. Структура и система команд КР580ВМ80

Лекция 17. Структура и система команд КР580ВМ80

Рис.17.1. Схема взаимодействия узлов МП при выполнении однобайтовых пересылок

Лекция 17. Структура и система команд КР580ВМ80

Лекция 17. Структура и система команд КР580ВМ80

17.2. Пересылки двухбайтовые

Команды этой группы не изменяют содержимого РгП (F). Принципы их выполнения иллюстрирует рис. 17.2. Предполагается, что PSW≡(A)(F). Лекция 17. Структура и система команд КР580ВМ80

Рис.17.2. Схема взаимодействия узлов МП при выполнении двухбайтовых пересылок; & - двухбайтовый операнд; остальные обозначения аналогичны рис.17.1

Поясним две команды:

XCHG – это обмен содержимым пар HL и DE, причем (H) « (D), (L) « (E);

XTHL – это обмен содержимым пары HL и верхушки стека. Значение SP не изменяется, при этом (L) « ((SP)) и (H) « ((SP)+1).

Рассмотрим в качестве примера несколько команд двухбайтовых пересылок.

Лекция 17. Структура и система команд КР580ВМ80

Лекция 17. Структура и система команд КР580ВМ80

17.3. Операции в аккумуляторе

Команды этой группы изменяют содержимое РгП (F) в соответствии с содержимым аккумулятора (рис. 17.3).

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

В общем случае РОН = AçBçCçDçEçHçL; СКО – символьный код операции.

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

Операции двуместные

· Арифметические операции:

- сложение содержимого аккумулятора с содержимым РОН, ячеек памяти (косвенная адресация по HL), непосредственным операндом;

- сложение содержимого аккумулятора и тех же операндов и бита переноса C (часто обозначают CY);

- вычитание из содержимого аккумулятора содержимого РОН, ячеек памяти (косвенно адресуемых по HL) или непосредственного операнда;

- вычитание из содержимого аккумулятора тех же операндов и бита переноса;

- сравнение содержимого аккумулятора с содержимым РОН, ячейками памяти (косвенно адресуемых по HL), непосредственным операндом.

Лекция 17. Структура и система команд КР580ВМ80

Рис.17.3. Схема взаимодействия узлов МП при выполнении двуместных операций в аккумуляторе

В последнем случае вычисляется разность (A) – (операнд), которая никуда не записывается (т.е. A не изменится), а используется для установки флагов в регистре признаков F.

Рассмотрим несколько примеров:

ADD B A ¬ (A) + (B);

SUB M A ¬ (A) - (ячейка (M));

ACI 07 A ¬ (A) + 07 + C;

CMP D (A) - (D) ® установка F, (A) – не изменилось.

· Логические (побитовые) операции:

- конъюнкция содержимого аккумулятора с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), непосредственным операндом.

- дизъюнкция содержимого аккумулятора с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), непосредственным операндом.

- сложение по модулю 2 с содержимым РОН, ячейки памяти (косвенно адресуемой по HL), с непосредственным операндом.

Рассмотрим несколько примеров:

ANA D A ¬ (A) & (D);

ANI A4 A ¬ (A) & A4;

ORA M A ¬ (A) Ú (ячейка (M));

XRA E A ¬ (A) Å (E);

XRI F4 A ¬ (A) Å F4.

Операции одноместные

· Арифметическая операция:

DAA – десятичная коррекция аккумулятора при работе с двоично-десятичными числами.

· Логические операции:

CMA – инверсия аккумулятора;

STC – установка бита C (т.е. C ¬ 1);

CMC – инверсия бита C (т.е. C ¬`C).

Две последние команды выполняются в РгП (F).

· Сдвиги на 1 разряд:

Примеры реализации сдвиговых команд приведены на рис. 17.4.

Лекция 17. Структура и система команд КР580ВМ80

Рис.17.4. Схема выполнения операций сдвига

17.4. Операции в РОН и памяти

Ряд операций в МП комплекте КР580 могут быть выполнены помимо аккумулятора, непосредственно в РОН и ячейках памяти. К таким операциям относятся:

Инкремент/декремент

Арифметические однооперандные операции увеличения на 1 (инкремент) и уменьшения на 1 (декремент) являются распространенными операциями для организации счетчиков при просмотре таблиц. На рис. 17.5 представлены примеры выполнения этих команд с РОН, регистровой парой и ячейкой памяти, косвенно адресуемой по HL.

Лекция 17. Структура и система команд КР580ВМ80

Рис.17.5. Инкремент/декремент

Рассмотрим два примера:

Лекция 17. Структура и система команд КР580ВМ80

Следует помнить, что при инкременте/декременте регистровой пары содержимое рассматривается как единое 16-разрядное число. При выполнении этой команды РгП не изменяется. При выполнении команды инкремента/декремента РОН и ячеек памяти, косвенно адресуемых по HL, РгП изменяется.

Сложение двухбайтовых операндов

DAD rp HL ¬ (HL) + (rp)

rp = BçDçHçSP

В РгП изменяется только признак C (CY).

17.5. Команды управления

Команды этой группы не изменяют содержимого РгП (F).

Команды безусловного перехода

По прямому адресу

JMP @, где @ – двухбайтовый адрес (@ ® PC).

Например:

Лекция 17. Структура и система команд КР580ВМ80

По косвенному адресу

PCHL – адрес перехода хранится в регистровой паре HL. При ее выполнении (HL) → PC.

Команды условного перехода

Jcon @, где con – мнемоника условия от английского слова condition.

Ранее отмечалось, что в качестве условия перехода используют состояние разрядов (флажков) РгП (F). Мнемоника, соответствующая этим состояниям, представлена на рис. 17.6.

Лекция 17. Структура и система команд КР580ВМ80

Рис.17.6. Регистр признаков РгП(F)

Например: JC 8BFE – при C=1 переход по адресу 8BFE, при C=0 выполняется следующая по адресу команда.

Команды вызова ПП и возврата

Ранее отмечалось, что адрес возврата автоматически сохраняется в стеке, т.е. (PC) ® стек.

Безусловные команды

CALL @ – вызов подпрограммы;

RET – возврат из подпрограммы.

Условные команды

Ccon @ – вызов подпрограммы;

Rcon – возврат из подпрограммы.

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

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

RST n, где n = 0,1,...,7 – рестарт по вектору прерывания n.

При выполнении этой команды происходит передача управления подпрограмме, обслуживающей данное прерывание. В процессе выполнения команды RST содержимое счетчика команд PC запоминается в стеке, а в PC записывается адрес соответствующего вектора прерывания.

Этот адрес задается следующим образом. Команда RST имеет структуру 11NN N111, т.е. один байт. Трехразрядная комбинация NNN задается значением n (n = 0...7). В счетчик команд РС заносится значение 0000 0000 00NN N000, которое служит адресом соответствующего вектора прерывания.

Таким образом, задавая определенное значение n, можно сформировать адрес одного из восьми векторов прерывания. Эти адреса располагаются в зоне от 0000H до 0038H адресного пространства и идут через 8 байт, т.е. под них зарезервированы первые 64 ячейки памяти (каждому из 8- векторов отведено по 8 байт). В этих зонах (по 8 байт) записывают только команды перехода к соответствующим подпрограммам (обработчикам), которые располагаются в других областях памяти.

Прерывающие подпрограммы (как и обычные подпрограммы) обязательно заканчиваются командой RET. В процессе выполнения этой команды адрес команды основной программы, перед которой произошло прерывание, выбирается из стека и передается в регистр адреса РА, а увеличенное на 1 значение заносится в счетчик команд.

EI – разрешение прерывания. Эта команда ставится в начале участка программы, на котором разрешено прерывание. По этой команде триггер разрешения прерывания в УУ МП устанавливается в состояние 1.

DI – запрещение прерывания. Эта команда ставится в конце участка программы, на котором разрешалось прерывание, и сбрасывает триггер в состояние 0.

NOP – "пустая" команда. Осуществляет пропуск четырех тактов. Изменяется только PC.

HLT – останов. Вызывает прекращение выполнения программы и переход в состояние останова. МП отключается от внешних шин адреса и данных (т.е. их буферы переходят в состояние Z). На выходе WAIT (ожидание) устанавливается уровень 1. Это состояние может быть прервано сигналами запуска МП либо переводом его в состояние прерывания.

17.6. Эмулятор МП КР580ВМ80

Начало работы с программой в основном заключается в написании или загрузке программы на Ассемблере в эмулятор. Для этого можно воспользоваться либо панелью системы команд программы, либо панелью редактирования значений ячеек ОЗУ эмулятора, либо загрузить образ ОЗУ с носителя.

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

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

Для выполнения программы в командном режиме, (к примеру, для отладки программы) используется кнопка командного режима.

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

Если выполнение программы завершается командой останова 76h HLT, устанавливается флаг останова микропроцессора HLDA и выдается соответствующее сообщение. Работу с эмулятором можно продолжить, сняв флаг при помощи пункта меню "МП-система→Снять флаг HLDA", либо воспользовавшись клавишей F12 на клавиатуре, либо произвести сброс РОН (см. ниже).

Для очистки (обнуления) РОН и/или ОЗУ эмулятора, воспользуйтесь группой кнопок "Сброс", либо пунктом меню программы "Файл→Новый (очистить память и регистры)"

После написания программы на языке Ассемблера, ее можно сохранить в виде образа ОЗУ и РОН эмулятора на какой-либо носитель, и при следующей надобности, также загрузить в эмулятор. Загружать и сохранять можно не только весь образ, но и часть ОЗУ эмулятора.

Для удобства работы с написанными программами в виде таблиц или текстовых документов, предусмотрены возможности экспорта части содержимого ОЗУ и/или РОН эмулятора в MS Excel, MS Word и текстовый файл.

Также предусмотрена возможность печати части содержимого ОЗУ и/или РОН эмулятора на принтере.

Лекция 17. Структура и система команд КР580ВМ80

Рисунок – Формат команд

Лекция 17. Структура и система команд КР580ВМ80

Рисунок – Система команд МП КР580ВМ80

Главное окно программы:

Лекция 17. Структура и система команд КР580ВМ80

Система команд МП КР580ВМ80:

Лекция 17. Структура и система команд КР580ВМ80

Меню программы:

Лекция 17. Структура и система команд КР580ВМ80

Лекция 17. Структура и система команд КР580ВМ80

Лекция 17. Структура и система команд КР580ВМ80

Лекция 17. Структура и система команд КР580ВМ80

Лекция 17. Структура и система команд КР580ВМ80

Справка программы:

Лекция 17. Структура и система команд КР580ВМ80

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

1. Схемы взаимодействия узлов МП КР580ВМ80 при выполнении одно- и двухбайтовых пересылок.

2. Схема взаимодействия узлов МП КР580ВМ80 при выполнении двуместных операций в аккумуляторе.

3. Виды операций сдвига и схема их выполнения.

4. Команды управления в МП КР580ВМ80.

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

Ответы на вопросы для самопроверки пишите в комментариях, мы проверим, или же задавайте свой вопрос по данной теме.

создано: 2015-01-22
обновлено: 2021-03-13
132607



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии

bob
20-11-2020
хорошее наглядное пособие

Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Компьютерная схемотехника и архитектура компьютеров

Термины: Компьютерная схемотехника и архитектура компьютеров