Студопедия — Система команд
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Система команд






 

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

Данные в МП представляются в виде 1-байтовый двоичных кодов, которые можно трактовать как числа, коды символов, адреса ячеек памяти и т.п. Для выполнения арифметических операций над целыми числами имеются специальные команды.

Для идентификации отдельные биты нумеруют от 0 до 7 и считают расположенными слева направо. Нулевой бит соответствует младшему биту, а седьмой – старшему. Двухбайтовые целые числа должны быть расположены в соседних байтах памяти или в парном регистре.

6 групп команд:

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

Команда Принцип работы Пояснения
Арифметические и логические операции
INR [ R ] + 1 ® R Инкремент (увеличение на логическую 1 определенного регистра) 1-байтная команда. Регистровый СА
DCR [ R ] – 1 ® R Декремент (уменьшение на 1 определенного регистра) 1 байт. Регистровый СА
ADD B [ A ] + [ R ] ® A Сложение регистра с аккумулятором. Результат помещается в аккумулятор. Второй и третий байты команды составляют адрес области памяти, в которой находится одно из слагаемых. 1 байт. Регистровый СА.
ADI 25 [ A ] + [ B2 ] ® A Содержимое второго бита команды прибавляется к содержимому аккумулятора. Непосредственный способ адресации. 2 байта, Непосредственный СА
ADC B [ A ] + [ R ] + [ C ] ® A Сложение регистра и аккумулятора. Используется для многобайтного сложения, где необходимо учитывать перенос из младшей тетрады в старшую. «С» показывает, что триггер переноса заполнен. 1 байт. Регистровый СА.
ACI 25 [ A ] + [ B2 ] + [ C ] ® A Сложение непосредственных данных со значением аккумулятора. Используется для многобайтного сложения. 2 байта, Непосредственный СА
SUB B [ A ] - [ R ] ® A Команды вычитания выполняются в дополнительном коде. Вычитание происходит путем инвертирования значений всех разрядов вычитаемого, добавления к ним 1 младшего разряда и сложения полученного числа с уменьшаемым. Логическая 1 в старшем разряде является признаком отрицательного числа. 8-разрядный дополнительный код дает возможность представлять числа в диапазоне -128 до +127. Если результат выполнения команды является отрицательным, нулевым или возникает сигнал заема в старший разряд, соответствующие разряды регистра устанавливаются в 1. 1 байт. Регистровый СА.
SUI 25 [ A ] - [ B2 ] ® A Вычитание из аккумулятора непосредственных данных. 2 байта, Непосредственный СА
SBB B [ A ] - [ R ] - [ C ] ® A Многобайтное вычитание с учетом триггера переполнения. 1 байт. Регистровый СА.
SBI 25 [ A ] - [ B2 ] - [ C ] ® A Многобайтное вычитание непосредственных данных из аккумулятора с учетом триггера переполнения. 2 байта, Непосредственный СА
ANA B [ A ] ^ [ R ] ® A Команды логических операций выполняются поразрядно (нет переноса в старший разряд). Логическое умножение. 1 байт. Регистровый СА.
ANI 25 [ A ] ^ [ B2 ] ® A Логическое умножение непосредственных данных. 2 байта, Непосредственный СА
XRA B [ A ] " [ R ] ® A Исключающая ИЛИ. 1 байт. Регистровый СА.
XRI 25 [ A ] " [ B 2 ] ® A 2 байта, Непосредственный СА
ORA B [ A ] V [ R ] ® A Логическая ИЛИ. 1 байт. Регистровый СА.
ORI 25 [ A ] V [ В2 ] ® A Логическая ИЛИ. 2 байта, Непосредственный СА
CMP B [ A ] - [ R ] Эта команда влияет только на регистр признаков. Ее используют в алгоритмах, где необходимо исследование флага. 1 байт. Регистровый СА.
CPI 25 [ A ] - [ B2 ] 2 байта, Непосредственный СА

 

