-=RUS=- | Дата: Четверг, 06.11.2014, 18:45 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 352
Статус: Offline
| (BKpack v1.6-1.7.doc)
Программа BKpack - упаковщик исполняемых программ.
▓▓▓▓▓▓┐ ▓▓┐ ▓▓┐▓▓▓▓▓▓┐ ▓▓▓▓▓┐ ▓▓▓▓▓┐ ▓▓┐ ▓▓┐ ▓▓┼┴┴▓▓┐▓▓┤ ▓▓┼┘▓▓┼┴┴▓▓┐ ▓▓┼┴▓▓┤▓▓┼┴┴▓▓┐▓▓┤ ▓▓┼┘ ▓▓▓▓▓▓┼┘▓▓▓▓▓┼┘ ▓▓▓▓▓▓┼┘▓▓┼┘ ▓▓┤▓▓┤ └┴┘▓▓▓▓▓┼┘ ▓▓┼┴┴▓▓┐▓▓┼┴▓▓┐ ▓▓┼┴┴┴┘ ▓▓▓▓▓▓▓┤▓▓┤ ▓▓┐▓▓┼┴▓▓┐ ▓▓▓▓▓▓┼┘▓▓┤ ▓▓┐▓▓┤ ▓▓┤ ▓▓┤└▓▓▓▓▓┼┘▓▓┤ ▓▓┐ └┴┴┴┴┴┘ └┴┘ └┴┘└┴┘ └┴┘ └┴┘ └┴┴┴┴┘ └┴┘ └┴┘
Версии 1.6 и 1.7
Нововведения. ¯¯¯¯¯¯¯¯¯¯¯¯¯
Андрей Ходулёв, г.Москва, 1992
В этом документе кратко описаны отличия версий 1.6 и 1.7 упаковщика BKpack от подробно документированной версии 1.5.
1. Технические характеристики. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Приведены характеристики версии 1.7, в скобках указаны значе- ния для версии 1.6, если они отличаются.
Начальный адрес = 1000, длина = 7162(7020), контр. сумма = 131740 (174462), после выхода возможен повторный вход по началь- ному адресу.
Максимальная длина исходного файла - 40000(62000).
Длина кодовой части автораспаковщика - 200(202) или 222(224).
Длина рабочей области при распаковке – 1070.
Время упаковки файла длиной 40000 - ок. 17(27) сек
Время распаковки файла длиной 40000 - 0.7(1.0) сек
2. Упаковка файлов. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ После запуска BKpack на экран выдается главное меню:
1 - УПАКОВКА 2 - РЕЖИМЫ 0 - ВЫХОД
Нажатие клавиши 2 позволяет установить режимы работы упаков- щика. Для выбора режимов используются клавиши перемещения кур- сора: ВЛЕВО, ВПРАВО, ВВЕРХ, ВНИЗ. Выбранные режимы индицируются в служебной строке. Нажатие клавиши (ВВОД) возвращает BKpack в главное меню. Возможные режимы описаны в разд.3.
Нажатие клавиши 1 в главном меню начинает процесс упаковки.
В качестве адреса рабочей области, как и ранее, следует указывать такой адрес, чтобы рабочая область не пересекалась с распакованной программой, или нажимать (ВВОД) в ответ на запрос, чтобы использовать значение, предлагаемое BKpack.
В версии 1.7 существенно сокращена максимальная длина файла, однако все файлы, вплоть до максимальной длины, упаковываются за одно чтение с МЛ.
В версии 1.7 упакованный файл не записывается в экранную память. Вместо этого для визуальной оценки степени сжатия на экран (во всю ширину) выводится шкала голубого цвета (волнистая на ч/б мониторе),обозначающая размер исходного файла. В процессе упаковки поверх неё рисуется красная (сплошная) шкала, отвечаю- щая длине упакованного файла.
Время упаковки файла в версии 1.6 примерно в 1.5 раза меньше, чем в версии 1.5, а версия 1.7 упаковывает большие файлы ещё в 1.6 раз быстрее версии 1.6. Автораспаковщик в версии 1.6 факти- чески совпадает с версией 1.5, а в версии 1.7 он на одно слово короче и работает быстрее.
3. Режимы работы упаковщика. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Вы можете выбрать по одному из каждой из перечисленных ниже трёх пар режимов (в скобках указываются сокращенные трехбуквен- ные идентификаторы, выводимые в служебную строку для индикации соответствующих режимов):
1. Режим ПРОГРАММА/ДАННЫЕ (ПРГ/ДАН). Этот режим управляет действиями автораспаковщика после завершения распаковки. Если файл упаковывался в режиме ПРОГРАММА, то после его распаковки автораспаковщик автоматически передаст ему управление, тогда как распаковка ДАННЫХ завершается командой HALT. Таким образом, сле- дует выбрать режим ПРОГРАММА, если упаковывается исполняемая программа, и режим ДАННЫЕ, если упаковываемый файл не требует запуска на выполнение.
2. Режим ДЛИННОГО/КОРОТКОГО автораспаковщика (ДЛ/КОР). КОРОТКИЙ автораспаковщик восстанавливает при распаковке только содержимое исходного файла в той области памяти, куда он должен загружаться. В дополнение к этому ДЛИННЫЙ автораспаковщик вос- станавливает три ячейки в системной области, что может быть необходимо для некоторых программ, а именно, в ячейки 266 и 350 заносится длина, а в ячейку 312 - контрольная сумма, отвечающие исходному файлу. Длина ДЛИННОГО автораспаковщика на 22 (восьм.) байта больше КОРОТКОГО.
3. Режим работы с МАГНИТОФОНОМ/ДИСКОМ (Мл/ДИС). Упаковщик не использует каких-либо специальных команд для обращения к диску. В обоих указанных режимах чтение и запись файла выпол- няются с помощью команды EMT 36, однако, в режиме ДИСК предпри- няты некоторые меры для учета особенностей эмуляции EMT 36 в распространённых дисковых системах. Отличия двух режимов следующие: (a) При повторном чтении длинного файла (в версии 1.6) в режиме МАГНИТОФОН он читается в самый конец буфера данных упаковщика (в экранную область), с тем чтобы можно было визуаль- но контролировать правильность чтения файла. В режиме ДИСК оба чтения выполняются одинаково - файл читается в начало буфера, а затем переписывается на нужное место. (b) Для записи файла в режиме МАГНИТОФОН используются прямые обращения в ПЗУ монитора, чтобы обеспечить сохранение начального адреса файла. В режиме ДИСК запись выполняется при помощи стан- дартной EMT 36, при этом в версии 1.6 НАЧАЛЬНЫЙ АДРЕС ФАЙЛА НЕ СОХРАНЯЕТСЯ! После записи на диск упакованного файла следует скорректировать его начальный адрес при помощи какого-либо копировщика. Версия 1.7 перед записью на диск переписывает файл на нужное место, сохраняя тем самым правильный начальный адрес. Однако, если при этом упакованный файл попадает на саму програм- му BKpack, то упаковщик работает в одноразовом режиме – после записи на диск осуществляется выход. © В режиме МАГНИТОФОН можно установить число записываемых копий, от 1 до 3 (оно указывается цифрой после слова Мл). В режиме ДИСК всегда записывается один экземпляр файла.
Программа BKpack сохраняет установленные значения режимов внутри себя, поэтому если вы, установив какие-либо режимы, вый- дите из BKpack и запишите программу BKpack из памяти на МЛ, то в дальнейшем работа с этим экземпляром упаковщика будет сразу начинаться в вашем любимом режиме.
4. Об автозапуске. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Адрес автозапуска версии 1.6 и 1.7 берут не из ячейки 776, как версия 1.5, а из ячейки 744 (или из начальной ячейки файла, если его начальный адрес большее 744), что, предположительно, более правильно.
|
|
| |