Вторник, 17.10.2017, 14:06

..



Главная Регистрация Вход
Приветствую Вас, Гость · Браузер: « v»
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Всё об «Электроника БК0010(-01), БК0011(М)»! » Программы | Утилиты | ДОСы » Читалки текстов » «ASCER-1» [29.02.88] (Автор: ALER [А.ЕРМОЛОВ])
«ASCER-1» [29.02.88]
-=RUS=-Дата: Вторник, 11.11.2014, 16:12 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 350
Репутация: 1
Статус: Offline
(ASCER-1.doc)

 (С) ALER                                              29.02.88

                   Транслятор текстов 'АСКЕР-1'

                        Версия  29.02.88

   Программа 'АСКЕР-1' предназначена для преобразования  формата
текстовых  файлов.  Этимология  названия (кстати, с ударением на
первый слог)  связана с жаргонным "аск" - символ ASCII или, при-
менительно к БК0010 - КОИ-8.
   Загруженный  файл  рассматривается  как  текст (набор асков),
написанный в заданном входном формате.  АСКЕР преобразует формат
текста в соответствии с указанными ниже  особенностями и ограни-
чивает  длину строки 63-мя символами (избыток переносится).  Все
неопознанные аски,  т.е. невозможные в указанном входном формате
коды, меняются на заранее заданный символ.
   Управление АСКЕРом осуществляется через "меню" и не нуждается
в пространных комментариях.  На запросы  АСКЕРа  нужно отвечать:
"нет" - 'Н' (в любом регистре) или "да" - любая клавиша.

   ИСКЛЮЧЕНИЕ: на запрос  о  замене  неопознанных асков символом
   ¯¯¯¯¯¯¯¯¯¯¯ [&] ответом  "да"  является 'ВВОД';  любой другой
               символ будет записан вместо предложенного.

   Автор  надеется,  что экономия  Вашего  времени оправдает его
затраты на разработку "меню".

                "ЛЕКСИКОН" ПРЕОБРАЗУЕМЫХ ФОРМАТОВ
┌────────────────┬─────┬─────┬─────────┬─────┬─────┬─────┬─────┐
│ ФОРМАТ  ТЕКСТА │ АСК │ 000 │001...010│ 011 │ 012 │ 014 │ 040 │
├────────────────┴─────┼─────┼─────────┼─────┼─────┼─────┼─────┤
│ EDASP                │  ПС │   [&]   │  ГТ │ [&] │  ПФ │ [ ] │
├──────────────────────┼─────┼─────────┼─────┼─────┼─────┼─────┤
│ МИКРО#8К             │ [&] │   [&]   │  ГТ │  ПС │ [&] │ [ ] │
├──────────────────────┼─────┼─────────┼─────┼─────┼─────┼─────┤
│ МИКРО#8,9С           │ [&] │  N [ ]  │ [&] │  ПС │ [&] │ [&] │
├──────────────────────┼─────┼─────────┼─────┼─────┼─────┼─────┤
│ ПРОИЗВ.  НАБОР АСКОВ │ [&] │   [&]   │ [&] │  ПС │ [&] │ [ ] │
└──────────────────────┴─────┴─────────┴─────┴─────┴─────┴─────┘

ПС - перевод строки;  [ ] - пробел;  N [ ] - код количества про-
белов;  ГТ - горизонтальная  табуляция;  [&] - неопознанный аск;
   Аск  ПФ  (перевод формата: запись по клавише  'СБР/РП', инди-
кация [■] - штатная для 'ЗБ',ЛАТ.,СТР.)  возможен только в текс-
тах формата  EDASP  (например, разметка страниц в 'Document 2').
При трансляции  из EDASPа в EDASP аск сохраняется  (индицируется
так же). При любой другой - заменяется как неопознанный.
   Аски с кодами 041...177 и 240...377 допустимы в любом формате