Команды работы с аккумулятором.Вместо ячейки памяти можно адресовать внешнее устройство.
STA [ A ] ® M ([B2, B3]) Содержание аккумулятора посылается в ячейку памяти по адресу, который содержится во 2-м и 3-м байте. Прямой способ адресации. 3 байта. Прямой СА
LDA [ M ([B2, B3]) ] ® A Команда загрузки аккумулятора. Содержание ячейки памяти посылается в аккумулятор. 3 байта. Прямой СА

 

Команды десятичной коррекции 4 случая коррекции: 1) в младшей тетраде появились запрещенные комбинации 2) когда появляется дополнительный перенос из младшей тетрады в старшую 3) в старшей тетраде появляются запрещенные кодовые комбинации 4) когда возникает основной перенос (из старшего разряда)
DAA   Запуск узла десятичной коррекции. Узел ДК предназначен для представления действий АЛУ в двоично-десятичном коде. При прибавлении к любому некорректному коэффициенту кода 6 происходит перенос в старшей тетраде и результат остатка не превзойдет корректных весовых коэффициентов. 1 байт
CMA [ ] ® A Коррекция аккумулятора. 1 байт
STC 1 ® C Установка 1 в код переполнения. 1 байт
CMC [ ] ® C Инверсия кода переполнения. 1 байт

 


 

Команды сдвига
RLC [ Am ] ® Am+1 [ A7 ] ® A0 [ A7 ] ® C Каждый разряд аккумулятора выталкиваем в триггер переполнения С. Применяются в команде управления. 1 байтные команды Циклический сдвиг влево
RAL [ Am ] ® Am+1 [ A7 ] ® C [ C ] ® A0 Арифметический сдвиг влево
RRC [ Am ] ® Am-1 [ A0 ] ® A7 [ A0 ] ® C Циклический сдвиг вправо
RAR [ Am ] ® Am-1 [ A0 ] ® C [ C ] ® A7 Арифметический сдвиг вправо

 

Команды передачи управления
J/MP/ [ PC ] + 2 ® PC Передача управления. Изменяет ход программы. JMP – передача управления без условия JNZ – если не 0 JZ – если 0 МП анализирует регистр признаков. МП либо делает эту команду (если условие выполняется) или не делает, если не выполняется. 3 байт. Непосредственный СА
C/ALL/ [ PCH ] ® M ([SP] – 1) [ PCL ] ® M ([SP] – 2) [ SP ] – 2 ® SP [ B3, B2 ] ® PC Команда вызова подпрограммы. Используется для обслуживания запросов на прерывание. 1FC3 – начальная точка подпрограммы. 3 байта, Регистрово-косвенный СА
R/ET/ [ M ([SP]) ] ® PC [ M ([SP] + 1) ] ® PCH [ SP ] + 2 ® SP Команда возвращения в программу в точку, отстоящую на 2 байта адреса. Возврат из последней точка подпрограммы в основную невозможно, т.к. память стековая и возврат идет через извлечение вершины стека. Возврат происходит последовательно. 1-байтная команда. Чтобы вернуться в основную программу с прежними данными, можно занести все данные в подпрограмме до точки расхождения. 1 байт, Регистрово-косвенный СА.

 


 

