5.3.188. Отмена режима листования
5.3.188. Отмена режима листования
Экстракод 064, Аисп = 0.
Экстракод отменяет режим листования.
5.3.189. Установка режима листования
Экстракод 064, Аисп = 1.
После данного экстракода печать символа с кодом 201b вызовет подвод бумаги к началу листа. В дальнейшем после печати 66 строк автоматически будет выполняться переход на новую страницу (протяжкой бумаги на 6 строк).
До выдачи символа с кодом 201b печать выполняется без листования.
5.3.190. Печать
Экстракод 064, Аисп > 1
Экстракод предназначен для выдачи в выходной поток печати содержимого памяти в виде восьмеричных и шестнадцатеричных целых, десятичных чисел с плавающей запятой, команд и текста.
В качестве информации к экстракоду задаются указатель выдаваемого массива и последовательность информационных слов “разметки”.
Указатель выдаваемого массива задает начальный и конечный адреса выдаваемого массива. Каждый из этих адресов может представляться парой “индекс-регистр - смещение”.
Информационные слова разметки определяют формат печати и расположение выдаваемой информации на бумаге. Слова разметки используются последовательно, при необходимости - циклически (т.е. по исчерпании всех слов разметки происходит возврат к первому слову разметки). После завершения исполнения печати всего выдаваемого массива выполняется прогон бумаги: число пустых строк указывается в последнем слове разметки (которое не обязательно является последним использованным для печати).
Каждое слово разметки обеспечивает печать определенного числа так называемых элементов печати. Элементом печати для нетекстовых форматов является слово оп, а для текстовых
- последовательность слов, завершающаяся словом с символом “конец текста” (или концом выдаваемого массива).
В каждом слове разметки задается:
- количество элементов
К
, печатаемых по данному слову разметки; - номер позиции
А
, начиная с которой будет печататься первый элемент, выдаваемый по данному слову разметки; - отступ
D
от начальной позиции предыдущего элемента, выполняемый перед печатью очередного элемента по данной разметке; - количество
L
выдаваемых символов одного элемента.
Размещение информации на листе определяется следующими правилами:
1) При установке на позицию с номером, меньшим номера текущей позиции, происходит переход на новую строку (т.е. никакие значения, задаваемые в слове разметки, не могут привести к наложению символов);
2) Перед началом работы экстракода текущей позицией является начальная позиция очередной строки (номер текущей позиции равен нулю);
3) При выборке очередного слова разметки текущей становится
позиция А
, указанная в слове разметки;
4) Для очередного элемента печатается определенное
количество (L
) символов; номер текущей позиции увеличивается:
для последнего (или единственного) элемента, печатаемого по
данному слову разметки - на число напечатанных
символов, в остальных случаях - на величину заданного в
разметке отступа D
.
При печати в текстовом формате число печатаемых символов (L
)
игнорируется; печать продолжается до символа
“конец текста” (или до конца выдаваемого массива). Если
конечный адрес выдаваемого массива равен начальному, то
текстовой элемент “продолжается” до символа “конец текста”
(т.е. конечный адрес в указателе выдаваемого массива игнорируется).
Помимо графических символов УПП, в выдаваемом
тексте могут встречаться и специальные символы, управляющие
размещением текста:
- конец текста (172b, 231b, 377b); данный символ указывает на конец текстового элемента;
- новая строка (175b, 214b) - задает переход на начальную позицию следующей строки;
- повторение (174b, 265b) - приводит к повторению предыдущего графического символа; число повторений указывается в следующем за символом 174b (265b) байте;
- номер позиции (173b, 200b) - позволяет задать позицию, с которой будут размещаться последующие графические символы; номер позиции задается в следующем байте (нумерация с нуля); если устанавливаемая позиция меньше текущей, то печать будет происходить с наложением;
- новая страница (201b) - выдается на печать как пробел; при установленном режиме листования приводит к тому, что содержащая этот символ строка будет печататься на новой странице;
- блокировка перехода на новую страницу (310b) - приводит к временной (до конца печати по данному экстракоду) отмене подсчета строк для автоматического перехода на новую страницу при включенном режиме листования; символ выдается на печать как пробел;
- наложение (212b) - обеспечивает наложение той строки, в которой данный код использован, на предыдущую строку; для этого код 212b должен содержаться во второй (при нумерации с единицы) позиции; при печати он будет заменен пробелом;
- пробел (017b, 242b, 176b);
- пропускаемый символ (143b, 341b) игнорируется при печати и не попадает в выходной поток.
В новых программах не рекомендуется применять коды 175b, 176b, 200b, 212b, 231b, 242b, 265b, 341b. Символы с кодами больше 137b, отсутствующие в приведенном выше списке, выдаются на печать как символ пробела (однако использовать это в программах не рекомендуется).
Строка, содержащая только символ конца текста в первой позиции, в выходной поток не включается.
При печати команд число печатаемых символов (L
)
игнорируется (всегда считается равным 24). Первым символом
при распечатке в этом формате всегда выдается пробел.
При печати восьмеричных целых L
определяет количество
печатаемых цифр и не должно превосходить 20b. При
L
< 20b печатаются младшие разряды слова.
При печати чисел с плавающей точкой L
должно удовлетворять
условию: 5 <= L
<= 21b. На печать выдается следующая
последовательность символов: пробел, знак числа (“+” или “-“),
L-4
цифры мантиссы, символ экспоненты, знак порядка,
две цифры значения порядка. Всего выдается L+2
символа.
При печати шестнадцатеричных целых L
определяет количество
печатаемых цифр и не должно превосходить 14b. При L
< 14b
печатаются младшие разряды слова.
Использовать формат “текст в кодировке автокода ИТМ” в новых программах не рекомендуется.
Входная информация:
Аисп: адрес группы (С
) информационных слов.
С
: указатель выдаваемого массива.
- 48-45 разряды - индекс-регистр, содержимое которого участвует в формировании начального адреса выдаваемого массива;
- 39-25 разряды - смещение, значение которого участвует в формировании начального адреса выдаваемого массива;
- 24-21 разряды - индекс-регистр, содержимое которого участвует в формировании конечного адреса выдаваемого массива;
- 15-1 разряды - смещение, значение которого участвует в формировании конечного адреса выдаваемого массива;
С+1
…: - информационные слова разметки.
- 48-45 разряды - формат печати:
- 0 - текст;
- 1 - команды;
- 2 - восьмеричное целое;
- 3 - машинное число с плавающей точкой;
- 4 - текст в кодировке автокода ИТМ;
- 7 - шестнадцатеричное целое;
- 43-37 разряды - номер позиции (с нуля), начиная с которой
должна выдаваться информация по данному
информационному слову (
А
); - 31-25 разряды - количество печатаемых символов (
L
); - 24 разряд - признак последнего информационного слова;
- 23-21 разряды - число протяжек без единицы (число пустых строк), выдаваемых после завершения экстракода; содержимое данного поля игнорируется при 24 разряде = 0 (т.е. во всех информационных словах разметки, кроме последнего);
- 19-13 разряды - интервал между начальными позициями элементов,
печатаемых по данному информационному слову разметки (
D
); - 7-1 разряды - число элементов, печатаемых по данному
слову разметки, уменьшенное на единицу (
К-1
).
5.3.190.1. Специальная форма текстовой печати
Если в указателе выдаваемого массива (С
) 24-1 разряды
равны нулю, и задано единственное информационное слово
разметки, определяющее печать в текстовом формате, то экстракод
выполняется специфическим образом: печатается текстовая
строка, содержащая ровно 128 символов (в выдаваемом
массиве не должны использоваться символы “повторение” и
“номер позиции”), а код 129-го символа определяет число
протяжек бумаги после завершения печати (не более 17b).
Нулевое значение числа протяжек приведет к тому, что информация,
выдаваемая по следующему экстракоду печати, наложится
на данную строку.
5.3.190.2. Печать по столбцам
Если в указателе выдаваемого массива 44 разряд = 1, то печать осуществляется “по столбцам”. При этом весь массив информационных слов разметки описывает содержимое одной “строки”. Текстовые элементы при печати по столбцам имеют длину в одно слово (а не до символа “конец текста”, как в случае обычной печати). Служебные символы в них игнорируются (за исключением символов “конец текста” и “новая страница”). Если размер выдаваемого массива не кратен числу элементов в “строке”, то соответствующее число последних столбцов “укорачивается” на строку по сравнению с первым столбцом.
5.3.190.3. Авосты
ИНФ.СЛ.В ЧУЖ.ЛИС
- информационное слово экстракода не принадлежит памяти задачи;НЕТ КОНЦА БЦ.ИНФ
- текстовой элемент при задании совпадающих начального и конечного адресов выдаваемого массива не содержит символа “конец текста”;ЛИСТ В ЭК.ЧУЖОЙ
- выдаваемый массив полностью или частично располагается в чужом листе;ОШ.В ИНФ.СЛ.ЭКСТ
- велико количество элементов в разметке.