Й.Янсен Курс цифровой электроники. Том 4. Микрокомпьютеры (1987) (1092084), страница 32
Текст из файла (страница 32)
Монитор вместе с диалоговой программой и интерактивными функциями обычно подробно описывается в соответствующем руководстве, которое содержит информацию о работе таких программ, состоящих из нескольких тысяч команд. Монитор, а также программа для обработки текстов (ре. дактор), программы для трансляции с одного языка на другой Набор команд микроЭБМ 177 (компиляторы), программы ассемблирования и т. д. являются элементами «программного обеспечения»; их можно сравнить с такими специальными элементами аппаратурного обеспечения, как клавиатура, контроллеры для гибких дисков, память прямого доступа и видеодисплеи, состоящие из тысяч транзисторов, размещенных на одном кристалле. Пользователь или схемотехник может и не знать, как соответствующая функция реализуется на кристалле.
Этот кристалл находится в нашем распоряжении, его свойства известны и на этой основе осуществляется его применение. Например, автомобиль также приобретается для того, чтобы на нем ездить, но при этом потребителя мало интересует, как реализованы система зажигания и управления и т. д. Вместе с ЭВМ, которая оборудована всеми аппаратурными средствами для эффективного применения, обычно поставляется и необходимое программное обеспечение, хранящееся в ПЗУ, на диске или на ленте. Функционирование ЭВМ в том виде, как оно описано в проспекте фирмы-изготовителя, реализуется в результате взаимодействия аппаратурного обеспечения с программным обеспечением.
Программное обеспечение часто определяется термином «операционная система» (ОС) (см. гл. 1). В дополнение к ОС фирма-изготовитель предоставляет также большой набор специальных программ, предназначенных для самых различных применений. Эти программы можно приобрести и отдельно от ЭВМ. Специальные программы существуют, например, для оформления накладных и выполнения дебиторских, кредиторских, снабженческих и других операций. Соответствующие программы можно скопировать на диск или ленту. Однако такой способ «приобретения» программного обеспечения обычно квалифицнруется как незаконный и фирмы-изготовители принимают специальные меры для борьбы с этим видом хищений.
В частности, программе присваивается в ОС определенный серийный индекс. В ходе выполнения программ этот индекс обрабатывается с помощью специальной, достаточно хитроумной процедуры, причем нахождение ключа к декодированию индекса является неразрешимой задачей. Индекс кодируется в определенном элементе аппаратурного обеспечения, после чего программа выдает его только в кодированной форме.
Если хранящийся в ЭВМ индекс и индекс, полученный из программы, не совпадают, то выполнение программы прекращается. В сфере применений, где затраты человеческого труда и стоимость машинного времени не играют существенной роли, находятся достаточно подготовленные люди, которые берутся декодировать кодовый ключ, видя в этом свой шанс похитить у 178 Глава 8 Набор команд МП 8088А Код команды Число машннОт Оа Оа Оа Оэ Ок От Оа тактов Мнемонике Описание МОЧг!, г2 МОЧ М. г МОЧг.
М Переслать содержимое 0 из регистра в регистр Переслать содержимое 0 из регистра в память Переслать содержимое 0 памяти в регистр Переслать в регистр не- 0 посредственный операнд Переслать в память не- 0 посредственный операнд Загрузить непосредст- 0 еенный операнд в двойной регистр ВС .Загрузить непосредст- 0 еенный операнд в двойной регистр ВЕ Загрузить непосредст- 0 еенный операнд в двойной регистр НЬ Загрузить непосредст- 0 еенный операнд в указатель стека Косвенно записать в па- 0 мять содержимое аккумулятора Косвенно записать в на- 0 мять содержимое аккумулятора Косвенно загрузить вк- 0 кумулятор Косвенно загрузить вк- 0 кумулятор Непосредственно запи- 0 сать в памнть содержимое аккумулятора Непосредственно звгру- 0 вить.аккумулятор МЧ1 г МЧ1 М 1.Х! В ЬХ! Р 1Х! Н 1.Х! БР ЗТАХ В ЗТАХ Р с!.РАХ В ЕВАХ Р БТА : РА ПЕРЕСЫЛКА, ЗАГРУЗКА, ЗАПИСЬ 1 Р Р Р 3 Я 3 4 1 1 ! 0 3 3 3 7 1 Р Р Р 1 1 О 7 0 Р Р Р 1 1 0 7 0 ! ! 0 ! 1 0 !О 0 0 0 0 0 0 1 10 0 0 1 0 0 0 ! 1О 0 1 0 0 0 0 ! 10 0 1 ! 0 0 0 1 1О 0 0 0 0 0 1 0 7 0 0 1 0 0 1 0 7 0 О 0 1 0 ! 0 7 0 0 1 1 0 ! 0 7 О ! ! О О 1 О 13 0 1 1 1 0 1 0 !3 179 Побор команд микроЗВМ Продолжение Маемовнка Опасанна ВН1.О 1.Н!.О ХСНО РУБН В РОБИ Р Р13БН Н РАН Р5% РОР В РОР О РОР Н РОР РЯ!вт ХТН1.
БРН1 Непосредственно записать в память содержимое двойного регистра Н1. Непосредственно загрузить содержимое памяти в двойной регистр Н1. Обменять содержимое двойных регистров ОЕ, Н1. ОПЕРАЦИЯ СО СТЕКОМ Протолкнуть в стек содержимое двойного регистра ВС Протолкнуть в стек содержимое двойного регистра ОЕ Протолкнуть в стек содержимое двойного регистра Н1.
Протолкнуть в стек содержимое аккумулятора и флажковые биты Вытолкнуть из стека содержимое двойного регистра ВС Вытолкнуть из стека содержнмое двойного регистра ОЕ Вытолкнуть из стека содержимое двойного регистра Н1. Вытолкнуть нз стека содержимое аккумулятора и флажковые биты Обменять содержимое верптины стека идвойного регистра НЕ Переслать содержимое двойного регистра НЕ в указатель стека Код команды Число машанов !та ов Оа Оа тта Рт Оа тактов 0 0 1 0 0 0 ! 0 1б 0 0 ! 0 1 0 1 0 16 1 1 1 0 1 0 1 1 4 1 1 0 0 0 1 0 ! !2 1 1 0 1 0 1 0 ! 12 1 1 1 0 0 ! 0 1 !2 1 1 1 1 0 1 0 1 12 1 1 0 0 0 0 0 1 1О О ! О О О ! 1а 1 1 ! О О О О ! 10 ! ! 1 1 0 0 0 1 10 ! 1 1 0 0 0 ! 1 16 1 1 1 1 ! 0 0 1 6 080 Глава д Продолжение Описание Мнемоника ПЕРЕХОЛЫ 1 10 О 7/!О 1 0 0 0 0 ! 1 0 ! 1 0 1 Безусловный переход 1 Переход, если флажок 1 переноса установлен Переход, если флажок 1 переноса не установ- лен ЛМР ЗС 1 0 ! 0 0 ! 0 7/10 ЗНС 1 0 0 ! 0 ! 0 7/10 Переход, если флажок 1 нулевого результата установлен Переход, если флажок 1 нулевого результата не установлен Переход, если флажок 1 знака положительный Переход, если флажок 1 знака отрицательный Переход, если флажок ! четности установлен Переход, если флажок 1 четности сброшен Переслать содержимое 1 двойного регистра Н1.
в счетчик команд 1 0 0 0 0 1 0 7/!0 1 1 1 0 О 1 0 7/10 О ! О 7/!О ! ! 0 1 0 1 0 7/10 ! ! 0 0 0 ! 0 7/!О 1 1 0 1 0 0 1 6 ЛРЕ 4РС РСНЕ ВЫЗОВ ,Безусловный переход к 1 подпрограмме Переход к подпрограм- 1 ме, если флажок переноса установлен Переход к подпрограм- ! ме, если флажок переноса не установлен Переход к подпрограм- 1 ме, .если флажок ну. левого результата установлен 'Переход к подпрограм- ! ме, если флажок нулевого результата не установлен САНЬ 1 0 0 ! 1 0 1 18 1 0 1 ! 1 0 0 9/18 С!т1С 1 0 1 0 1 0 0 9/18 1 0 0 1 1 0 0 9/18 ! 0 0 0 1 0 0 9/!8 С!т/2 Код команды Число машинпт оа гта оа оз оа от оа тактов 181 Набор команд микроЭВМ Продолжение Код команды Число машннОт Оа О.
Оа Оа Оз Ог Ое НЫК тактон Описание Мнемоника СМ СРЕ СРО ВОЗВРАТ О О 1 10 О О О 6/12 1 О О 1 1 О 1 1 ЕЕТ йС В!92 ЕРЕ ЯРО ЕБТ ВВО,!1-ВЫВОЛ Ввод данных Вывод данных 1 1 О 1 1 О 1 1 10 1 1 О ! О О 1 1 16 !дт О!/Т Переход к подпрограм- 1 ме, если флажок знака положительный Переход к подпрограм- 1 ме, если флажок зна- ка отрицательный Переход к подпрограм- 1 ме, если флажок чет- ности установлен Переход к подпрограм- 1 ме, если флажок чет- ности сброшен Возврат 1 Возврат, если флажок 1 переноса установлен Возврат, если флажок 1 переноса не установ- лен Возврат, если флажок 1 нулевого результата установлен Возврат, если флажок 1 нулевого результата не установлен Возврат, если флажок 1 знака положительный Возврат, если флажок 1 знака отрицательный Возврат, если флажок 1 четности установлен Возврат, если флажок 1 четности сброшен РЕСТАРТ Рестарт, повторный за- 1 пуск 1 1 1 О 1 О О 9/18 1 1 1 1 1 О О 9/18 1 1 О 1 1 О О 9/18 1 1 О О 1 О О 9/18 1 О 1 О О О О 6/12 1 О О 1 О О О б/12 1 О О О О О О 6/12 1 1 1 О О О О 6/12 1 1 1 1 О О О 6/12 1 1 О 1 О О О 6/12 1 1 О О О О О 6/12 1 А А А 1 1 1 12 182 Глава 3 Продолжение Описание Мнемоника ИНКРЕМЕНТ И ДЕК- РЕМЕНТ Увеличить содержимое регистра на 1 Уменьшить содержимое регистра на 1 Увеличить содержимое ячейки ЗУ на 1 1НЕ г Уменьшить содержимое ячейки ЗУ на 1 Увеличить содержимое О О О О О двойного регистра ВС на 1 О 1 1 6 Увеличить содержимое двойного регистра 0Е на 1 1ЫХ 0 Увеличить содержимое двойного регистра Н1 на 1 1!4Х Н содержимое О О 1 1 О стека на 1 О 1 1 6 О 1 1 6 1НХ БР 0СХ В содержимое О О О О 1 регистра ВС содержимое О О О 1 1 регистра 0Е О 1 1 6 0СХ 0 содержимое О О 1 О 1 регистра НЕ О ! 1 6 0СХ Н О О ! 1 ! О Уменьшить содержимое указателя стека на.
1 0СХ ЬР СЛОЖЕНИЕ Прибавить содержимое регистра к содержимому аккумулятора Прибавить содержимое регистра к содержимому аккумулятора с переносом А00 г АОС г 0СЕ г 11чтй М 0СЕ М 1НХ В Увеличить указателя Уменьшить двойного на 1 Уменьшить двойного на 1 Уменьшить двойного на 1 Код команды Число машинно Ре Ок Ок Эк Ок Од Юо тактов О О 0 0 0 1 О О 4 О О 0 0 0 1 О ! 4 О О 1 1 О 1 О О 10 О О 1 1 О 1 О 1 1О О О О 1 О О 1 1 6 О О 1 О О О 1 1 6 1 О О О О 3 3 Б 4 1 О О О 1 Я 3 3 4 Набор команд микроЭВМ 183 Продолжение Мнемоника Описание А!гО М АОС М АО! АС1 ОАО В ОАО О ОАО Н ОАО БР ВЫЧИТАНИЕ Ь!!В г БВВ г ЬСВ М Прибавить данные, хранящиеся в ЗУ, к содержимому аккумулятора Прибавить данные, хранящиеся в ЗУ, к содержимому аккумулятора с переносом Прибавить непосредственный операнд к содержимому аккумуля. тора Прибавить непосредственный операнд к содержимому аккумулятора с переносом Прибавить содержимое двойного регистра ВС к содержимому Й1 Прибавить содержимое двойного регистра ОЕ к содержимому Йь Прибавить содержимое двойного регистра НЕ к содержимому Н1.
Прибавить содержимое двойного регистра Н1 к содержимому указатели стена Вычесть содержимое регистра из содержимого аккумулятора Вычесть содержимое регистра из содержимого аккумулятора с зае- мом Вычесть данные, храня. щиеся в ЗУ, из содержимого аккумулятора Код команды Число машин От Оа Оа Оа Оа Ои Ог Оо тактоа 1 О О О О ! 1 О 7 ! О О О ! ! 1 О 7 1 ! О О О 1 1 О 7 1 1 О О 1 1 1 О 7 О О О О 1 О О 1 !О О О О ! 1 О О 1 10 О О 1 О 1 О О 1 !О О О 1 1 ! О О 1 !О ! О О 1 О 3 3 3 4 ! О О 1 1 3 3 3 4 ! О О ! О 1 1 О 7 184 Глана 3 Описание Мненоннкв О О 1 1 ! 1 О 7 БВВ М 1 О 1 О 1 1 О 7 1 О 1 1 ! БВ1 1 О 7 АИА г О ! О О Б Б Б 4 ХКА г О 1 О 1 Б Б Б 4 О!7А г О 1 1 О Б СМР г О 1 1 1 Б Б Б 4 А14А М О ! О О 1 1 О 7 ХКА М О 1 О ! 1 1 О 7 ОКА М О 1 ! О ! 1 О 7 Вычесть данные, хранящиеся в ЗУ, из содержимого аккумулятора с заемом Вычесть непосредственный операнд из содержимого аккумуля.