Команды работы с парными регистрами
LXI B, 1FC3H [ B3, B2 ] ® RP Загрузка данных парного регистра. 3-байтная команда. Определена для ВС, DE, HL и SP. Непосредственный способ адресации. Вершины стека загружаются при помощи этой команды. 3 байта. Непосредственный СА
STAX B [ A ] ® M ([RP]) Содержимое аккумулятора переносится в память. Обозначается только старший регистр пары (например, В, а не ВС). 1 байт. Регистрово-косвенный СА
LDAX B [M ([RP])] ® [ A ] Обратная команда. Используется регистрово-косвенный способ адресации. Индексными регистрами являются BC и DE.1 байт. Регистрово-косвенный СА
INX B [ RP ] + 1 ® RP Инкремент. Определены для пар ВС, DE, HL и SP. 1 байт
DCX B [ RP ] – 1 ® RP Декремент. Определены для пар ВС, DE, HL и SP. 1 байт
DAD H [ RP ] + [ HL ] ® HL Команда двойного сложения. Если DAD H, то регистр удваивает свое значение. 1 байт
POP B [M ([SP])] ® RPL [M ([SP]+1)] ® RPH [SP]+2 ® SP Команда работы со стеком. Используется для пар ВС, DE, HL и PCW. Извлечение из стека. С помощью команды CALL заносится сначала старший, затем младший байт, при РОР извлекается сначала младший, затем старший байты. Поэтому в паре ВС запись идет в С. 1 байт. Регистрово-косвенный СА
PUSH [ PCH ] ® M ([SP] – 1) [ PCL ] ® M ([SP] – 2) [ SP ] – 2 ® SP Команда работы со стеком. Загрузка в стек. Указывается адрес новой вершины стека. 1 байт. Регистрово-косвенный СА
SHLD 1FC3H [ L ] ® M ([B3, B2]) [ H ] ® M ([B3, B2]+1) Это команды, определенные для регистровой пары HL. Загрузка содержимого регистровой пары в ячейку памяти. 3 байт. Прямой СА
LHLD 1FC3H [M ([B3, B2])] ® L [M ([B3,B2] + 1)] ® H Извлечение из памяти данных и занесение их в регистровую память. 3 байт. Прямой СА
PCHL [ HL ] ® PC Эквивалентно команде JUMP. 1 байт. Регистровый СА
XTHL [ L ] «M ([SP]) [ H ] «M ([SP] + 1) Команда обмена. Меняет содержимое регистровой пары с ячейкой памяти, по адресу указателя стека. 1 байт.
SPHL [ HL ] ® SP Меняется вершина указателя стека. 1 байт. Регистровый СА
XCHG [ H ] «[ D ] [ L ] «[ E ] Команда обмена между регистровыми парами BC и DE. 1 байт

 


 

Специальные команды
IN 2FH [ВУ ([B2])] ® A Команда ввода. Ввод информации по адресу 2F. 2 байт.
OUT 2FH [ A ] ® ВУ ([B2]) Команда вывода. 2 байт
NOP [ PC ] + 1 ® PC Команда, обозначающая код операции. Код этой операции 00. Ячейки памяти необходимо обнулить перед началом команды, чтобы МП не выполнял никаких действий. 1 байт
HLT [ PC ] ® PC Команда остановок. МП останавливается, т.к. нет приращения РС. 1 байт
EI   Разрешить прерывание. Установка в 1 триггер обслуживания прерывания. 1 байт
DI   Запретить прерывание. Установка в 0 триггер обслуживания запроса на прерывание. 1 байт
RST N [ PCH ] ® M ([SP] – 1) [ PCL ] ® M ([SP] – 2) [ SP ] – 2 ® SP 8 × N ® PC Стандартная команда для обработки подпрограммы. N = 0…7. На каждую программу отдается 8 ячеек памяти, начиная с 0-й. По этой команде записываются таблицы переходов. МП выполняет следующие действия: 1) прячется точка возврата в стек 2) смещается указатель стека 3) программный счетчик переходит в точку возврата. 1 байт ПРИМЕР RST 7 Подпрограмма начинается в 38 ячейке памяти. Для этого вычисляют число 8 × 7 = 56 в 16-ной системе. 56: 16 = 3 и 8 в остатке. RST 7 0038

 

Псевдокоманды – команды, не имеющие машинного эквивалента. Команды работы с транслятором.

 

Виды псевдокоманд:

ORG – установить счетчик. Показывает, с какого адреса будет начинаться команда.

DB – определить байт

DW – определить слово

DS – зарезервировать память с текущей ячейки

PW 1FC3; - последние байты переставлять в памяти МП

SET – присвоить значение.

EQV – эквивалентность. Переустановка значения.

LIST – вывод листинга программы

MACRO … END MACRO – процедура макроопределения

IF <…> = 0 – то трансляция IF <…> ≠ 0 – пропускается. Заканчивается END IF

END – конец трансляции

 

 







Дата добавления: 2015-09-07; просмотров: 445. Нарушение авторских прав; Мы поможем в написании вашей работы!



Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

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

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия