Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Составление программ




IN p

KO

KO (S)

KO

KO (S)

KO (S)

(A)+(S)®(A)

Рисунок 16 – Формат команды ADD S

Пример. 2.

SUB S – вычитание (S) из (А) с записью результата в А (рисунок 17).

Команда 10 010 01l в соответствии с кодом из табл. 7 (22S) со­держит 10 0102 = 22 – код вычитания, 011г = 3 (РОН Е), т.е. по команде SUB Е из (А) вычитается (Е). Восьмеричный код 223.

 

<B1>           S S S SUB S

(A)-(S)®(A)

Рисунок 17 – Формат команды SUB S Пример 3.

SUI2 – вычитание содержимого второго байта В2 из А и поме­щение результата в А (рис. 18). Команда двухбайтовая.

 

<B1>                 SUI a

(A)-(<B2>)®(A)

 

<B2> Данные S  

 

 

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

Логические команды реализуют операции И, ИЛИ, НЕ, исклю­чающее ИЛИ, сдвиги влево и вправо и другие команды с формирова­нием признаков ССС.

Операнды хранятся в РОН или ячейках ОЗУ, результат поме­щается в аккумулятор.

Пример 1.

ANA S – команда выполняет операцию поразрядного логиче­ского И над (S) и (А). Например, команда 10 100 100 поразрядно логи­чески умножает (А) и (H), восьмеричный код для команды ANA H -244(рис. 19).

<B1>           S S S ANA S

(A) & (S)®(A)

Рисунок 19 – Формат команды ANA S

Пример 2.

ANI2 выполняет поразрядно операцию И над содержимым вто­рого байта В2 и (А). Команда двухбайтовая, ее код 346, т.е. в двоичной форме 11 100 110(см. рис. 20)

 

<B1>                 ANI a

(A) & (<B2>)®(A)

 

<B2> Данные S  

 

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

Пример 3.

ORA S аналогична команде ANA S, но выполняет операцию по­разрядного логического ИЛИ, т.е. (A)V(S) ® (A), код 26S.

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

Пример 1.

JMP 2 3 – трехбайтовая команда передачи управления по адре­су, содержащемуся в В2 и ВЗ путем записи содержимого В2 и ВЗ в PC (PC - шестнадцатиразрядный регистр). Код команды 303 (рис. 21).

 

<B1>                 КО

 

<B2> Младшие разряды адреса S JMP a

 

<B3> Старшие разряды адреса S  

(ВЗ) (В2) -> (PC), где PC - счетчик команд

Рисунок 21 – Формат команды JMP a

Пример 2.

CALL a – команда безусловного перехода к подпрограмме, трех­байтовая (рис. 22). Восемь старших разрядов адреса следующей ко­манды пересылаются в ячейку памяти, адрес которой на один меньше содержимого указателя стека SP. Восемь младших разрядов адреса следующей команды пересылаются в ячейку памяти, адрес которой на два меньше (SP). Содержимое SP уменьшается на два. Управление пе­редается команде, адрес которой расположен в В2 и ВЗ команды CALL:

((SP) - 1) (РСН);

((SP) - 2) (PCL);

(SP) ((SP) - 2);

(PC) (ВЗ) (В2).

Код команды – 315.

 

<B1>                  

 

<B2> Младшие разряды адреса S  

 

<B3> Старшие разряды адреса S  

 

Рисунок 22 – Формат команды CALL a

Пример 3.

RET – однобайтовая команда с кодом 311, по ней содержимое указателя стека увеличивается на два, содержимое ячейки памяти по адресу, хранящемуся в SP, пересылается в СК на место младших восьми разрядов, содержимое ячейки памяти, по адресу на один больше­му, чем содержимое SP, пересылается в СК на место старших восьми разрядов.

(PCL) (SP);

(РСН) ((SP) + 1);

(SP) ((SP) + 2).

Таким образом, возврат в основную программу происходит при обращении к байту команды, следующему за байтом, используемым командой CALL.

Команды управления, ввода-вывода и работы со стеком служат для управления работой МП, портами ввода-вывода и стеком; на флаги ССС влияния не оказывают.

Пример 1.

