Cтраница 2
По макрокоманде SAEC только строится или модифицируется графический управляющий блок внимания GACB. Связь между управляющей программой и программой обработки сигналов внимания, определенной в макрокоманде SAEC ( включение сигнала внимания), устанавливается по макрокоманде SPAR. [16]
Макрокоманда ANALYZ определяет и анализирует появление сигнала внимания от дисплеев. При сигнале внимания она передает управление программе обработки сигналов внимания, составленной пользователем. Одновременно эта программа получает информацию о том, от какого дисплея получен сигнал внимания. [17]
Последняя определяет, имеется ли программа пользователя, предназначенная для обработки сигнала внимания от данного дисплея. Если такая программа найдена, то управляющая программа передает управление ей. Обычно в программе обработки сигнала внимания пользователь предусматривает ввод сообщения, набранного на клавиатуре дисплея. На основе полученной информации устанавливается последующее направление выполнения программы. Таким образом, при базисном методе обработки сигнала внимания управляющая программа ОС ЕС автоматически обнаруживает сигнал внимания и передает управление программе пользователя, предназначенной для обработки этого сигнала. [18]
Данные, подлежащие передаче в основную память, набираются оператором на клавиатуре дисплея, после чего он нажимает клавишу ввода ВВ. При этом в буферную память заносится служебный символ Конец сообщения, а на экране высвечивается служебный знак П, соответствующий этому символу. Одновременно вырабатывается сигнал внимания, который вызывает прерывание в системе и обрабатывается программой обработки сигнала внимания, находящейся в основной памяти машины. [19]
Первый байт области COMAREA используется следующим образом. При нажатии на клавишу ВВ вырабатывается сигнал прерывания. Управляющая программа ОС ЕС прерывает текущую программу и определяет, предусмотрена ли макрокомандой SAEC программа обработки сигнала внимания от данного дисплея. Если такая программа предусмотрена, то управляющая программа помещает номер дисплея, от которого был получен сигнал внимания, в первый байт области COMAREA и передает управление этой программе обработки внимания. Если программа обработки сигнала внимания занята, то сигнал внимания ставится в очередь до освобождения программы. Если же программа обработки сигнала внимания не предусмотрена, то сигнал внимания теряется и управление возвращается прерванной программе. Номер дисплея, который помещается в первый байт области COMAREA, определяется порядком перечисления устройств в операторах DD, а не его номером в комплексе ЕС-7906. Этот номер может иметь значения от 1 до 16 и записывается в виде двоичного числа. Оно может быть помещено программистом в макрокоманду READ для чтения данных с экрана того дисплея, с которого был получен сигнал внимания. [20]
ЕР определяет точку входа в программу обработки сигнала внимания. В случае поступления нескольких сигналов внимания для этой программы последующие сигналы не обрабатываются до тех пор, пока не будут обработаны предыдущие. Если операнд ЕР опущен или задано его нулевое значение, то поступающие сигналы внимания ставятся в очередь. Если в какой-то момент с помощью исполнительной формы макрокоманды SAEC задать адрес точки входа в программу обработки сигнала внимания, то начнут обрабатываться сигналы внимания из очереди. [21]
Первый байт области COMAREA используется следующим образом. При нажатии на клавишу ВВ вырабатывается сигнал прерывания. Управляющая программа ОС ЕС прерывает текущую программу и определяет, предусмотрена ли макрокомандой SAEC программа обработки сигнала внимания от данного дисплея. Если такая программа предусмотрена, то управляющая программа помещает номер дисплея, от которого был получен сигнал внимания, в первый байт области COMAREA и передает управление этой программе обработки внимания. Если программа обработки сигнала внимания занята, то сигнал внимания ставится в очередь до освобождения программы. Если же программа обработки сигнала внимания не предусмотрена, то сигнал внимания теряется и управление возвращается прерванной программе. Номер дисплея, который помещается в первый байт области COMAREA, определяется порядком перечисления устройств в операторах DD, а не его номером в комплексе ЕС-7906. Этот номер может иметь значения от 1 до 16 и записывается в виде двоичного числа. Оно может быть помещено программистом в макрокоманду READ для чтения данных с экрана того дисплея, с которого был получен сигнал внимания. [22]
Данные, которые должны быть введены с дисплея, набираются оператором на клавиатуре и, если нужно, редактируются. После этого оператор нажимает клавишу ввода ВВ, в результате чего в буферную память индикатора заносится служебный символ конец сообщения, а на экране высвечивается служебный знак D. Клавиатура дисплея блокируется и дальнейший набор информации до ее разблокировки становится невозможным. Одновременно с нажатием клавиши ввода вырабатывается прерывание по сигналу внимания. Управляющая программа обрабатывает прерывание и передает управление программе обработки сигнала внимания, которая находится в основной памяти. Эта программа пользователя предусматривает выдачу макрокоманды GREAD для считывания набранной на клавиатуре дисплея информации. [23]
Первый байт области COMAREA используется следующим образом. При нажатии на клавишу ВВ вырабатывается сигнал прерывания. Управляющая программа ОС ЕС прерывает текущую программу и определяет, предусмотрена ли макрокомандой SAEC программа обработки сигнала внимания от данного дисплея. Если такая программа предусмотрена, то управляющая программа помещает номер дисплея, от которого был получен сигнал внимания, в первый байт области COMAREA и передает управление этой программе обработки внимания. Если программа обработки сигнала внимания занята, то сигнал внимания ставится в очередь до освобождения программы. Если же программа обработки сигнала внимания не предусмотрена, то сигнал внимания теряется и управление возвращается прерванной программе. Номер дисплея, который помещается в первый байт области COMAREA, определяется порядком перечисления устройств в операторах DD, а не его номером в комплексе ЕС-7906. Этот номер может иметь значения от 1 до 16 и записывается в виде двоичного числа. Оно может быть помещено программистом в макрокоманду READ для чтения данных с экрана того дисплея, с которого был получен сигнал внимания. [24]