Скачать 0.83 Mb.
|
Примечание. Запрос .TTYIN не обслуживает косвенные файлы. Для этой цели необходимо пользоваться запросом .GTLIN. Формат макрокоманды: .TTYIN CHAR .TTINR где CHAR — адрес ячейки, куда пересылается код вводимого символа. Если CHAR указан в запросе, то код пересылается в указанную ячейку и в R0. Если CHAR не указан, то в R0. Пример использования .TTYIN, .TTINR см. в описании запросов .TTYOUT, .TTOUTR. 5.2.6. .TTYOUT, .TTOUTR Запросы .TTYOUT, .TTOUTR используются для передачи символов из R0 в буфер терминала. Их действия аналогичны .TTYIN и .TTINR. Если буфер терминала заполнен, то запрос .TTYOUT ожидает появления в буфере свободного места для выводимого символа, тогда как .TTOUTR не делает этого, и символ, находящийся в R0, на терминал не выводится. Если после завершения .TTOUTR установлен C-разряд, это означает, что в буфере нет свободного места и что символ не был выведен на терминал. В режимах FB, XM запрос .TTOUTR не устанавливает C-разряд. В этом случае выполнение програм мы блокируется до появления в буфере свободного места. Чтобы продолжить выполнение программы и обеспечить установку C-разряда, необходимо установить шестой разряд в ССЗ. Примечание. Если в основном задании установлен шестой разряд в ССЗ, то запросы .TTYIN и .TTYOUT будут вызывать блокировку фонового задания. Заметим, что каждое задание в основном или фоновом режиме имеет свое собственное ССЗ, поэтому могут использовать различные режимы работы терминала независимо друг от друга Формат макрокоманды: .TTYOUT CHAR .TTOUTR где CHAR — адрес ячейки, содержащей код символа, который будет пересылаться R0 с последующим выводом на терминал. Если CHAR не указан, на терминал выводится содержимое R0. Пример: .TITLE TTIO.MAC .MCALL .TTYIN,.TTYOUT,.TTINR,.TTOUTR,.EXIT JSW =44 ;СЛОВО СОСТОЯНИЯ ЗАДАНИЯ START: MOV #BUFFER,R1 CLR R2 BIS #100,@#JSW ;УСТАНОВИТЬ 6 РАЗРЯД INLOOP: .TTINR ;ВВЕСТИ СИМВОЛ С ТТ: BCS NOCHR CHRIN: MOVB R0,(R1)+ ;ПЕРЕСЛАТЬ СИМВОЛ В БУФЕР INC R2 CMPB R0,#12 BNE INLOOP MOV #BUFFER,R1 OUTLOOP: MOVB (R1),R0 ;ПЕРЕСЛАТЬ СИМВОЛ В R0 .TTOUTR ;ВЫВЕСТИ СИМВОЛ НА ТТ: BCS NOROOM CHROUT: DEC R2 BEQ START INC R1 BR OUTLOOP ;ПЕЧАТАТЬ СЛЕДУЮЩИЙ СИМВОЛ NOCHR: .TTINR BCC CHRIN ;ЕСТЬ СИМВОЛ? ; . ; . ; . BR NOCHR NOROOM: MOVB (R1),R0 .TTOUTR BCC CHROUT ;ПРИ НАЛИЧИИ СИМВОЛА - ПЕЧАТАТЬ ЕГО ; . ; . ; . BIC #100,@#JSW ;ОЧИСТИТЬ 6 РАЗРЯД И .TTYOUT (R1) ;ПЕЧАТАТЬ СИМВОЛ BIS #100,@#JSW BR CHROUT BUFFER: .BLKB 128. .END START 5.2.7. .PRINT Запрос .PRINT вызывает печать строки символов КОИ-7 на системном терминале. В режимах FB, XM каждому сообщению предшествует побуждающий знак B> или F>, в зависимости от того, какое задание его печатает (B> — фоновое, F> — основное). Это происходит в случае переключения системного терминала на обслуживание другого задания. Если ввод на терминал выполняется системным заданием, то в качестве побуждающего знака печатается имя системного задания. Строка текста, которая выводится на печать, может оканчиваться как нулевым байтом, так и байтом 200. В первом случае, в отличие от второго, вывод автоматически заканчивается «ВК» и «ПС». Управление возвращается программе пользователя после того, как все символы будут записаны в буфер вывода монитора. Основное задание печатает сообщение сразу же, независимо от состояния фонового задания. Таким образом, для печати срочных сообщений должен использоваться запрос .PRINT, а не .TTYIN или .TTYOUT. Если фоновое задание печатает побуждающий знак и звездочку, то системный терминал будет переключен на него и запросы .TTYOUT из основного задания выполняться не будут, пока для фонового не будет выполнено «ВК». Формат макрокоманды: .PRINT ADDR где ADDR — адрес строки, которую необходимо напечатать. Пример: .TITLE PRINT.MAC ;B ЭТОМ ПРИМЕРЕ ЗАПРОС .PRINT ИСПОЛЬЗУЕТСЯ ДЛЯ ПЕЧАТИ ;СИМВОЛОВ, ВВОДИМЫХ С ТЕРМИНАЛА. .MCALL .GTLIN,.PRINT,.EXIT START: .GTLIN #BUFF,#PROMPT ;ВВОД СИМВОЛОВ С ТЕРМИНАЛА TSTB BUFF ;СТРОКА ПУСТАЯ? BEQ 1$ ;ДА .PRINT #BUFF ;НЕТ - ПЕЧАТЬ СТРОКИ CLRB BUFF BR START 1$: .EXIT BUFF: .BLKW 41. PROMPT: .ASCII /ВВЕДИТЕ СТРОКУ : /<200> .END START 5.2.8. .MTIN Запрос .MTIN является мультитерминальной формой запроса .TTYIN. Этот запрос пересылает один или более символов из буфера ввода монитора в буфер, указанный пользователем. Терминал должен быть логически связан с текущим заданием. Если запрос выполнен успешно, то модифицированный адрес буфера пользователя будет записан в R0. Если в слове M.TSTS установлен разряд TCBIT, то запрос .MTIN устанавливает C-разряд и передает управление вызывающей программе, если ввод с терминала невозможен (т.е. нет строки, если разряд TTSPC очищен или нет символа в буфере ввода, если разряд TTSPC установлен). В противном случае .MTIN будет ожидать операцию ввода, и тем самым выполнение задания будет приостановлено. Формат макрокоманды: .MTIN AREA,ADDR,UNIT[,CHRCNT] где AREA — адрес блока из трех слов аргументов EMT; ADDR — адрес буфера пользователя; UNIT — логический номер терминала (ЛНТ); CHRCNT — количество пересылаемых символов (от 1 до 255). Если этот аргумент опущен, то передается один символ. Формат блока аргументов EMT: AREA: .BYTE 2,37 .WORD ADDR .BYTE UNIT,CHRCNT 5.2.9. .MTOUT Запрос .MTOUT является мультитерминальной формой запроса .TTYOUT. Этот запрос пересылает один или более символов из буфера пользователя в буфер вывода терминала. Терминал должен быть логически связан с заданием. Модифицированный адрес буфера пользователя будет записан в R0, если запрос выполнен успешно. Если в буфере вывода нет свободного места и в слове M.TSTS установлен разряд TCBIT, то .MTOUT устанавливает C-разряд и передает управление вызывающей программе. Если разряд TCBIT очищен, выполнение задания приостанавливается до тех пор, пока не появится свободое место в буфере вывода. Формат макрокоманды: .MTOUT AREA,ADDR,UNIT[,CHRCNT] где AREA — адрес блока из трех слов аргументов EMT; ADDR — адрес буфера пользователя; UNIT — логический номер терминала; CHRCNT — количество передаваемых символов (от 1 до 255). Если этот аргумент опущен, то передается один символ. Формат блока аргументов EMT: AREA: .BYTE 3,37 .WORD ADDR .BYTE UNIT,CHRCNT 5.2.10. .MTPRNT Запрос .MTPRNT является мультитерминальной формой запроса .PRINT. Он осуществляет вывод одной или нескольких строк символов на указанный терминал. Формат макрокоманды: .MTPRNT AREA,ADDR,UNIT где AREA — адрес блока из трех слов аргументов EMT; ADDR — адрес строки, которую необходимо напечатать (т.е. .ASCII /СТРОКА/ <200> или .ASCIZ /СТРОКА/); UNIT — логический номер терминала. Формат блока аргументов EMT: AREA: .BYTE 7,37 .WORD ADDR .BYTE UNIT 5.2.11. .SPFUN Запрос .SPFUN главным образом используется драйверами устройств для выполнения специальных функций, зависящих от этих устройств. Формат макрокоманды: .SPFUN AREA,CHAN,FUNC,BUF,WCNT,BLK[,CRTN] где AREA — адрес блока из шести слов аргументов EMT; FUNC — код функции, которая будет выполняться; BUF — адрес буфера. Если для операции буфер не требуется, этот аргумент должен быть равен нулю; CRTN — адрес подпрограммы завершения. Если CRTN не указан, то его значение автоматически приравнивается нулю. Если CRTN равен нулю, то управление программе пользователя будет передано после завершения операции. Если CRTN равен 1, управление будет передано программе пользователя немедленно после начала операции, а если CRTN=N, то N — адрес подпрограммы завершения (N>5008). Аргументы CHAN, BLK, WCNT те же, что и в запросах .READ/.WRITE. Они используются только при необходимости произвести запись на магнитную ленту с расширенным межфайловым промежутком. Формат блока аргументов EMT: AREA: .BYTE CHAN,32 .WORD BLK .WORD BUF .WORD WCNT .BYTE 377,FUNC .WORD CRTN В табл. 91 приводятся функции запроса .SPFUN и соответствующие им коды. Таблица 9
Для использования запроса .SPFUN необходимо, чтобы драйвер соответствующего устройства находился в памяти и канал был связан с файлом по запросу .LOOKUP. Пример: .TITLE SPFUN.MAC ;ПРИМЕР ИСПОЛЬЗОВАНИЯ ЗАПРОСА .SPFUN. .MCALL .SPFUN,.FETCH,.LOOKUP,.PRINT,.CLOSE,.EXIT START: .FETCH #DSPC,#MT ;ЗАГРУЗИТЬ ДРАЙВЕР MT: BCS 1$ .LOOKUP #AREA,#4,#MT ;ОТКРЫТЬ КАНАЛ BCS 2$ .SPFUN #AREA,#4,#373,#0 ;ПЕРЕМОТКА ДО ТОЧКИ ЗАГРУЗКИ .BCS 3$ .CLOSE #4 .EXIT 1$: MOV #FERR,R0 BR 5$ 2$: MOV #LKERR,R0 BR 5$ 3$: MOV #SPERR,R0 5$: .PRINT .EXIT AREA: .WORD 0 MT: .RAD50 /MT / .WORD 0,0,0 FERR: .ASCIZ /ОШИБКА .FETCH/ LKERR: .ASCIZ /ОШИБКА .LOOKUP/ SPERR: .ASCIZ /ОШИБКА .SPFUN/ .EVEN DSPC =. .END START 5.3. Запросы общего назначения 5.3.1. .CDFN Запрос .CDFN используется для переопределения количества каналов ввода-вывода. Каждое задание, независимо от того, является оно основным или фоновым, первоначально обеспечивается 16 каналами ввода-вывода (от 0 до 15). Запрос .CDFN позволяет увеличить число каналов до 255 (от 0 до 254). Канал с номером 255 используется монитором. Область памяти для новых каналов определяется в пределах программы пользователя. Под каждый канал ввода-вывода отводится пять слов (семь — для монитора XM). В режиме XM область памяти для дополнительных каналов, указанных в запросе .CDFN, должна располагаться в нижних 28 Кб оперативной памяти. Рекомендуется, чтобы запрос .CDFN выполнялся в начале программы перед операциями ввода-вывода. Если в программе используется более одного запроса .CDFN, то области каналов для них не должны перекрывать друг друга, но могут иметь один и тот же начальный адрес. Два запроса — .SRESET и .HRESET — восстанавливают первоначальное количество каналов (16), следовательно, все запросы .CDFN должны выполняться повторно после использования .SRESET или .HRESET. Заметим, что запрос .CDFN определяет только новые каналы. Область памяти, задействованная для ранее определенных каналов, не используется. Так, запрос .CDFN для 20 каналов ввода-вывода (в то время как 16 первоначальных уже определены) создает 20 новых каналов. Область для 16 первоначальных не используется, но содержимое старых каналов будет скопировано в новые. Для программы с оверлейной структурой пятнадцатый канал используется оверлейным драйвером и не должен изменяться. Формат макрокоманды: .CDFN AREA,ADDR,NUM где AREA — адрес блока из трех слов аргументов EMT; ADDR — адрес области памяти для новых каналов; NUM — число создаваемых каналов. Формат блока аргументов EMT: AREA: .BYTE 0,15 .WORD ADDR .WORD NUM Пример: .TITLE CDFN.MAC ; В ЭТОМ ПРИМЕРЕ ЗАПРОС .CDFN ИСПОЛЬЗУЕТСЯ ДЛЯ ; ОПРЕДЕЛЕНИЯ 32. НОВЫХ КАНАЛОВ. .MCALL .CDFN,.PRINT,.EXIT,.HRESET START: .CDFN #AREA,#CHAN,#255. ;ОПРЕДЕЛИТЬ 32. КАНАЛА BCC 1$ .PRINT #MSG1 ;ПЕЧАТЬ СООБЩЕНИЯ .EXIT ;ВЫХОД ИЗ ПРОГРАММЫ 1$: .PRINT #MSG2 ;ПЕЧАТЬ СООБЩЕНИЯ .HRESET .EXIT ;ВЫХОД ИЗ ПРОГРАММЫ AREA: .BLKW 3 ;БЛОК АРГУМЕНТОВ EMT CHAN: .BLKW 5*255. ;ОБЛАСТЬ ДЛЯ КАНАЛОВ MSG1: .ASCIZ /ОШИБКА .CDFN/ MSG2: .ASCII /ОПРЕДЕЛЕНЫ 32. НОВЫХ КАНАЛА/<15><12> .ASCIZ /ВОЗВРАТ К 16. КАНАЛАМ/ .EVEN .END START 5.3.2. .CHAIN Запрос .CHAIN позволяет одной фоновой программе инициировать выполнение другой фоновой программы без вмешательства оператора. Этот процесс может повторяться, что позволяет организовать последовательное выполнение большого числа программ. Ячейки 500—507 должны содержать имена устройства и вызываемого файла (в кодах RADIX-50). Ячейки 510—777 используются для передачи информации между последовательно выполняемыми программами. Формат макрокоманды: .CHAIN Примечания. 1. Содержимое областей оперативной памяти, за исключением занимаемой резидентным монитором и ячеек 500—777, может изменяться после выполнения .CHAIN. Если .CHAIN выполняется из виртуального задания, то содержимое ячеек 500-777 не сохраняется. 2. Каналы ввода-вывода остаются открытыми после выполнения запроса .CHAIN для использования новой программой. Однако каналы, открытые по запросу .CDFN, не могут использоваться. Так как по запросу .CHAIN монитор восстанавливает первоначальное число каналов (16), то программа, которая оставляет файлы открытыми при выполнении .CHAIN, не должна использовать .CDFN. Нерезидентные драйверы устройств удаляются из памяти при выполнении .CHAIN, поэтому они должны быть вновь загружены новой программой. 3. По восьмому разряду ССЗ программа может определить, как она была загружена: по запросу .CHAIN или по команде RUN. Разряд устанавливается во время выполнения программы, если она была загружена с помощью .CHAIN. Если программа, занимающая ячейки от 500 до 777, предназначена для загрузки по запросу .CHAIN, то восьмой разряд в ССЗ должен быть установлен во время ее трансляции. В этом случае программа будет загружена правильно. Если разряд не установлен, ячейки 500—777, содержимое которых сохраняется от предыдущей программы, могут вызвать неправильную работу новой. 4. Для запроса .CHAIN характерны те же ошибки, что и для команды RUN.</12></15></200></200> |
Ru Персональный компьютер, или "Азбука pc" для начинающих http Олимпиады и контрольно-измерительные материалы по информатике и ит олимпиадная информатика |
Инструкция по самостоятельной установке почтового сертификата на... Если срок действия Вашего почтового сертификата подходит к концу, необходимо выполнить следующие действия для его перевыпуска |
||
Инструкция по самостоятельной установке почтового сертификата на... Когда срок действия Вашего почтового сертификата подходит к концу, необходимо выполнить следующие действия для его перевыпуска |
Требования к продукции Персональный компьютер Lenovo ThinkCentre Tiny M700 I5 6400T 4Gb 500gb 7200 Intel hd nodvd wi-Fi usb kb&Mouse dos (10HY003tru) или... |
||
Назначение Контроллер srtr d предназначен для использования в составе терминала платежных или иных систем имеющих в своем составе персональный... |
Руководство обучающегося в системе дистанционного обучения персональный... Руководство предназначено для обучающихся в системе дистанционного обучения «Персональный учитель 0», работающих с программой доступа... |
||
«Радиационный фон и методы его измерения» Оборудование: компьютер, интерактивная доска, проектор, типовой персональный дозиметр, презентации, раздаточный материал (Основные... |
Книга raznprogram xls Для работы с ней надо иметь персональный компьютер типа не ниже Pentium II с операционной системой не ниже Windows 98, оснащенный... |
||
Руководство и персональный состав педагогических работников Уровень образования (впо, спо, среднее общее образование), наименование оо, квалификация по диплому, год окончания) |
Цели урока Марс на базе Нато произошла авария, из-за которой был поврежден компьютер-помощник. Путешественник «А» связывается с командным центром... |
||
Методическое пособие содержит дидактические и методические материалы... «Партнерство в образовании» и Windows Server 2003, организации и работы в коллективе службы технической поддержки. Этот курс по настройке... |
Инструкция по охране труда для работников ниу вшэ санкт-Петербург... Работник ниу вшэ – Санкт – Петербург (далее по тексту Филиал) допускается к самостоятельной работе на персональных электронно вычислительных... |
||
Компьютер и дети. Компьютер друг или враг? Показать возможность использования компьютера в учебной деятельности и в домашних условиях |
Предметный указатель к тому 1, 1995 содержание тома 1, 1995 Разработка прогрессивных технологических процессов и оборудования перенастраиваемых многоассортиментных производств синтетических... |
||
Карманный персональный компьютер (кпк) Программа Outlook 2002 может содержаться на компакт-диске с ActiveSync. Если у вас нет программы Outlook, установите программу Microsoft... |
Папка учителя по самообразованию Образование (название учебного заведения и год окончания) высшее, Аркалыкский педагогический институт Им. И. Алтынсарина, 1995 г |
Поиск |