XTHL меняет содержимое регистра L на содержимое ячейки памяти по адресу, содержащемуся в указателе стека SP, и наоборот. Содержимое РОН Н меняется на содержимое ячейки памяти по адре­су, на один большему, чем (SP) и наоборот. Команда однобайтовая, код -343.

(L) ® (SP);

(Н) ® ((SP) + 1).

Пример 2.

IN <B2>, OUT <B2> - двухбайтовые команды, служат для ввода данных от входного порта в А и вывода данных из А в выходной порт, соответственно, имеют коды 333 и 323. Второй байт обеих ко­манд отведен под адрес соответствующего входного и выходного пор­тов (рисунок 23).

 

<B1>                  
<B2> Адреса порта S  

(А) (Данные)

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

 

Рассмотрим составление программ суммирования первых 40 чи­сел натурального ряда. При этом нужно иметь в виду, что все коман­ды и ячейки памяти записываются в восьмеричной системе. Будем суммировать последовательно уменьшающиеся числа, от 40 до 1. Ал­горитм программы приведен на рисунке 24.

Распределение памяти: регистр А – результат; регистр D – слагаемые от 40 до 1: 10000 – начальный адрес СК. Программа раз­мещается в ячейках памяти ОЗУ с номерами от 010000 до 010013. В ячейку 010000 помещена команда MVI А О (первый байт), в ячейку 010001 – число 0 (второй байт команды).

 

 

Рисунок 24 – Алгоритм программы сложения чисел натурального ряда

В ячейке 010002 находится 1-й байт MVI D О, в ячейке 010003 – число от 478 до 4010 т.е. 40 в восьме­ричном коде, и т.д.

Коды команд берутся из таблицы 7, коды РОН – из таблицы 6.

При кодировании команды ус­ловного перехода JNZ Ml при нера­венстве нулю результата предыду­щей команды во втором байте ука­зывается старший байт адреса ячей­ки, которой передается управление, в третьем байте – младший байт ад­реса.

Уменьшение слагаемого на 1 производится командой DCR D. Вы­вод результата осуществляется во внешнее устройство – порт P000 (если P000 – дисплей, P001 – принтер и т.п., то на экран дисплея). Программа приведена в табл. 9.

 

Таблица 9- Программа вывода

CК (СР) КО или <В2>, <ВЗ> Метки Мнемокод команды Содержимое команд
        {A)0
        Число 0
      MVI D48 (D) 4010
         
    М1: ADDD (A)+(D)®(A)
      DCRD (D)-1® (D)
        JNZ Ml Условный переход к Ml при #0
        Старший байт Ml
        Младший байт Ml
      OUT 000 Вывод из А в номер порта 000
         
      HLT Останов

 

Собственно программа, которая вводится в МП, размещена в левой части – СК и КО, а в правой части приведена мнемоническая запись программы с комментариями, предназначенная для удобства работы программиста.

4.3 Архитектура, система программирования микроЭВМ «Электроника-60»

Одноплатная микроЭВМ «Электроника-60» используется для построения вычислительных комплексов, предназначенных для сбора, накопления и обработки цифровой информации моделирования и управления объектами в реальном масштабе времени. Разрядность микроЭВМ для чисел и команд составляет 16 двоичных разрядов, ко­личество регистров РОН – 8, принцип работы основных устройств – параллельный, емкость ОЗУ до 32 Кбайт шестнадцатиразрядных слов, принцип построения ЭВМ – модульный, т.е. все функциональные блоки выполнены в виде конструктивно законченных устройств (модулей); связь между модулями производится через одну общую шину – канал обмена информацией (рис. 25).

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

Центральный процессор построен на базе микропроцессорного набора БИС серии К581, состоящего из схемы управления - БИС бму (К581ИК2), схемы регистрового АЛУ - БИС РАЛУ (К582ИК1) и трех БИС МПЗУ для хранения микрокоманд ЭВМ (К581РУ1 К581РУ2, К581РУЗ). Все БИС соединены микроканалом (МК) из 22 линий связи (рис. 26).

Рисунок 25 – Структурная схема микроЭВМ «Электроника-60»