и не изменяются. Все остальные считаются неопознанными.

   В режиме  "АВТО"  (положительный ответ на запрос  "АВТО...?")
АСКЕР  проверяет наличие в файле асков 001...010, 012, 040 и сам
задает форматы трансляции по алгоритму:
   ЕСТЬ 012? - НЕТ: вход - EDASP, выход - МИКРО#8К;
   ИНАЧЕ - ЕСТЬ 001...010? - НЕТ: вход - МИКРО#8К, выход - EDASP;
   ИНАЧЕ - ЕСТЬ 040? - НЕТ: вход - МИКРО#8,9С, выход - EDASP;
   ИНАЧЕ: вход - ПРОИЗВОЛЬНЫЙ НАБОР АСКОВ, выход - EDASP.

   Такая  процедура  однозначно   определяет  формат   правильно
написанного текста из ассортимента АСКЕРа.
   При  "АВТО":  ГТ  разрешено,  неопознанные аски заменяются на
[&],  трансляция из МИКРО#8,9С - по ТОЧНОМУ протоколу (см.ниже).

   Если формат файла заранее не известен, его можно установить с
помощью АСКЕРа: просмотрите текст после  пробной трансляции, за-
дав входной формат  "ПРОИЗВОЛЬНЫЙ НАБОР АСКОВ".  Выходной формат
не  имеет  значения,  т.к.  при  просмотре  текст любого формата
выглядит одинаково.  Нарушенные границы строк означают, что файл
был написан в EDASPе;  символы [&] вместо пробелов  указывают на
МИКРО#8,9С.  Текст формата  МИКРО#8К  преобразуется почти точно:
попадающимися кое-где символами [&] заменены  аски ГТ.  Повторно
загрузите и обработайте файл, задав правильный входной формат.

   Способ записи пробелов  в  формате МИКРО#8,9С требуется пояс-
нить. При их количестве  N=1...8  записывается только один байт:
001...010.  Если же N>8, после первого байта добавляется второй:
001...007.  В процессе декодирования второй байт умножается на 8
и складывается с первым:  N=9=1+8 - 001,001; N=16=8+8 - 010,001;
N=60=4+56 - 004,007.  Такое кодирование дает возможность сущест-
венно повысить плотность записи таблиц  (в частности, листингов)
- даже полная строка пробелов занимает всего два байта.
   В форматах EDASP  и  МИКРО#8К для этого же служит аск ГТ (код
011),  перемещающий курсор вправо на ближайшую позицию с номером
9, 17, 25...=8n+1 (считая левую крайнюю - первой).
   Все же, в общем случае тексты формата  МИКРО#8,9С  более ком-
пактны  и  при ТОЧНОЙ трансляции в EDASP или МИКРО#8К могут пре-
высить объём отведенного ОЗУ (видно по служебной строке).  Такой
файл нужно записывать на МЛ до просмотра.
   На этот случай  АСКЕР  предлагает  СОКРАЩЕННОЕ преобразование
текстов из формата МИКРО#8,9С  в  EDASP или МИКРО#8К: в выходной
файл точно передаются 1...2 пробела,  а любое большее количество
заменяется одним ГТ.  Такое преобразование способно  выравнивать
колонки листингов (но не требуйте невозможного!).  Если же ГТ не
разрешено, записываются 2 пробела.

   При трансляции АСКЕР,  "развернув цепочку"  ГТ и пробелов или
коды пробелов в МИКРО#8,9С,  считает их общее количество, прове-
ряет длину строки  (лишние убираются)  и переписывает в выходной
файл.  При трансляции в формат МИКРО#8,9С всегда кодируется пол-
ное число пробелов.  В EDASP и МИКРО#8К  все количество пробелов
передается в следующих случаях:
   - если их 1 или 2 (лишний, второй пробел нередко ставится для
выравнивания концов строк - см. настоящий текст);
   - если  ГТ запрещено, а заданный входной формат отличается от
