Cтраница 2
![]() |
Входной канал адаптера ИРПР-СМ.| Выходной канал адаптера ИРПР-СМ. [16] |
Простейший драйвер ИРПР-адаптера может содержать только две подпрограммы. Первая подпрограмма TTS - условный ввод с совмещением - возвращает в одном из флажков PSW, например в ZF, признак готовности ввода. [17]
Основными модулями являются следующие шесть подпрограмм: ВВВ, ВВП, ВПВ, ВПП, ПВП, ЗВЕНО. Пять первых подпрограмм предназначены для анализа диад соответствующих модификаций. Подпрограмма ЗВЕНО предназначена для анализа отдельного звена механизма: это может быть или входное звено 1, или какое-либо звено любой из диад. Рассмотрим некоторые аспекты создания такой единой программы. [18]
На этой управляющей карте должен стоять символ X в колонке 5 - для вывода на магнитную ленту, X в колонке 6 - для вывода на перфокарты и X в колонке 7 - для вывода на печать. Одна из первых подпрограмм должна считать эту управляющую карту и установить переключатели вывода, которые указаны пользователем. [19]
Согласование работы подпрограмм производится с помощью управляющей программы. При определении общей структуры кинематической схемы ( первая подпрограмма) строится кратчайшая сеть, связывающая центры исходных координат шпинделей и валов. [20]
Допускаются рекурсивные обращения, реализуемые в том случае, когда подпрограмма обращается к самой себе. Понятие рекурсии охватывает также и ситуацию, при которой первая подпрограмма вызывает вторую, а та в свою очередь вызывает первую. Число обращений подпрограммы к себе самой определяет глубину рекурсий, которая ограничена и зависит от используемой версии Бейсика, количества других вложенных одна в другую подпрограмм, выполняемых в этот же момент времени, и от размера рабочего стека - участка оперативной памяти для хранения списка адресов возврата из подпрограмм. Как правило, размеры стандартного стека достаточны для решения большинства задач, встречающихся на практике. [21]
Такая ситуация была проиллюстрирована выше на рис. 10.6. При выполнении второй команды вызова подпрограммы текущее содержимое счетчика команд помещается в стек. Текущее содержимое счетчика команд представляет собой в данном случае адрес одной из команд первой подпрограммы. Эти 2 байт размещаются в двух областях стека, следующих за теми областями, в которых хранится текущее содержимое счетчика команд главной программы. Теперь в счетчик команд загружается из второго и третьего байтов команды вызова подпрограммы начальный адрес второй подпрограммы, и начинается выполнение подпрограммы второго уровня вложения. [23]
Подпрограммы ввода с клавиатуры и анализа буферных данных позволяют вводить на экран дисплея с алфавитно-цифровой клавиатуры различные тексты, а также считывать информацию с экрана в основную память. Эти функции реализуются тремя подпрограммами: ввода курсора; удаления курсора; считывания данных. Первая подпрограмма вводит в набор графических данных курсор - специальный знак, указывающий на экране позицию вводимого с алфавитно-цифровой клавиатуры символа. Вторая подпрограмма удаляет курсор с экрана. Третья - считывает содержимое буферного запоминающего устройства ( отражаемого на экране) в основную память. [24]
![]() |
Структурная схема микропроцессора. [25] |
Стек используют для организации работы по нескольким подпрограммам ( ПП), вложенным одна в другую. При обращении к первой ПП в стек заносят содержимое счетчика команд, то есть адрес команды, которая должна выполняться по окончании подпрограмм. Если в первой ПП есть обращение ко второй, то в стек заносится адрес возврата первой ПП, который определяет команду, выполняемую первой подпрограммой, после окончания второй. Таким образом, после завершения очередной вложенной одна в другую подпрограммы из стека в счетчик команд вводится адрес возврата предыдущей ПП, и микропроцессор начинает выполнять эту ПП. [26]
Программное обеспечение для центрального процессора Z80 написано на языке ассемблера. Работа программы начинается с вызова нескольких подпрограмм. По первой подпрограмме включается таймер аппаратных средств, генерирующий шесть прерываний через каждые 2 с. По второй подпрограмме отображаются текущие газовые потоки. Третья подпрограмма дает возможность оператору точно определить первоначальный газовый состав крови. По четвертой подпрограмме подтверждается, что концентрация кислорода и углекислого газа составляет не менее 2 % газовой смеси. Пятая подпрограмма используется в качестве первого этапа двухэтапной системы калибровки. Когда показания датчиков приближаются к действительному газовому составу крови пациента, то по шестой подпрограмме проводится второй этап калибровки, при этом включается насос, контролируются датчики до выхода в рабочий режим, заносятся в память и печатаются значения напряжения и состава газов. По седьмой подпрограмме печатается собранная информация на терминале оператора. По восьмой подпрограмме вычисляется и заносится в память величина усиления СО2 - датчика. По девятой подпрограмме считывается информация с датчиков через промежутки времени, установленные оператором. Вычисления проводятся при помощи пакетов с плавающей запятой. [27]
В основную программу внесены незначительные изменения. Так, в строке 210 расширена область допустимых напряжений до - 1 - г - 10 В. Основная программа заканчивается вызовом двух подпрограмм. Первая подпрограмма корректирует нулевую линию, вторая рассчитывает по хроматографическо-му пику молекулярно-массовое распределение. Расчет проводится по 251 точке хроматограммы. [28]
Алгоритм анализа корреляционно-спектральных характеристик вибросигнала включает в себя: дискретизацию непрерывного вибросигнала, цифровую фильтрацию, вычисление информативных параметров и определение технического состояния объекта. Программа, моделирующая объект, позволяет имитировать сигналы как исправного, так и неисправного механизмов. Моделирование процесса измерения параметров вибрации также состоит из организующей программы и двух подпрограмм. Организующая программа осуществляет ввод заданного числа элементов анализируемого случайного процесса и центрирует его. Первая подпрограмма формирует массив экстремумов, вторая - осуществляет разложение процесса по отдельным расфильтровкам и вычисляет спектральные коэффициенты. [29]