Блок управления каналом (БУК) ЭВМ обеспечивает взаимодей­ствие канала ЭВМ с блоком ЦП. БИС РАЛУ состоит из блока АЛУ, блока 8 РОН, два из которых являются указателем стека SP и счет­чиком команд PC, блока дешифратора РОН и шестнадцатиразрядного регистра состояний процессора, в котором используются шесть раз­рядов для определения текущего приоритета ЦП (разряд 7), Т – раз­ряда прерывания программы при ее отладке (разряд 4) и разряды условий ветвления по знаку результата N (разряд 3), по равенст­ву результата нулю Z (разряд 2), по арифметическому переполнению V (разряд 1) и переносу единицы С (разряд 0).

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

Управляющая программа и данные записываются в ОЗУ или считываются с внешних устройств ввода-вывода УВВ через интер­фейсы. Интерфейсы могут быть ориентированными на связь ЦП со стандартным УВВ (дисплеем, перфоратором и т.д.) или универсаль­ными, которые при необходимости за счет наличия дополнительных линий связи задействуются с любым УВВ пользователя (датчики СЧПУ и др.). Интерфейсные блоки состоят из регистров состояния и регистров данных приемника и передатчика. Обмен между устройст­вами выполняется как шестнадцатиразрядными словами, так и байтами в трех режимах: программном, в режиме прерывания и режиме прямого доступа к памяти.

Интерфейс И2 служит для подсоединения к каналу ЭВМ уст­ройств УВВ обмена данных в шестнадцатиразрядном параллельном коде (пульт оператора, дисплей и др.).

Интерфейс И 7 предназначен для подключения к каналу ЭВМ устройств УВВ данных в восьмиразрядном параллельном коде (цифропечатающее устройство «DZM-180» и «Роботрон 1156»).

Интерфейс УПО (устройство последовательного обмена) служит для подсоединения к каналу ЭВМ устройств ввода-вывода для обмена данными в последовательном коде по двухпроводной линии; исполь­зуется для связи с удаленными от ЭВМ объектами, когда нецелесооб­разно соединять ЭВМ и объект многопроводным каналом связи для передачи данных в параллельном коде.

Интерфейс И4 выполняет в составе вычислительного комплекса функции обмена информацией между каналом ЭВМ и контроллером НГМД (внешняя память), регенерации динамической памяти в режи­ме прямого доступа и начальной загрузки системы.

 


Рисунок 26 – Структурная схема центрального процессора микроЭВМ «Электроника-60»

 

Интерфейс ВЗ предназначен для ввода данных в ЭВМ с фотосчитывающего устройства «FS1501» или «СПЗ».

Интерфейс В21 служит для вывода данных из ЭВМ на ленточ­ный перфоратор «ПЛ-150М».

Программирование микроЭВМ и микропроцессорных систем за­висит от аппаратных возможностей и характеристик современных микроЭВМ и микропроцессоров.

Основной системой команд, унифицированной в разработках программного обеспечения многих микро- и миниЭВМ, является сис­тема команд микроЭВМ «Электроника-60» и ее модификаций. Базо­вые варианты системы применяются в ЭВМ типа НЦ-80-01, НМС 111001, CMC 121.2, СМ-3, СМ-4 с модификациями (процессоры этих ЭВМ имеют единую архитектуру и программную совместимость) и используются в составе систем ЧПУ и модулей ГПС (2С42, 2С85 2У32, 2МЧЗ и др.). Эта же система рекомендована к применению в странах СЭВ.

В настоящее время и ближайшие годы разработка системных программ для систем ЧПУ будет выполняться на языке Ассемблер с применением кросс-средств, так как из-за большого объема логиче­ских преобразований и работы в реальном масштабе времени про­граммирование управляющей ЭВМ на языке высокого уровня – непригодно.

Система команд микроЭВМ «Электроника-60» позволяет разра­батывать как программное обеспечение работы системы управления станков с ЧПУ, ПР и модулей ГПС, так и составлять программы для обработки деталей на этом оборудовании.

Базовый вариант операционной системы состоит из Ассемблера, компоновщика, редактора текста и отладчика программ. В данном па­раграфе рассмотрена основа базового варианта – язык Ассемблер микроЭВМ «Электроника-60».




Поделиться с друзьями:


Дата добавления: 2015-04-29; Просмотров: 553; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.