Дж.Хиллбурн, П.Джулич Микро-ЭВМ и микропроцессоры (1979) (1092080), страница 63
Текст из файла (страница 63)
Активация ли- нии КМ вЂ” ПЗУо Выбор области 1 ПЗУ. Активация линии КМ вЂ” ПЗУ1 Выбор индексных регистров обла- сти 0 (регистры 0 — 7) Выбор индексных регистров обла- сти 1 (регистры 0* — 7*) Разрешение прерывания Запрещение прерывания Считывание памяти команд ОВ5 0 0 0 0 0 1 1 0 Аг(7 0 0 0 0 0 1 1 1 ОВО 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 ! 0 1 1 ОВ! ЯВО ЗВ! Е!1) 011( КРМ 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 О 1 1 0 1 1 1 1 0 Модификатор нлн операнд Оз Оа О1Оо Код операпнн Оа Оа О1 Ое Опнсанне операции Мнемонкка 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 0 Запись содержимого аккумулятора в основную ячейку памяти ОЗУ по предварительно выбранному адресу Выдача содержимого аккумулятора в предварительно выбранный порт вывода ОЗУ Выдача содержимого аккумулятора в предварительно выбранный порт вывода ПЗУ (линии ввода-вывода) Запись содержимого аккумулятора в предварительно выбранный полубайт памяти команд чтения/записи (только для микропроцессоров 4008/4009) Запись содержимого аккумулятора по предварительно выбранному адресу слова 0 состояния ОЗУ Запись содержимого анкумулятора по предварительно выбранному адресу слова 1 состояния ОЗУ 0 0 0 1 0 0 1 0 %КК 0 0 1 1 'йгРМ %К011 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 1 %К!1! Команды ввода-вывода н обращения к ОЗУ (Адреса ОЗУ и ПЗУ, по которым производится обращение при выполнении команд ввода-вывода и команд с обращением к ОЗУ, выбираются заранее при выполнении последней команды ЗКС.) Продолжение Моднфннатор нлн операнд Озов Озв Код операции Ов Пв )Уз Ое Опневнве опеРации )Уййт) ЗВМ КОМ К0К К00') К0)з) К02') К03') ') каждмй модуль Озу вхлючает 4 регистра емкостью 20 4-разрядных енмволов, разде.
денных не 16 основных енмаолав памятн н 4 слова еоетояная пемятн. Номер модул», Регнетра ОЗУ н основное елово памяти адрееуютея командой ЗЦС. Однако для вмбрайных молуля н регистра царап алове еоетояння представляется кодом хоманды !ходом моднфнка. тора нлн операнда). Команды работы с аккумулятором Код одерацнц Моднфвнетор оа )) О Оа "'"'"')'"Ог Оз Пз Озюе Опнеанве операции Мнеяоння в 1 1 1 1 О О О О 1 1 1 1 О О О 1 1 1 1 1 О О 1 О С1.В С1.С 1АС СМС 1 1 1 1 О О 1 1 С МА 1 1 1 1 О 1 О О КА!. 1 1 1 1 О 1 О 1 КАК 1 1 1 1 О 1 1 О ТС С 1 1 1 1 О ! 1 1 0 А С 1 1 1 1 1 О О О 1 1 1 О 1 1 1 О 1 1 1 О 1 1 1 О 1 1 1 О 1 1 1 О 1 1 1 О 1 1 1 О 1 1 1 О 1 1 1 О О 1 1 О О 1 1 1 1 О О О 1 О О 1 1 О 1 О 1 О 1 1 1 1 О О 1 1 О 1 1 1 1 О 1 1 1 ! Запись содержимого аккумулятора по предварительно выбранному адресу сло- ва 2 состояния ОЗУ Запись содержимого аккумулятора по предварительно выбранному адресу сло- ва 3 состояния ОЗУ Вычитание (с заемом) из аккумулятора слова, предварительно выбранного из ОЗУ Загрузка в аккумулятор содержимого предварительно выбранной ячейки ОЗУ Загрузка в аккумулятор содержимого предварительно выбранного порта ввода ПЗУ (лннии ввода-вывода) Сложение с переносом слова, предвари- тельно выбранного из ОЗУ, с содержимым аккумулятора Загрузка в аккумулятор предварительно выбранного слова О состояния ОЗУ Загрузка в аккумулятор предварительно выбранного слова 1 состояния ОЗУ Загрузка в аккумулятор предварительно выбранного слова 2 состояния ОЗУ Загрузка в аккумулятор предварительно выбранного слова 3 состояния ОЗУ Сброс аккумулятора и триггера переноса Установка в О триггера переноса Увеличение на 1 содержимого аккумуля- тора Дополнение до 1 содержимого разряда пе- реноса Дополнение до 1 содержимого аккумуля- тора Сдвиг циклический влево (содержимого ак- кумулятора и разряда переноса) Сдвиг циклический вправо (содержимого аккумулятора и разряда переноса) Передача переноса в аккумулятор и уста- новка в О триггера переноса Уменьшение на 1 содержимого аккумуля- тора Мнаиоинна Код операции ~ Оа ОаОа Ое| Моиифииатор иан опеоаик Ра Оа Оа Ра Описание операции 77родолзкеиие 1 О О 1 1 1 1 1 ТСВ 1 О 1 О 1 О 1 1 1 1 О О БТС ПАА КВР 1 1 1 1 1 1 1 1 1 1 1 1 1 1 О 1 ВСЕ 1 1 1 1 Передача переноса при вычитании н уста- новка в О триггера переноса Установка в 1 триггера переноса Десятичная коррекция аккумулятора Команда ввода с клавишного пульта Преобразование содержимого аккумулято- ра из двоично-десятичного кода в двоич- ный код Назначение линии управления Приложение Б НАБОР КОМАНД МИКРОПРОЦЕССОРА 1МР-4 (С разрешения )ЧаПопа! Беш)сопдпс1ог Согр.) Таблица 8 Обозначения н символы, используемые в наборе команд Назначение Обозначение/снннол Аккумулятор (АСО, АС1, АС2 или АСЗ), где г — номер аккумулятора, указанного в команде Регистр адреса Р1Ш, используемый для адресации памяти нли внешних устройств Разряд, значение которого зависит от содержания поля с переменным значением Регистр управления блоком Значение 4-разрядного кода условия для команд условного перехода Триггер флажка переноса устанавливается в 1, если при выполнении команды возникает перенос Обозначение величины смещения.
Является операндом в командах без обращения к памяти или полем адреса в командах с обращением к памяти Номер загружаемого рабочего регистра, указанного в команде Исполнительный адрес Номер используемого флажка Одноразрядный флажок связи (Ь) Триггер флажка переполнения устанавливается в 1, если во время выполнения команды имеет место переполнение 12-разрядный счетчик команд в Р)ЬЫ Верхнее слово стека счетчика команд Номер рабочего регистра в команде АСг ВЫКСТЬ сс гизр бг ЕА (с О'ч' РС (СК) РС З1ас(г г 2.1. ОБОЗНАЧЕНИЯ И СИМВОЛЫ, ИСПОЛЬЗУЕМЫЕ В ОПИСАНИИ КОМАНД МИКРОПРОЦЕССОРА 1МР-4 Обозначения и символы, используемые в описании команд микропроцессора 1МР-4, даны в табл.
3. Обозначения расположены в алфавитном порядке, за ними следуют символы. Мнемоника, выраженная большими буквами, обозначает поля в слове команды, малыми — числовые величины соотвстствующих полей. В тех случаях, когда оба мнемонических кода состоят из одних и тех же букв, в табл. 3 указано значение для кода из малых букв; малая буква обозначает переменные. Набор команд микропроцсссора )МР"1 337 Продолжение Назначение Обозначение/снмиол ВЕЬ Флажок селекторного управления.
Предназначен для выде- ления сигналов переноса и переполнения и выдачи их на ли- нию переноса и переполнения (СУОЧ) микропроцессора, а также для включения разряда связи в операции сдаига Номер регистра в команде, из которого производится за- грузка Верхний регистр стека общего назначения в НА1Л1 Содержимое элемента, заключенного в скобки: (АСг) означа- ет «содержимое АСг»; (ЕА) означает «содержимое ЕА» Содержимое элемента, адресуемого ( ) Логическое дополнение (дополнение до 1) величины справа от гг» Элемент слева от м- заменяется элементом, находящямся справа Элемент справа от -и заменяется элементом, находящимся слева Обмен элементов Операция И Операция ИЛИ Операция ИСКЛЮЧАЮЩЕЕ ИЛИ зг БТК ( ) (( И 2нЬ ВОСЬМНРАЗРЯДНЫЕ КОМАНДЫ 2.3.1.
КОМАНДЫ. ТИПА РЕГИСТР— РЕГИСТР Мнемоника Описание он«ракии Код команды (АСбг)ч-(АСбг)+(АСзг); операция двоичного сло- жения данных в регистрах. СУ, ОЧ (АСдг) -(АСдг)гч,(АСзг); операция И над данными в регистрах (АСбг) -(АСдг) Ч (АСзг); операция ИСКЛЮЧАЮ- ЩЕЕ ИЛИ над данными в регистрах (АСбг) ~-(АСзг); копирование регистра (АСбг) — (АСзг); обмен данными между регистрами (АСбг) -(АСйг)+(АСзг); сложение десятичное с избытком 3 и поразрядным переносом ЬЬЬЬ !000 ЬЬЬЬ 1001 ЬЬЬЬ 1010 КАЬЮ кАЫО кХОК КСРУ КХСН ОАОО ЬЬЬЬ 1100 ЬЬЬЬ 1101 ЬЬЬЬ 11!О 2.2.
ОПИСАНИЕ КОМАНД Все команды разделены на классы и подклассы. Команды каждого жласса и подкласса Гпредставлены в виде таблицы. Дли каждого подкласса приведен формат команды. 388 Туриложелие Б В.й.й. ФЛАЖКОВЫЕ ОПЕРАЦИИ Мвеиовниа Кел нонаиды Опясанне оперюзни ЬЬЬЬ 1011 ЬЬЬЬ 1111 Установка флажка (см. табл. 4) Переброс флажка (см. табл. 4) Таблица 4 Коды флаигков Код 4щзжна (1с) Назиачеиве Ынеионняа 1Е.ричяыа ПОР 0110 !УКР 0111 1ХТЕХ ЗЕС 1000 1001 1ХРС 10!О А Р!)БИРС Р(Л.1РС МОУЕ ЯАЦ 1ХТА В С !у Е Р 1011 1100 ! 101 1! !О 1111 Принечавня.!. Все усвоена переходов проверяются в момент фазы 2, однаио сигнал прерывания вырабагываегся в фазе 3 предыдущего пнялз. 2.
Для иакропрограынированяя попользуются только флажнв 8-!З. Использование других флажков может прелести н нежелагельноиу занинливаяию. 0000 0001 0010 0011 0100 0101 1О1К 11)АКР 1.ОРСЕ ЮМ %ЕМ БУКБТ Загрузка регистра команд Загрузка регистра адреса Загрузка счетчика команд Считывание памяти-ьАК Запись в память Сохранение/восстановление флажков ПА!Л) Считывавие данных из внешних уст- ройств Запись данных во внешние устрой- ства Разрешение прерываний Выборочное использование разряда переноса при сдвиге Увеличение на ! содержимого счет- чика команд Загрузка стека счетчика команд Извлечение из стека счетчика команд Загрузка (АК)-и-(СК) (АК)-ьАдресная шина Подтверждение прерывания Набор команд макропроцессора !МР-4 389 2.3.3.
КОМАНДЫ С ОДНИМ РЕГИСТРОМ кбп Мнемоника Описание Код команды (БТК)»-(АСг) (АСг)»-(БТК) Сдвиг (АСг) влевоп Сдвиг (АСг) вправоо (АСг)» — Внешние устройства, адресуемые Ай; за- грузка регистра через Ай (АСг) — еВнешние устройства, адресуемые АК; вы- дача данных из регистра через АК (АСг)»-((Ай)); загрузка через Ай ((АК))»-(АСг); запись в память через Ай Сдвиг циклический влево (АСг) о ООЬЬОО!0 01ЬЬ0010 10ЪЬ0010 ! 1ЬЬ0010 ООЬЬОО!1 Р(1БН ИЛ.1. БН1. БНК К!ХТАК 01ЬЬ0011 КОТ)ТАК ООЬЬ0100 11ЬЬ0100 !1ЬЬ0101 ЬВТАК БТТАК К01.
О разряд связи участвует в сдвиге, если триггер флажка зе!. установлен в и использование разряда связи увеличивает чмсло разрядсн репистра до 5 (разряд связи — самый старший разряд регистра). 2.3лЕ СМЕШАННЫЕ КОМАНДЫ ход опероаио ход опероцои Код команды Описание 00000000 00010000 Не определенный код команды (БТК)»-(Флажки); загрузка в стек содержимого регистра флажков (Флажки)»-(БТК); извлечение содержимого ре- гистра флажков из стека 3 верхних слова БТК-е.(АК); загрузка АК (СК)»-(СК Бгас(г); возврат из подпрограммы Установка в 1 триггера флажка разрешения пре- рывания, (ВНКСТЬ)»-(БТК), (СК)»-(СК Б(ас)г); возврат нз ~рсрывания Не определенный код команды Установка в 1 триггера флажка разрешения пре- рывания, (Вчч)КСТЬ)»»(БТК), (СК)»-(СК Б(ас(г), (СК)»-(Ай); возврат из прерывания через АК РЬБНР РЫЬЬР 00100000 00110000 01000000 01010000 ЬВАК КТБ КТ! 01100000 01110000 К! ТА 390 Приложение Б 2.4.
ДВЕНАДЦАТИРАЗРЯДНЫЕ КОМАНДЫ 2«Е!. КОМАНДЫ С НЕПОСРЕДСТВЕННЫМИ ДАННЫМИ КОП Рдзаевр Лдл Данные Опксыае Мкемоекка Код команды (АСг)«-данные; загрузка непосредственная (АСг) «-(АСг) +данные; сложение непосредствен- ное. СУ, ОЧ 1.1 А1 1ОЬЬ0011 11ЬЬ0011 2.5. ШЕСТНАДЦАТИРАЗРЯДНЫЕ КОМАНДЫ 2.5.1. КОМАНДА С ИНДЕКСНЫМ РЕГИСТРОМ КПП Регистр КПП ЯПрсс Яирсс Опвсевве Мкемоккка Код команды Индексный регистр памяти. Используется для образования 12-разрядного адреса следующим образом: К1ЫО 10ЬЬ0110 Регистр Адрес Яррес 2.6. ДВАДЦАТИРАЗРЯДНЪ|Е КОМАНДЫ '> 2.6.1.
АРИФМЕТИЧЕСКИЕ КОМАНДЫ С ОБРАЩЕНИЕМ К ПАМЯТИ ~й2 нда мее р ~ тр 4дреес ) адрес 0 Исполнительный адрес содержится в 12 младших разрядах слова команды. Код команды Мнемоника Описание 2.6.2. КОМАНДЫ УСЛОВНОГО ПЕРЕХОДА С ПРОВЕРКОВ И КОМАНДЫ БЕЗУСЛОВНОГО ПЕРЕХОДА кпп Адрес Кдл А прес Адрес Код команды Описание Мнемоника 10000000 10100000 ЕВОЕ ВПЫЕ 11000000 11100000 2.6.3. УСЛОВНЫВ ПЕРЕХОД ПО КОДУ УСЛОВИЯ Кдр ( Адрес адрес '( Адрес Описание Кед команды Мнемоника ЬЬЬЬООО! 01ЬЬ0100 10ЬЬО!00 ООЬЬО!01 01ЬЬО!0! 10ЬЬО!01 ЬО ЗТ А))Р %1В ОК Набор команд микропроцессора !МР-4 391 (АСг) е-(ЕА); загрузка (ЕА)е-(АСг); запись в память (АСг)е-(АСг)+(ЕА); двоичное сложение. Сг', ОЧ (АСг)е-(ЕА)+ (АСг)+1; вычитание.