Программно-математическое обеспечение устройства специализированного вычислительного телеметрического
Описание и назначение устройства специализированного вычислительного телеметрического. Главные требования к информационному составу кадра при КРП, ОПС и ОР. Разработка программного обеспечения первого процессора (прием информации и ее передача).
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 30.11.2011 |
Размер файла | 50,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
ПРОГРАММНО-МАТЕМАТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ УСТРОЙСТВА СПЕЦИАЛИЗИРОВАННОГО ВЫЧИСЛИТЕЛЬНОГО ТЕЛЕМЕТРИЧЕСКОГО
Введение
В качестве темы курсового проектирования была выбрана тема разработки программного обеспечения устройства потому, что в современных устройствах и технологиях программирование является неотъемлемой частью. Программирования блоков позволяет сократить использование сложных, порой даже невозможных схемотехнических решений, увеличить скорость работы устройства.
Программными средствами решается не только упрощение устройства, но и анализ всех сигналов, проходящих через контроллер или процессор, в том числе и цифровой информации. В процессе прохождения всего тракта цифровой информации, она может изменяться, упаковываться, сортироваться, фильтроваться и так далее, и все это стало простым и доступным средством благодаря программированию «железа».
1. Назначение УСВТ
вычислительный телеметрический кадр программный
Разрабатываемое программное обеспечение (ПО) предназначено для устройства специализированного вычислительного телеметрического (УСВТ) С-13165. Данное УСВТ используется в ракетоносителях типа СОЮЗ как промежуточное устройство в телеметрической системе ракетоносителя. Задачей УСВТ является сбор информации с кодовых линий бортовой аппаратуры системы управления (БАСУ), формирование телеметрического кадра цифровой информации и передача данной информации в систему телеметрической информации (СТИ). СТИ после чего производит окончательное формирование телеметрической информации и передает ее на землю по средствам радиоканала. Время приема и передачи информации ограничивается циклом работы бортовой центральной вычислительной системы (БЦВС). Состав информации зависят от режима работы ракетоносителя. Ракетоноситель имеет 3 основных режима работы: комплексные регламентные проверки (КРП), основная программа предстарта (ОПС) и собственно сам полет - основной режим (ОР).
2. Описание УСВТ и принцип работы
УСВТ представляет собой 3-х канальный приемник и 2-х канальный передатчик. Первый и второй передатчик обрабатывают информацию со всех трех входных каналов. Прием информации со всех входных каналов на один выходной канал организован на процессоре ВЦ1865ВМ2, который является отечественным аналогом процессора фирмы Texas Instruments TMS320C25. ВЦ1865ВМ2 имеет ту же самую технологию, структуру и систему команд, что и зарубежный процессор, поэтому используется то же самое программное обеспечение для разработки и отладки программ. Передача информации на один выходной канал так же организована на процессоре ВЦ1865ВМ2. Схемотехникой УСВТ взаимодействие между процессорами организовано по средствам переключаемой внешней ОЗУ (оперативно запоминающее устройство). Таким образом, приемник и передатчик работают независимо друг от друга, т.е. один процессор накапливает входную информацию во время одного цикла работы системы, второй процессор производит обработку и передачу информации, накопленной в предыдущем цикле. Переключение ОЗУ происходит после приема данных, сообщающих об окончании цикла работы. Информация, циркулирующая в кодовой магистрали, представляет собой командные слова (КС) и слова данных (СД). Слова 16-разрядные.
3. Исходные данные
3.1 Основные технические требования
вычислительный телеметрический кадр программный
УСВТ должен решать следующие задачи:
· Формировать служебное слово УСВТ по результатам самоконтроля
· Формировать и выдавать в СТИ кадр заданной структуры с произвольным содержанием и длительностью по включению питания до момента поступления входной информации
· Осуществлять сбор информации из магистральных кодовых линий связи БАСУ за интервал времени между поступлением из БЦВС в УСВТ КС «Конец выдачи в СТИ»
· Формировать кадр заданной структуры и составом информации в соответствии с разделами 3.2, 3.3, 3.4
Структура выходного кадра УСВТ должна быть следующая:
· Три маркерных слова с кодом 0хFFFF
· Слово данных при КС «Конец выдачи в СТИ»
· Служебное слово УСВТ
· Информационные слова кадра УСВТ
Длительность кадра УСВТ равна интервалу времени между поступлением в УСВТ первых командных слов после массива с КС «Конец выдачи в СТИ».
Начало считывания выходного кадра УСВТ должно соответствовать моменту прихода первого КС после массива с КС «Конец выдачи в СТИ».
УСВТ должен сформировать признак «Конец выдачи в СТИ», если на его вход не поступил КС «Конец выдачи в СТИ», при условии наполнения по входу прибора 1200 слов. Сформированный признак «Конец выдачи в СТИ» является условием для формирования маркера кадра.
При длительности цикла БЦВС (60±1) мс и частоте считывания информации в СТИ 12,8 кГц объем информации, передаваемой в СТИ в выходном кадре прибора, составляет 376-387 16-разрядных слов.
Информационный состав кадра УСВТ определяется в зависимости от режима работы БАСУ, признаки которого содержаться в 16-12 разрядах СД при КС «Конец выдачи в СТИ»:
· Режим КРП - 10100
· Режим ОПС - 00100
· Режим ОР (Временной интервал t0 - t0\) - 01110
· Режим ОР (Временной интервал t0\ - tk) - 111XX
Требования к информационному составу приведены в ИД на программно-математическое обеспечение (ПМО) УСВТ, в данной пояснительной записке к курсовой работе не приводиться по причине коммерческой тайны.
Прибор должен анализировать признак режима работы БАСУ в каждом кадре для режимов КРП и ОПС. Анализ режима работы в каждом кадре для режима ОР не требуется.
Выдача в СТИ информации последнего зарегистрированного в приборе слова кадра обеспечивается поступлением из БАСУ КС «Конец выдачи в СТИ».
3.2 Требования к информационному составу кадра УСВТ при КРП
Информационный состав кадра УСВТ при КРП одинаковый для первого и второго выходных потоков УСВТ приведен в таблице 1.
Таблица 1 - Структура и состав кадра для одного потока УСВТ при КРП
Номер слова в кадре |
Содержание слова |
|
1 |
Маркер (FFFF) |
|
2 |
Маркер (FFFF) |
|
3 |
Маркер (FFFF) |
|
4 |
СД при КС «Конец выдачи в СТИ» |
|
5 |
Служебное слово УСВТ |
|
6 |
Номер кадра |
|
7 |
Первое слово I канала БЦВС |
|
… |
… |
|
Последнее слово I канала БЦВС |
||
5678 |
||
Первое слово II канала БЦВС |
||
… |
||
Последнее слово II канала БЦВС |
||
5678 |
||
Первое слово III канала БЦВС |
||
… |
||
Последнее слово III канала БЦВС |
На выход УСВТ должна быть передана вся информация (КС, ОС, СД) трех каналов обмена между БЦВС и СУ, циркулирующая в магистралях. Порядок слов в кадре должен соответствовать порядку их поступления на вход УСВТ.
Допускается не контролировать цифровую информацию, циркулирующую в магистралях обмена БЦВС с абонентами, в течении 1 мс после прихода СД при КС «Конец выдачи в СТИ».
УСВТ должен сформировать порядковый номер кадра и передать его в шестом слове кадра. Начало счета кадров с момента поступления информации на вход УСВТ после включения питания.
3.3 Требования к информационному составу кадра УСВТ при ОПС
Информационный состав кадра УСВТ приведен в таблице 2 для первого и второго выходных потоков УСВТ.
Таблица 2 - Структура и состав кадра УСВТ при ОПС
Выход УСВТ |
1 поток |
2 поток |
|
Номер слова в кадре |
Содержимое слова |
||
1 |
Маркер (FFFF) |
Маркер (FFFF) |
|
2 |
Маркер (FFFF) |
Маркер (FFFF) |
|
3 |
Маркер (FFFF) |
Маркер (FFFF) |
|
4 |
СД командного слова «Конец выдачи в СТИ» |
||
5 |
Служебное слово УСВТ |
||
6 |
Номер кадра |
||
Обменная информация из I канала БЦВС |
Обменная информация из II и III каналов БЦВС |
||
5678 |
|||
Нечетные массивы расчетной информации |
Четные массивы расчетной информации |
Обменную информацию с КС AE06 ввести в состав выходного кадра УСВТ с 3-х каналов.
3.4 Требования к информационному составу кадра УСВТ при ОР
Информационный состав кадра УСВТ при ОР, номера слов кадра БЦВС (из состава массивов КС E220), включенных в состав кадра УСВТ, временные интервалы контроля разовых параметров и логико-временная диаграмма работы БЦВС приведены в исходных данных. В ПЗ не приводится по причине коммерческой тайны и большого объема информации, носящей чисто технический характер.
4. Разработка программно-математического обеспечения УСВТ
4.1 Разработка программного обеспечения первого процессора (прием информации)
Всю входную информацию, поступающую на УСВТ условно можно разделить на 5 групп, если не считать деление на каналы БЦВС. В каждой группе информация объединяется по первым пяти битам командного слова - они имеют одинаковую кодировку: E000, 9800, C800, 4000 и A800. Так же необходимо сохранять порядок поступление слов на вход УСВТ, поэтому всю входную информацию необходимо сохранять по порядку их поступления. Прием информации осуществляется по сигналам внешних прерываний, причем для КС предусмотрено одно внешнее прерывание, для СД другое внешнее прерывание. Так же для предотвращения случайных помех по входу при включении всей аппаратуры необходимо предусмотреть запрет каких либо действий в течении 10 секунд после включения питания. Так же у процессора есть возможность хранить данные в своей ПЗУ (памяти программ) и загружать эти данные в память данных. У процессора еще имеется возможность перехода в памяти программ по адресу, находящемуся в аккумуляторе, т.е. переход к необходимым местам программы, адреса которых можно хранить в памяти программ в виде константы. В процессоре имеется 8 регистров общего назначения, которые позволяют производить обращение к ОЗУ, операции сравнения, участвовать в операциях условного перехода и подчиняются операциям инкремента и декремента. ОЗУ картирована. Первые адреса занимают вектора прерывания и различные регистры процессора, затем идет нулевой банк ОЗУ, к которому имеется доступ из любого уровня доступа (в нем обычно размещают своеобразный стек при обработке прерываний и глобальные переменные). Затем идет остальная часть ОЗУ, которая используется при работе программы. Для условного обозначения конца кадра в ОЗУ или пользовательской таблицы в ПЗУ используется кодировка FFFF.
Исходя из выше сказанного, организуем ОЗУ, ПЗУ и программу следующим образом:
· Поделим ОЗУ на 3 зоны по 1200 слов в каждой для хранения входной информации. Каждая зона для отдельного потока.
· Так же выделим 5 зон для хранения адресов каждого из 5 групп КС. Для каждой зоны максимальное количество КС в одном цикле приведено в ИД.
· Создадим таблицу в ПЗУ, в которой будут храниться адреса процедур сохранения ссылок на КС-ы каждой группы.
· Используем счетчик таймер для организации 10-секундной задержки по включению питания.
· Организуем обработку прерываний.
Таким образом получаем 4 основных куска программы:
· Начальная инициализация, очистка ОЗУ, настройка таймера на отсчет 10 секунд, разрешение прерываний от таймера, запрет внешних прерываний, настройка регистров и переменных.
· Обработка прерывания по таймеру, после отсчета 10 секунд отключение таймера и разрешение внешних прерываний.
· Обработка внешнего прерывания по КС. Сохранение трех потоков в ОЗУ, сохранение адресов пришедших КС в соответствующую группу, проверка на наличие КС «Конец выдачи в СТИ», в случаи отсутствия данного КС формирование собственного признака по переполнению.
· Обработка прерывания по СД. Сохранение в памяти трех потоков в ОЗУ, проверка на наличие конца цикла БЦВС, обозначение конца кадра.
Таблица с адресами функций обработки КС и деления их по группам построена так, что при прибавлении адреса начала таблицы к выделенным по маске старшим 5 битам КС, сдвинутым в право на 11 разрядов попадаем на ячейку, в которой хранится адрес процедуры обработки КС соответствующей группы. Блок-схемы программы приведены в приложении 2. Карта памяти приведена в приложении 1. Исходный текст программы на языке ассемблера приведен в приложении 4.
4.2 Разработка программного обеспечения второго процессора (передача)
Принципы, используемые в первом процессоре, применяем и здесь. Так как память, переключаемая между процессорами, то карта памяти сохраняется и для второго процессора. Процесс выдачи происходит по запросам от СТИ, не зависимо от режима работы. Так как в различных режимах работы БЦВС состав и структура кадра отличаются, поэтому продолжаем отслеживать режим работы БЦВС. При переключении памяти генерируется внешнее прерывание. По запросу от СТИ генерируется прерывание от последовательного порта ввода / вывода. Исходя из циклограмм, логико-временных диаграмм, структуры и состава выходного кадра в различных режимах работы БЦВС составляются таблицы, в которых указаны функции обработки данных и функции их инициализации в том порядке, в котором необходимо их запускать. Так же составляются функции вызова этих таблиц в зависимости от режима, в котором находится БЦВС. В функциях производиться полный перебор таблицы с функциями, по окончании таблицы программа переходит в бесконечную петлю. Так же в функциях используется переход в бесконечную петлю по определенным условиям. Вся программа строится на двух потоках. Первый поток работает в фоновом режиме и подготавливает данные для передачи, запускается по прерыванию, генерируемого в момент переключения ОЗУ и работает вплоть до бесконечной петли. Второй поток производит непосредственную выдачу подготовленных данных в заданной последовательности. Второй поток работает по прерываниям, генерируемым по запросам от СТИ. В случаи, если данные закончились, а запросы продолжаются, происходит выдача нолей. Вся программа построена на условных и безусловных переходах, а так же переходах по адресам, которые задаются в ходе работы процессора в таблицах и определенных переменных.
Так как при вызове прерывания по запросу от СТИ необходимо сохранить контекст программы в стеке и загрузить контекст процедур выдачи, то подпрограмма обработки данного прерывания строится следующим образом:
· Сохраняем в стек статусные регистры, аккумулятор, регистры общего назначения
· Загружаем контекст процедур выдачи
· Переходим по адресу, содержащемся в определенной переменной на соответствующую процедуру
· По окончанию процедуры переходим на завершение обработки прерывания.
· Сохраняем в стек контекст процедур выдачи
· Загружаем регистры общего назначения, аккумулятор, статусные регистры, выходим из прерывания.
Обработка прерывания по переключению ОЗУ запускает фоновый поток, фактически это и есть основная программа процессора. Соответственно программа обработки выглядит следующим образом:
· Определение режима работы БЦВС
· Выбор функций для обработки данных
· Загрузка адресов в определенные переменные для последующих процедур и процедур выдачи данных.
· Переход на обработку данных
· После завершения переход в бесконечную петлю в ожидании следующего кадра
Так же некоторые параметры накапливаются в течении длительного времени, т.е. на протяжении нескольких кадров. В частности параметры системы спутниковой навигации. Поэтому в конце ОЗУ выделена специальная область памяти, которая является хранилищем, и заполняется по мере прихода данных от кадра к кадру. Соответственно выдача этих параметров производиться в определенное время, что учтено в функциях и таблицах.
Блок-схемы программы второго процессора, приведенные в приложении 3, являются обобщенными, описывают алгоритм в общих чертах. Исходный код программы, приведенный в приложении 5, так же является не полным, ввиду коммерческой тайны таблиц и параметров, передаваемых в телеметрии.
Заключение
В процессе написания программы происходила отладка по частям на симуляторе с использованием имитационных данных. Так же производилась отладка программы на автономном рабочем месте программиста с использованием реального прибора и того же имитационного материала. По завершению отладки, была произведена отработка на центральном моделирующем комплексе и комплексном стенде с использованием реального оборудования, используемого в ракетоносителе. УСВТ прошла данную отработку без ошибок, что говорит о верности написания ПМО УСВТ. Полученная информация при отработке на комплексном стенде и центральном моделирующем комплексе соответствует контрольным данным.
Список используемой литературы
1. ИД на разработку ПМО УСВТ
2. ТЗ «Устройство специализированное вычислительное телеметрическое
Приложение 1
Карта памяти |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|||
200 |
1 КАНАЛ |
404 |
|||||||||||||||||
210 |
2 КАНАЛ |
8B4 |
|||||||||||||||||
220 |
3 КАНАЛ |
D64 |
|||||||||||||||||
230 |
BEGIN_OF_PR |
1214 |
|||||||||||||||||
240 |
INDEX_OF_4000 |
12DC |
|||||||||||||||||
250 |
INDEX_OF_C800 |
1381 |
|||||||||||||||||
260 |
INDEX_OF_9800 |
13B8 |
|||||||||||||||||
270 |
INDEX_OF_E000 |
1403 |
|||||||||||||||||
280 |
INDEX_OF_A800 |
1426 |
|||||||||||||||||
290 |
ССН |
1500 |
|||||||||||||||||
2A0 |
|||||||||||||||||||
2B0 |
|||||||||||||||||||
2C0 |
|||||||||||||||||||
2D0 |
|||||||||||||||||||
2E0 |
|||||||||||||||||||
2F0 |
|||||||||||||||||||
300 |
|||||||||||||||||||
310 |
|||||||||||||||||||
320 |
|||||||||||||||||||
330 |
|||||||||||||||||||
340 |
|||||||||||||||||||
350 |
|||||||||||||||||||
360 |
|||||||||||||||||||
370 |
|||||||||||||||||||
380 |
|||||||||||||||||||
390 |
|||||||||||||||||||
3A0 |
|||||||||||||||||||
3B0 |
|||||||||||||||||||
3C0 |
|||||||||||||||||||
3D0 |
|||||||||||||||||||
3E0 |
|||||||||||||||||||
3F0 |
|||||||||||||||||||
400 |
|||||||||||||||||||
410 |
|||||||||||||||||||
420 |
|||||||||||||||||||
430 |
|||||||||||||||||||
440 |
|||||||||||||||||||
450 |
|||||||||||||||||||
460 |
|||||||||||||||||||
470 |
|||||||||||||||||||
480 |
|||||||||||||||||||
490 |
|||||||||||||||||||
4A0 |
|||||||||||||||||||
4B0 |
|||||||||||||||||||
4C0 |
|||||||||||||||||||
4D0 |
|||||||||||||||||||
4E0 |
|||||||||||||||||||
4F0 |
|||||||||||||||||||
500 |
|||||||||||||||||||
510 |
|||||||||||||||||||
520 |
|||||||||||||||||||
530 |
|||||||||||||||||||
540 |
|||||||||||||||||||
550 |
|||||||||||||||||||
560 |
|||||||||||||||||||
570 |
|||||||||||||||||||
580 |
|||||||||||||||||||
590 |
|||||||||||||||||||
5A0 |
|||||||||||||||||||
5B0 |
|||||||||||||||||||
5C0 |
|||||||||||||||||||
5D0 |
|||||||||||||||||||
5E0 |
|||||||||||||||||||
5F0 |
|||||||||||||||||||
600 |
|||||||||||||||||||
610 |
|||||||||||||||||||
620 |
|||||||||||||||||||
630 |
|||||||||||||||||||
640 |
|||||||||||||||||||
650 |
|||||||||||||||||||
660 |
|||||||||||||||||||
670 |
|||||||||||||||||||
680 |
|||||||||||||||||||
690 |
|||||||||||||||||||
6A0 |
|||||||||||||||||||
6B0 |
|||||||||||||||||||
6C0 |
|||||||||||||||||||
6D0 |
|||||||||||||||||||
6E0 |
|||||||||||||||||||
6F0 |
|||||||||||||||||||
700 |
|||||||||||||||||||
710 |
|||||||||||||||||||
720 |
|||||||||||||||||||
730 |
|||||||||||||||||||
740 |
|||||||||||||||||||
750 |
|||||||||||||||||||
760 |
|||||||||||||||||||
770 |
|||||||||||||||||||
780 |
|||||||||||||||||||
790 |
|||||||||||||||||||
7A0 |
|||||||||||||||||||
7B0 |
|||||||||||||||||||
7C0 |
|||||||||||||||||||
7D0 |
|||||||||||||||||||
7E0 |
|||||||||||||||||||
7F0 |
|||||||||||||||||||
800 |
|||||||||||||||||||
810 |
|||||||||||||||||||
820 |
|||||||||||||||||||
830 |
|||||||||||||||||||
840 |
|||||||||||||||||||
850 |
|||||||||||||||||||
860 |
|||||||||||||||||||
870 |
|||||||||||||||||||
880 |
|||||||||||||||||||
890 |
|||||||||||||||||||
8A0 |
|||||||||||||||||||
8B0 |
|||||||||||||||||||
8C0 |
|||||||||||||||||||
8D0 |
|||||||||||||||||||
8E0 |
|||||||||||||||||||
8F0 |
|||||||||||||||||||
900 |
|||||||||||||||||||
910 |
|||||||||||||||||||
920 |
|||||||||||||||||||
930 |
|||||||||||||||||||
940 |
|||||||||||||||||||
950 |
|||||||||||||||||||
960 |
|||||||||||||||||||
970 |
|||||||||||||||||||
980 |
|||||||||||||||||||
990 |
|||||||||||||||||||
9A0 |
|||||||||||||||||||
9B0 |
|||||||||||||||||||
9C0 |
|||||||||||||||||||
9D0 |
|||||||||||||||||||
9E0 |
|||||||||||||||||||
9F0 |
|||||||||||||||||||
A00 |
|||||||||||||||||||
A10 |
|||||||||||||||||||
A20 |
|||||||||||||||||||
A30 |
|||||||||||||||||||
A40 |
|||||||||||||||||||
A50 |
|||||||||||||||||||
A60 |
|||||||||||||||||||
A70 |
|||||||||||||||||||
A80 |
|||||||||||||||||||
A90 |
|||||||||||||||||||
AA0 |
|||||||||||||||||||
AB0 |
|||||||||||||||||||
AC0 |
|||||||||||||||||||
AD0 |
|||||||||||||||||||
AE0 |
|||||||||||||||||||
AF0 |
|||||||||||||||||||
B00 |
|||||||||||||||||||
B10 |
|||||||||||||||||||
B20 |
|||||||||||||||||||
B30 |
|||||||||||||||||||
B40 |
|||||||||||||||||||
B50 |
|||||||||||||||||||
B60 |
|||||||||||||||||||
B70 |
|||||||||||||||||||
B80 |
|||||||||||||||||||
B90 |
|||||||||||||||||||
BA0 |
|||||||||||||||||||
BB0 |
|||||||||||||||||||
BC0 |
|||||||||||||||||||
BD0 |
|||||||||||||||||||
BE0 |
|||||||||||||||||||
BF0 |
|||||||||||||||||||
C00 |
|||||||||||||||||||
C10 |
|||||||||||||||||||
C20 |
|||||||||||||||||||
C30 |
|||||||||||||||||||
C40 |
|||||||||||||||||||
C50 |
|||||||||||||||||||
C60 |
|||||||||||||||||||
C70 |
|||||||||||||||||||
C80 |
|||||||||||||||||||
C90 |
|||||||||||||||||||
CA0 |
|||||||||||||||||||
CB0 |
|||||||||||||||||||
CC0 |
|||||||||||||||||||
CD0 |
|||||||||||||||||||
CE0 |
|||||||||||||||||||
CF0 |
|||||||||||||||||||
D00 |
|||||||||||||||||||
D10 |
|||||||||||||||||||
D20 |
|||||||||||||||||||
D30 |
|||||||||||||||||||
D40 |
|||||||||||||||||||
D50 |
|||||||||||||||||||
D60 |
|||||||||||||||||||
D70 |
|||||||||||||||||||
D80 |
|||||||||||||||||||
D90 |
|||||||||||||||||||
DA0 |
|||||||||||||||||||
DB0 |
|||||||||||||||||||
DC0 |
|||||||||||||||||||
DD0 |
|||||||||||||||||||
DE0 |
|||||||||||||||||||
DF0 |
|||||||||||||||||||
E00 |
|||||||||||||||||||
E10 |
|||||||||||||||||||
E20 |
|||||||||||||||||||
E30 |
|||||||||||||||||||
E40 |
|||||||||||||||||||
E50 |
|||||||||||||||||||
E60 |
|||||||||||||||||||
E70 |
|||||||||||||||||||
E80 |
|||||||||||||||||||
E90 |
|||||||||||||||||||
EA0 |
|||||||||||||||||||
EB0 |
|||||||||||||||||||
EC0 |
|||||||||||||||||||
ED0 |
|||||||||||||||||||
EE0 |
|||||||||||||||||||
EF0 |
|||||||||||||||||||
F00 |
|||||||||||||||||||
F10 |
|||||||||||||||||||
F20 |
|||||||||||||||||||
F30 |
|||||||||||||||||||
F40 |
|||||||||||||||||||
F50 |
|||||||||||||||||||
F60 |
|||||||||||||||||||
F70 |
|||||||||||||||||||
F80 |
|||||||||||||||||||
F90 |
|||||||||||||||||||
FA0 |
|||||||||||||||||||
FB0 |
|||||||||||||||||||
FC0 |
|||||||||||||||||||
FD0 |
|||||||||||||||||||
FE0 |
|||||||||||||||||||
FF0 |
|||||||||||||||||||
1000 |
|||||||||||||||||||
1010 |
|||||||||||||||||||
1020 |
|||||||||||||||||||
1030 |
|||||||||||||||||||
1040 |
|||||||||||||||||||
1050 |
|||||||||||||||||||
1060 |
|||||||||||||||||||
1070 |
|||||||||||||||||||
1080 |
|||||||||||||||||||
1090 |
|||||||||||||||||||
10A0 |
|||||||||||||||||||
10B0 |
|||||||||||||||||||
10C0 |
|||||||||||||||||||
10D0 |
|||||||||||||||||||
10E0 |
|||||||||||||||||||
10F0 |
|||||||||||||||||||
1100 |
|||||||||||||||||||
1110 |
|||||||||||||||||||
1120 |
|||||||||||||||||||
1130 |
|||||||||||||||||||
1140 |
|||||||||||||||||||
1150 |
|||||||||||||||||||
1160 |
|||||||||||||||||||
1170 |
|||||||||||||||||||
1180 |
|||||||||||||||||||
1190 |
|||||||||||||||||||
11A0 |
|||||||||||||||||||
11B0 |
|||||||||||||||||||
11C0 |
|||||||||||||||||||
11D0 |
|||||||||||||||||||
11E0 |
|||||||||||||||||||
11F0 |
|||||||||||||||||||
1200 |
|||||||||||||||||||
1210 |
|||||||||||||||||||
1220 |
|||||||||||||||||||
1230 |
|||||||||||||||||||
1240 |
|||||||||||||||||||
1250 |
|||||||||||||||||||
1260 |
|||||||||||||||||||
1270 |
|||||||||||||||||||
1280 |
|||||||||||||||||||
1290 |
|||||||||||||||||||
12A0 |
|||||||||||||||||||
12B0 |
|||||||||||||||||||
12C0 |
|||||||||||||||||||
12D0 |
|||||||||||||||||||
12E0 |
|||||||||||||||||||
12F0 |
|||||||||||||||||||
1300 |
|||||||||||||||||||
1310 |
|||||||||||||||||||
1320 |
|||||||||||||||||||
1330 |
|||||||||||||||||||
1340 |
|||||||||||||||||||
1350 |
|||||||||||||||||||
1360 |
|||||||||||||||||||
1370 |
|||||||||||||||||||
1380 |
|||||||||||||||||||
1390 |
|||||||||||||||||||
13A0 |
|||||||||||||||||||
13B0 |
|||||||||||||||||||
13C0 |
|||||||||||||||||||
13D0 |
|||||||||||||||||||
13E0 |
|||||||||||||||||||
13F0 |
|||||||||||||||||||
1400 |
|||||||||||||||||||
1410 |
|||||||||||||||||||
1420 |
|||||||||||||||||||
1430 |
|||||||||||||||||||
1440 |
|||||||||||||||||||
1450 |
|||||||||||||||||||
1460 |
|||||||||||||||||||
1470 |
|||||||||||||||||||
1480 |
|||||||||||||||||||
1490 |
|||||||||||||||||||
14A0 |
|||||||||||||||||||
14B0 |
|||||||||||||||||||
14C0 |
|||||||||||||||||||
14D0 |
|||||||||||||||||||
14E0 |
|||||||||||||||||||
14F0 |
|||||||||||||||||||
1500 |
|||||||||||||||||||
1510 |
|||||||||||||||||||
1520 |
|||||||||||||||||||
1530 |
|||||||||||||||||||
1540 |
|||||||||||||||||||
1550 |
|||||||||||||||||||
1560 |
|||||||||||||||||||
1570 |
|||||||||||||||||||
1580 |
|||||||||||||||||||
1590 |
|||||||||||||||||||
15A0 |
|||||||||||||||||||
15B0 |
|||||||||||||||||||
15C0 |
|||||||||||||||||||
15D0 |
|||||||||||||||||||
15E0 |
|||||||||||||||||||
15F0 |
|||||||||||||||||||
1600 |
|||||||||||||||||||
1610 |
|||||||||||||||||||
1620 |
|||||||||||||||||||
1630 |
|||||||||||||||||||
1640 |
|||||||||||||||||||
1650 |
|||||||||||||||||||
1660 |
|||||||||||||||||||
1670 |
|||||||||||||||||||
1680 |
|||||||||||||||||||
1690 |
|||||||||||||||||||
16A0 |
|||||||||||||||||||
16B0 |
|||||||||||||||||||
16C0 |
|||||||||||||||||||
16D0 |
|||||||||||||||||||
16E0 |
|||||||||||||||||||
16F0 |
|||||||||||||||||||
1700 |
|||||||||||||||||||
1710 |
|||||||||||||||||||
1720 |
|||||||||||||||||||
1730 |
|||||||||||||||||||
1740 |
|||||||||||||||||||
1750 |
|||||||||||||||||||
1760 |
|||||||||||||||||||
1770 |
|||||||||||||||||||
1780 |
|||||||||||||||||||
1790 |
|||||||||||||||||||
17A0 |
|||||||||||||||||||
17B0 |
|||||||||||||||||||
17C0 |
|||||||||||||||||||
17D0 |
|||||||||||||||||||
17E0 |
|||||||||||||||||||
17F0 |
|||||||||||||||||||
1800 |
|||||||||||||||||||
1810 |
|||||||||||||||||||
1820 |
|||||||||||||||||||
1830 |
|||||||||||||||||||
1840 |
|||||||||||||||||||
1850 |
|||||||||||||||||||
1860 |
|||||||||||||||||||
1870 |
|||||||||||||||||||
1880 |
|||||||||||||||||||
1890 |
|||||||||||||||||||
18A0 |
|||||||||||||||||||
18B0 |
|||||||||||||||||||
18C0 |
|||||||||||||||||||
18D0 |
|||||||||||||||||||
18E0 |
|||||||||||||||||||
18F0 |
|||||||||||||||||||
1900 |
|||||||||||||||||||
1910 |
|||||||||||||||||||
1920 |
|||||||||||||||||||
1930 |
|||||||||||||||||||
1940 |
|||||||||||||||||||
1950 |
|||||||||||||||||||
1960 |
|||||||||||||||||||
1970 |
|||||||||||||||||||
1980 |
|||||||||||||||||||
1990 |
|||||||||||||||||||
19A0 |
|||||||||||||||||||
19B0 |
|||||||||||||||||||
19C0 |
|||||||||||||||||||
19D0 |
|||||||||||||||||||
19E0 |
|||||||||||||||||||
19F0 |
|||||||||||||||||||
1A00 |
|||||||||||||||||||
1A10 |
|||||||||||||||||||
1A20 |
|||||||||||||||||||
1A30 |
|||||||||||||||||||
1A40 |
|||||||||||||||||||
1A50 |
|||||||||||||||||||
1A60 |
|||||||||||||||||||
1A70 |
|||||||||||||||||||
1A80 |
|||||||||||||||||||
1A90 |
|||||||||||||||||||
1AA0 |
|||||||||||||||||||
1AB0 |
|||||||||||||||||||
1AC0 |
|||||||||||||||||||
1AD0 |
|||||||||||||||||||
1AE0 |
|||||||||||||||||||
1AF0 |
|||||||||||||||||||
1B00 |
|||||||||||||||||||
1B10 |
|||||||||||||||||||
1B20 |
|||||||||||||||||||
1B30 |
|||||||||||||||||||
1B40 |
|||||||||||||||||||
1B50 |
|||||||||||||||||||
1B60 |
|||||||||||||||||||
1B70 |
|||||||||||||||||||
1B80 |
|||||||||||||||||||
1B90 |
|||||||||||||||||||
1BA0 |
|||||||||||||||||||
1BB0 |
|||||||||||||||||||
1BC0 |
|||||||||||||||||||
1BD0 |
|||||||||||||||||||
1BE0 |
|||||||||||||||||||
1BF0 |
|||||||||||||||||||
1C00 |
|||||||||||||||||||
1C10 |
|||||||||||||||||||
1C20 |
|||||||||||||||||||
1C30 |
|||||||||||||||||||
1C40 |
|||||||||||||||||||
1C50 |
|||||||||||||||||||
1C60 |
|||||||||||||||||||
1C70 |
|||||||||||||||||||
1C80 |
|||||||||||||||||||
1C90 |
|||||||||||||||||||
1CA0 |
|||||||||||||||||||
1CB0 |
|||||||||||||||||||
1CC0 |
|||||||||||||||||||
1CD0 |
|||||||||||||||||||
1CE0 |
|||||||||||||||||||
1CF0 |
|||||||||||||||||||
1D00 |
|||||||||||||||||||
1D10 |
|||||||||||||||||||
1D20 |
|||||||||||||||||||
1D30 |
|||||||||||||||||||
1D40 |
|||||||||||||||||||
1D50 |
|||||||||||||||||||
1D60 |
|||||||||||||||||||
1D70 |
|||||||||||||||||||
1D80 |
|||||||||||||||||||
1D90 |
|||||||||||||||||||
1DA0 |
|||||||||||||||||||
1DB0 |
|||||||||||||||||||
1DC0 |
|||||||||||||||||||
1DD0 |
|||||||||||||||||||
1DE0 |
|||||||||||||||||||
1DF0 |
|||||||||||||||||||
1E00 |
|||||||||||||||||||
1E10 |
|||||||||||||||||||
1E20 |
|||||||||||||||||||
1E30 |
|||||||||||||||||||
1E40 |
|||||||||||||||||||
1E50 |
|||||||||||||||||||
1E60 |
|||||||||||||||||||
1E70 |
|||||||||||||||||||
1E80 |
|||||||||||||||||||
1E90 |
|||||||||||||||||||
1EA0 |
|||||||||||||||||||
1EB0 |
|||||||||||||||||||
1EC0 |
|||||||||||||||||||
1ED0 |
|||||||||||||||||||
1EE0 |
|||||||||||||||||||
1EF0 |
|||||||||||||||||||
1F00 |
|||||||||||||||||||
1F10 |
|||||||||||||||||||
1F20 |
|||||||||||||||||||
1F30 |
|||||||||||||||||||
1F40 |
|||||||||||||||||||
1F50 |
|||||||||||||||||||
1F60 |
|||||||||||||||||||
1F70 |
|||||||||||||||||||
1F80 |
|||||||||||||||||||
1F90 |
|||||||||||||||||||
1FA0 |
|||||||||||||||||||
1FB0 |
|||||||||||||||||||
1FC0 |
|||||||||||||||||||
1FD0 |
|||||||||||||||||||
1FE0 |
|||||||||||||||||||
1FF0 |
Приложение 2
Исходный текст ПО первого процессора
CHANEL .set 2
KC_END_CYCLE .set 0E221h
SIZE_OF_I .set 1200
BEGIN_OF_I .set 404h
BEGIN_OF_PR .set BEGIN_OF_I+SIZE_OF_I*3
INDEX_OF_4000 .set BEGIN_OF_I+SIZE_OF_I*3+200
INDEX_OF_C800 .set BEGIN_OF_I+SIZE_OF_I*3+365
INDEX_OF_9800 .set BEGIN_OF_I+SIZE_OF_I*3+420
INDEX_OF_E000 .set BEGIN_OF_I+SIZE_OF_I*3+495
INDEX_OF_A800 .set BEGIN_OF_I+SIZE_OF_I*3+530
WORD1 .set 60h
WORD2 .set 61h
WORD3 .set 62h
PR_KS .set 63h
PR_END .set 64h
PREV_KS .set 65h
PREV_ADR .set 66h
VAR1 .set 67h
VAR2 .set 68h
sect «vect»
B BEGIN_PROG
B INT_IC
B INT_KC
text
INT_KC
DINT
IN PR_KS, 0
OUT 64h, 0Ch
LAC PR_END
BZ m_NEXT_KADR
ZAC
SACL PR_END
OUT 60h, 1
m_NEXT_KADR
RPTK 20
NOP
if CHANEL = 1
IN WORD1,0
IN WORD2,2
IN WORD3,1
endif
if CHANEL = 2
IN WORD2,0
IN WORD3,2
IN WORD1,1
endif
OUT 64h, 8h
LAC WORD1
CMPL
SACL *, 0, AR6
if CHANEL = 1
SACL VAR2
endif
LAC WORD2
CMPL
SACL *+, 0, AR7
if CHANEL = 2
SACL VAR2
endif
LAC WORD3
CMPL
SACL *+, 0, AR0
LAC VAR2,5
SACH VAR1
LAC VAR1
APAC
TBLR VAR1
LAC VAR1
BACC
TBL_KS
word m_INDEX_OTHER ; 0h
word m_INDEX_OTHER ; 1h
word m_INDEX_OTHER ; 2h
word m_INDEX_OTHER ; 3h
word m_INDEX_OTHER ; 4h
word m_INDEX_OTHER ; 5h
word m_INDEX_OTHER ; 6h
word m_INDEX_OTHER ; 7h
word m_INDEX_4000 ; 8h
word m_INDEX_OTHER ; 9h
word m_INDEX_OTHER ; Ah
word m_INDEX_OTHER ; Bh
word m_INDEX_OTHER ; Ch
word m_INDEX_OTHER ; Dh
word m_INDEX_OTHER ; Eh
word m_INDEX_OTHER ; Fh
word m_INDEX_OTHER ; 10h
word m_INDEX_OTHER ; 11h
word m_INDEX_OTHER ; 12h
word m_INDEX_9800 ; 13h
word m_INDEX_OTHER ; 14h
word m_INDEX_A800 ; 15h
word m_INDEX_OTHER ; 16h
word m_INDEX_OTHER ; 17h
word m_INDEX_OTHER ; 18h
word m_INDEX_C800 ; 19h
word m_INDEX_OTHER ; 1Ah
word m_INDEX_OTHER ; 1Bh
word m_INDEX_E000 ; 1Ch
word m_INDEX_OTHER ; 1Dh
word m_INDEX_OTHER ; 1Eh
word m_INDEX_OTHER ; 1Fh
word 0FFFFh
m_INDEX_OTHER
MAR *+
EINT
B m_END
m_INDEX_4000
LARP AR4
SAR AR0,*+, AR0
MAR *+
EINT
B m_END
m_INDEX_C800
LARP AR3
SAR AR0,*+, AR0
MAR *+
EINT
B m_END
m_INDEX_9800
LARP AR2
SAR AR0,*+, AR0
MAR *+
EINT
B m_END
m_INDEX_A800
LARP AR5
SAR AR0,*+, AR0
MAR *+
EINT
B m_END
m_INDEX_E000
LARP AR1
SAR AR0,*+, AR0
MAR *+
LAC VAR2
XORK KC_END_CYCLE
BZ m_INDEX_E000_END
EINT
B m_END
m_INDEX_E000_END
LACK 1
SACL PR_END
EINT
B m_END
INT_IC
DINT
IN PR_KS, 0
OUT 64h, 0Ch
LAC PR_END
SUBK 1
BLEZ m_NEXT_KADR_IC
ZAC
SACL PR_END
OUT 60h, 1
m_NEXT_KADR_IC
RPTK 20
NOP
if CHANEL = 1
IN WORD1,0
IN WORD2,2
IN WORD3,1
endif
if CHANEL = 2
IN WORD2,0
IN WORD3,2
IN WORD1,1
endif
OUT 64h, 8h
LAC WORD1
CMPL
SACL *+, 0, AR6
if CHANEL = 1
SACL VAR2
endif
LAC WORD2
CMPL
SACL *+, 0, AR7
if CHANEL = 2
SACL VAR2
endif
LAC WORD3
CMPL
SACL *+, 0, AR0
LAC PR_END
XORK 1
BNZ m_IC_END_KADR
LAC VAR2
CALL END_KADR_1
LAC VAR2
ANDK 0F800h
XORK 0A000h
BNZ m_OPS_END
ZAC
SACL PR_END
OUT 60h, 1
EINT
B m_END
m_OPS_END
LAC VAR2
ANDK 0F800h
XORK 02000h
BNZ m_IC_END_KADR_E000
ZAC
SACL PR_END
OUT 60h, 1
EINT
B m_END
m_IC_END_KADR_E000
LAC PR_END
ADDK 1
SACL PR_END
m_IC_END_KADR
SAR AR0, VAR1
LAC VAR1
SBLK 900+BEGIN_OF_I
BLZ m_NOT_MORE
LALK 1234h
CALL END_KADR
m_NOT_MORE
EINT
B m_END
BEGIN_PROG
DINT
LDPK 0
LACK 3h
SACL 4h
RSXM
LARP AR1
LRLK AR1,200h
LRLK AR0,2000h
ZAC
m_1 SACL *+
CMPR 1
BBNZ m_1
ZAC
SACL PR_END
LRLK AR1,1FFFh
SACL *
LRLK AR7, BEGIN_OF_I+SIZE_OF_I*2
LRLK AR6, BEGIN_OF_I+SIZE_OF_I
LRLK AR0, BEGIN_OF_I
LRLK AR5, INDEX_OF_A800
LRLK AR4, INDEX_OF_4000
LRLK AR3, INDEX_OF_C800
LRLK AR2, INDEX_OF_9800
LRLK AR1, INDEX_OF_E000
LALK TBL_KS
SACL VAR1
LT VAR1
MPYK 1
OUT 64h, 8h
RPTK 200
NOP
IN WORD1,0
LARP AR0
EINT
m_END
NOP
B m_END
END_KADR
LARP AR7
LRLK AR7,400h
SACL *+
SAR AR0, VAR1
LAC VAR1
SBLK BEGIN_OF_I
SACL *, 0, AR5
LALK 0FFFFh
SACL *, 0, AR4
SACL *, 0, AR3
SACL *, 0, AR2
SACL *, 0, AR1
SACL *, 0, AR0
LRLK AR7, BEGIN_OF_I+SIZE_OF_I*2
LRLK AR6, BEGIN_OF_I+SIZE_OF_I
LRLK AR0, BEGIN_OF_I
LRLK AR5, INDEX_OF_A800
LRLK AR4, INDEX_OF_4000
LRLK AR3, INDEX_OF_C800
LRLK AR2, INDEX_OF_9800
LRLK AR1, INDEX_OF_E000
ZAC
SACL PR_END
OUT 60h, 1
RET
END_KADR_1
LARP AR7
LRLK AR7,400h
SACL *+
SAR AR0, VAR1
LAC VAR1
SBLK BEGIN_OF_I
SACL *, 0, AR5
LALK 0FFFFh
SACL *, 0, AR4
SACL *, 0, AR3
SACL *, 0, AR2
SACL *, 0, AR1
SACL *, 0, AR0
LRLK AR7, BEGIN_OF_I+SIZE_OF_I*2
LRLK AR6, BEGIN_OF_I+SIZE_OF_I
LRLK AR0, BEGIN_OF_I
LRLK AR5, INDEX_OF_A800
LRLK AR4, INDEX_OF_4000
LRLK AR3, INDEX_OF_C800
LRLK AR2, INDEX_OF_9800
LRLK AR1, INDEX_OF_E000
RET
Приложение 5
Исходный текст ПО второго процессора
ref m_PAR_NULL, m_MARK, m_INDEX
global XINT, INT0
INT_ST0 .set 60h
INT_ST1 .set 61h
INT_ACC_H .set 62h
INT_ACC_L .set 63h
INT_P_H .set 64h
INT_P_L .set 65h
INT_T .set 66h
INT_AR0 .set 67h
INT_AR0_WORK .set 68h
INT_AR7 .set 69h
INT_AR7_WORK .set 6Ah
SIZE_OF_I .set 1200
BEGIN_OF_I .set 404h
BEGIN_OF_PR .set BEGIN_OF_I+SIZE_OF_I*3
INDEX_OF_4000 .set BEGIN_OF_I+SIZE_OF_I*3+200
INDEX_OF_C800 .set BEGIN_OF_I+SIZE_OF_I*3+365
INDEX_OF_9800 .set BEGIN_OF_I+SIZE_OF_I*3+420
INDEX_OF_E000 .set BEGIN_OF_I+SIZE_OF_I*3+495
INDEX_OF_A800 .set BEGIN_OF_I+SIZE_OF_I*3+530
CONST_OR .set 0E000h
CONST_KRP .set 0A000h
CONST_OPS .set 02000h
CONST_OPS1 .set 02600h
CONST_OR_MASP .set 07000h
QUEUE_SIZE .set 800h
ADR_BEGIN_QUEUE .set 1500h
ADR_END_QUEUE .set ADR_BEGIN_QUEUE+QUEUE_SIZE
; LABEL
ref m_OUT, m_OR_CONTROL_PAR
global m_END_XINT
; VARIABLE
ref STATUS, TEST
ref C_8T, C_4T, C_16T, C_32T
ref VAR1, VAR2, VAR3
ref STATUS_PAR, KADR_WORD_COUNT
ref ADR_9800, ADR_A800, ADR_E220, ADR_C800
ref MARK_COUNT, ADR_ROW, ADR_ROW_PAR
ref BEGIN_QUEUE_PAGE1, END_QUEUE_PAGE1, EMPTY_PAGE1, ENABLE_PAGE1, EXTERN_PAGE1
ref BEGIN_QUEUE_PAGE2, END_QUEUE_PAGE2, EMPTY_PAGE2, ENABLE_PAGE2, EXTERN_PAGE2
ref KADR, STREAM_COUNT, KADR_NUM, NEXT_KS_KC, VAR_SINGLE_C6, VAR_SINGLE_C6_28, VAR_SINGLE_C6_32
; TABLE
ref TBL_KRP, TBL_KRP_TEST
ref TBL_C0
ref TBL_C0_PAR
ref TBL_C1
ref TBL_C1_PAR
ref TBL_C2
ref TBL_C2_PAR
ref TBL_C3
ref TBL_C3_PAR
ref TBL_C4_1
ref TBL_C4_1_PAR
ref TBL_C4_2
ref TBL_C4_2_PAR
ref TBL_C5
ref TBL_C5_PAR
ref TBL_C6_1
ref TBL_C6_2
ref TBL_C6_PAR
ref TBL_OPS
sect «vect»
B BEGIN_PROG
B INT0
space 24*16
B XINT
text
INT0
DINT
LALK 0FFFFh
CALL m_OUT
ZAC
SACL KADR_WORD_COUNT
LALK 1
SACL MARK_COUNT
LARP AR1
LRLK AR1, BEGIN_OF_I-4
LAC NEXT_KS_KC
ANDK 0E000h
XORK CONST_OR
BNZ m_CHECK_KRP
LALK m_MARK
SACL STATUS
LAC NEXT_KS_KC
SACL VAR2
ANDK 0Fh
SACL VAR1
LAC *
SACL NEXT_KS_KC
m_CHECK_OR_C1
LAC VAR1
ADLK TBL_E000_ACTION
TBLR VAR1
LAC VAR1
BACC
TBL_E000_ACTION
word m_NOT_CLEAR ; 0
word m_E001 ; 1
word m_E002 ; 2
word m_E003 ; 3
word m_E004 ; 4
word m_E005 ; 5
word m_E006 ; 6
word m_E006 ; 7
word m_E006 ; 8
word m_NOT_CLEAR ; 9
word m_E005 ; a
word m_E006 ; b
word m_NOT_CLEAR ; c
word m_NOT_CLEAR ; d
word m_NOT_CLEAR ; e
word m_NOT_CLEAR ; f
m_E001
LAC KADR
ADDK 1
SACL KADR
LALK TBL_C1
SACL ADR_ROW
LALK TBL_C1_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_E002
LALK TBL_C2
SACL ADR_ROW
LALK TBL_C2_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_E003
LALK TBL_C3
SACL ADR_ROW
LALK TBL_C3_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_E004
LRLK AR1, INDEX_OF_E000
LARP AR1
LAC *
XORK 0FFFFh
BZ m_NOT_CLEAR
LAR AR1,*
ADRK 31+1
LAC *
ANDK 10h
BNZ m_CHECK_OR_C4_1
LALK TBL_C4_1
SACL ADR_ROW
LALK TBL_C4_1_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_CHECK_OR_C4_1
LALK TBL_C4_2
SACL ADR_ROW
LALK TBL_C4_2_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_E005
LALK TBL_C5
SACL ADR_ROW
LALK TBL_C5_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_E006
LRLK AR1, INDEX_OF_E000
LARP AR1
LAC *
XORK 0FFFFh
BZ m_NOT_CLEAR
LAR AR1,*
ADRK 28+1
LAC *
ANDK 10h
BNZ m_CHECK_OR_C6_2
LALK m_MARK
SACL STATUS
LALK TBL_C6_1
SACL ADR_ROW
LALK TBL_C6_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_CHECK_OR_C6_2
LALK m_MARK
SACL STATUS
LALK TBL_C6_2
SACL ADR_ROW
LALK TBL_C6_PAR
SACL ADR_ROW_PAR
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_CHECK_KRP
LAC *
ANDK 0FE00h
XORK CONST_KRP
BNZ m_CHECK_OPS
m_NOT_CLEAR
LAC *
SACL NEXT_KS_KC
LARP AR4
LRLK AR4, INDEX_OF_E000
LAR AR4,*
LAC *
XORK 0E246h
BZ m_KRP_TEST
LALK TBL_KRP
SACL ADR_ROW
LALK m_MARK
SACL STATUS
LALK m_PAR_NULL
SACL STATUS_PAR
EINT
BACC
m_KRP_TEST
LALK TBL_KRP_TEST
SACL ADR_ROW
LALK m_MARK
SACL STATUS
LALK m_PAR_NULL
SACL STATUS_PAR
EINT
BACC
m_CHECK_OPS
LAC *
ANDK 0FE00h
XORK CONST_OPS
BNZ m_CHECK_OR_MASP
LAC *
SACL NEXT_KS_KC
LALK TBL_OPS
SACL ADR_ROW
LALK m_MARK
SACL STATUS
LALK m_PAR_NULL
SACL STATUS_PAR
EINT
BACC
m_CHECK_OR_MASP
LAC *
ANDK 0FE00h
XORK CONST_OR_MASP
BNZ m_CHECK_OR_MASP__1
B m_CHECK_OR_MASP__2
m_CHECK_OR_MASP__1
LAC NEXT_KS_KC
ANDK 0FE00h
XORK CONST_OR_MASP
BNZ m_CHECK_OR_E007
m_CHECK_OR_MASP__2
LAC *
SACL NEXT_KS_KC
ZAC
SACL C_4T
SACL C_16T
LALK TBL_C0
SACL ADR_ROW
LALK TBL_C0_PAR
SACL ADR_ROW_PAR
LALK m_MARK
SACL STATUS
LALK m_OR_CONTROL_PAR
SACL STATUS_PAR
EINT
BACC
m_CHECK_OR_E007
LAC *
ANDK 0E000h
XORK CONST_OR
BNZ m_NOT_CLEAR
LAC *
ANDK 0Fh
XORK 6
BNZ m_NOT_CLEAR
LAC NEXT_KS_KC
ANDK 0Fh
XORK 7
BNZ m_CHECK_OR_E007_1
LAC *
SACL NEXT_KS_KC
B m_E006
m_CHECK_OR_E007_1
LAC NEXT_KS_KC
ANDK 0Fh
XORK 8
BNZ m_NOT_CLEAR
LAC *
SACL NEXT_KS_KC
B m_E006
m_INT0_M1
B m_INT0_M1
XINT
DINT
LDPK 0
SST1 INT_ST1
SST INT_ST0
SACH INT_ACC_H
SACL INT_ACC_L
SPM 0
SPH INT_P_H
SPL INT_P_L
MPYK 1
SPL INT_T
SAR AR0, INT_AR0
LAR AR0, INT_AR0_WORK
SAR AR7, INT_AR7
LAR AR7, INT_AR7_WORK
LDPK 4
LAC STATUS
BACC
m_END_XINT
LAC KADR_WORD_COUNT
ADDK 1
SACL KADR_WORD_COUNT
LDPK 0
SAR AR7, INT_AR7_WORK
SAR AR0, INT_AR0_WORK
LT INT_P_L
MPYK 1
LT INT_T
LPH INT_P_H
ZALS INT_ACC_L
ADDH INT_ACC_H
LST1 INT_ST1
LST INT_ST0
LAR AR0, INT_AR0
LAR AR7, INT_AR7
LDPK 4
EINT
RET
BEGIN_PROG
DINT
LDPK 0
if SIM = 1
LACK 9h
endif
if SIM = 0
LACK 21h
endif
SACL 4h
LDPK 4
SXF
FORT 0
SFSM
RTXM
RSXM
LARP AR1
LRLK AR1,200h
LRLK AR0,1FFFh
ZAC
m_1 SACL *+
CMPR 1
BBNZ m_1
LRLK AR1,01FFFh
LALK 1
SACL *
LALK 7000h
SACL NEXT_KS_KC
LALK 0FFFFh
SACL KADR
ZAC
SACL KADR_NUM
SACL EXTERN_PAGE1
SACL EXTERN_PAGE2
SACL C_4T
SACL C_8T
SACL C_16T
SACL VAR_SINGLE_C6
SACL VAR_SINGLE_C6_28
SACL VAR_SINGLE_C6_32
LALK ADR_BEGIN_QUEUE
SACL BEGIN_QUEUE_PAGE1
SACL BEGIN_QUEUE_PAGE2
SACL END_QUEUE_PAGE1
SACL END_QUEUE_PAGE2
LALK m_AAAA_5555
SACL STATUS
LALK m_PAR_NULL
SACL STATUS_PAR
ZAC
CALL m_OUT
EINT
m_CYCLE
NOP
B m_CYCLE
TBL_TEST_KADR
word 0FFFFh
word 0FFFFh
word 0FFFFh
word 0E03Fh
word 05678h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 0AAAAh
word 05555h
word 00000h
m_AAAA_5555
ZAC
SACL VAR1
LALK m_AAAA_5555_BGN
SACL STATUS
m_AAAA_5555_BGN
LACK 26
SUB VAR1
BLEZ m_AAAA_5555
LALK TBL_TEST_KADR
ADD VAR1
TBLR VAR2
LAC VAR2
CALL m_OUT
LAC VAR1
ADDK 1
SACL VAR1
B m_END_XINT
Размещено на Allbest.ru
Подобные документы
Функциональное диагностирование вычислительного устройства (ВУ), требования к нему по производительности, диапазону представления чисел, точности вычислений, сложности реализации и достоверности функционирования. Контроль по модулю ВУ с плавающей точкой.
реферат [1,2 M], добавлен 14.12.2012Разработка виртуального вычислительного устройства с кассетной структурой. Массивы и кластеры. Вычисления над элементами массива. Вычислительные функции пакета LabVIEW. Логическая последовательность выполнения отдельных частей программы (подпрограммы).
контрольная работа [252,4 K], добавлен 15.01.2009Моделирование работы вычислительной системы из двух процессоров и общей оперативной памяти. Структурная схема модели системы. Укрупненная схема моделирующего алгоритма. Результаты моделирования и их анализ. Машинная программа объекта исследования.
курсовая работа [1,0 M], добавлен 21.06.2011Разработка вычислительного комплекса для преобразования параллельного десятичного кода в двоичный; вычисления суммы или разности; преобразования результата обратно в десятичный код и отображения на дисплее. Схемы логических элементов программы Minecraft.
курсовая работа [2,5 M], добавлен 25.01.2013Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014Написание программы, моделирующей работу вычислительного центра и возможные пути ее улучшения. Разработка моделирующего алгоритма и машинная реализация. Возможные улучшения в работе системы. Математическое описание системы, листинг и отчет программы.
курсовая работа [99,0 K], добавлен 03.07.2011Разработка вычислительного устройства для умножения двоичных чисел с фиксированной запятой, без знака, представленных в прямом коде. Алгоритм операции, структурная схема АЛУ, диаграмма управляющих сигналов, функциональная схема устройства управления.
контрольная работа [180,2 K], добавлен 01.10.2014История создания вычислительной техники. Организация вычислительного устройства ("архитектура фон Неймана"). Устройства ввода информации, ее обработки, хранения и вывода. Мониторы общего и профессионального назначения, их сравнительная характеристика.
реферат [2,3 M], добавлен 25.11.2009Разработка вычислительного ядра для программного комплекса ModelBuilder. Общая архитектура взаимодействия с моделью. Подход для работы с двухмерной графикой. Визуализация модели в 3D. Алгоритм вставки цилиндра в модель. Матрица физических параметров.
курсовая работа [2,2 M], добавлен 14.03.2012Нахождение рационального порядка следования запросов для обеспечения максимального критерия эффективности использования компонентов вычислительного процесса в системе. Метод ветвей и границ для максимально быстрого выполнения вычислительного процесса.
курсовая работа [196,3 K], добавлен 23.08.2009