МИКРО#8,9(СОКР.);
   - если в текущей строке раньше встречалось  ".A:" или  ".R:";
этими конструкциями (буквы ЛАТ., ЗАГЛ.) в системах МИКРО опреде-
ляются строки символов в кодах  КОИ-8  и  RADIX50; поскольку эти
фрагменты  как  правило предназначены для вывода на экран, АСКЕР
не использует ни ГТ, ни СОКРАЩЕННОЕ преобразование;  подчеркнем,
что это условие распространяется только на текст, стоящий справа
от указанных конструкций.
   СОКРАЩЕННОЕ преобразование было подробно описано выше.
   В остальных случаях  АСКЕР  стремится сократить объём текста,
записывая максимально-возможное количество ГТ, а затем добавляет
пробелы до полного соблюдения внешнего вида текста.

   АСКЕРом можно готовить текст с "читалкой"  типа  'Document 2'
или 'МОНСТР' к загрузке в любой  редактор используемого формата.
Машинные коды "читалки" будут заменены асками  (в основном - как
неопознанные), и их легко удалить редактором.  Это намного проще
и быстрее,  чем отделение текстовой части файла "вручную" в МСД:
не нужно искать конец "читалки", считать адреса и длины.

   Между прочим, если Вы предпочитаете  'МОНСТР'  (автору больше
по душе 'Document 2'), Вам известно, что подготовленный для него
в  EDASPe  текст не должен содержать  ГТ  (по крайней мере,  для
версии 01.07.87).  Обработайте текст АСКЕРом: из EDASPа в EDASP,
ГТ  запрещено - и все ГТ будут заменены  пробелами с сохранением
внешнего вида текста. Разумеется, длина файла увеличится.

   Если формат текста  отличен от  EDASP и МИКРО,  рекомендуется
преобразование: ПРОИЗВОЛЬНЫЙ НАБОР АСКОВ в EDASP. В редакторе Вы
можете скорректировать текст в силу своей сообразительности.
   Нередко удается задать  МАКРО,  исправляющее текст.  Во любом
случае,  МАКРО  легко убирает символы,  заменяющие  неопознанные
аски:  МОДЕЛЬ:  &;МАКРО: ПОИСК, СДВИЖКА, КУРСОР ВЛЕВО, ОКОНЧИТЬ.
Затем можно задать заведомо избыточное число повторов.

   Основное назначение систем  МИКРО  -  трансляция текстов про-
грамм в машинные коды.  Поэтому набор функций  редактора ограни-
чен.  У МИКРО#8,9С он лишь немного больше необходимого минимума.
Возможности редактора МИКРО#8К шире,  но он медленный и не очень
надежный  (автор не раз "вылетал" из редактора при использовании
функции ПРЕФИКС - КУРСОР ВНИЗ).
   Наиболее мощным редактором для БК0010 является EDASP.
   АСКЕР даёт  Вам  возможность писать тексты программ в EDASPe,
а затем перегружать их в любой МИКРО для ассемблирования.  Обна-
руженные при этом ошибки можно исправить редактором МИКРО.

    Дизассемблированные листинги  формата МИКРО#8К,  которые вы-
дает ДИЗАКС#0, можно обработать АСКЕРом для EDASPа.

   ПРИМЕЧАНИЯ.
   ¯¯¯¯¯¯¯¯¯¯¯
   1. Если в конце файла нет аска ПС, он добавляется АСКЕРом.
   2. При просмотре стоп/пуск происходит по любой клавише.

   Автор глубоко признателен  В.А.МАЛЬЦЕВУ  за ценные советы.

                А.ЕРМОЛОВ, Москва, т. 275-47-13.


 
Всё об «Электроника БК0010(-01), БК0011(М)»! » Программы | Утилиты | ДОСы » Читалки текстов » «ASCER-1» [29.02.88] (Автор: ALER [А.ЕРМОЛОВ])
Страница 1 из 11
Поиск:

-=RUS=-
ICQ: 320867225