PIP.COM - OS-DOS V3.60 Орион-128, CP/M-80

PIP.COM - программа копирования и слияния файлов OS DOS V3.60, CP/M-80 Орион Софт OS-DOS V3.60

Продаю платы и наборы микросхем, куплю микросхемы Купить программы, микросхемы, готовые блоки запчастей ПК Орион-128

Все версии CP/M-80

Все версии ORDOS

 Авторский контроллер НГМД. Мы собираем именно такой и на нем работаем.  Читайте про пакет Атлас. Также дискеты можно отформатировать из под ORDOS пакетом программ Атлас.

Дискеты должны быть отформатированы в OS DOS (CP/M-80) программой FORMAT.COM и на дискету записана система OS DOS V3.60  программой SYS.COM или SG360.COM

Руководство системного программиста OS DOS ORION-SOFT

Orionsoft  1995    PIP.COM - копирование и слияние файлов

Еще программа pip описана здесь...

    Программа PIP позволяет копировать файлы, создавать новые файлы, выводить файлы на печать и на перфоленту.

Загрузка программы

    Программа PIP находится на диске в виде файла PIP.COM и занимает 8К. Она инициируется вводом одной из следующих командных строк пкк:

        PIP                                                      (1)

        PIP "командная строка PIP"             (2)

     В случае (1) программа PIP загружается в память, выдает на консоль сообщение "*" и ждет ввода командной строки PIP, которую немедленно выполняет. Затем опять выдается сообщение "*" и т.д. Командные строки PIP выполняются до тех пор, пока не будет введена пустая командная строка или пока не будет сделан "горячий старт" (управляющий символ ^C).

     В случае (2) PIP загружается в память, автоматически выполняет единственную командную строку PIP и завершается без выдачи дополнительного сообщения на консоль.

     Командная строка PIP

      Командная строка программы PIP имеет следующий формат:

      "приемник"="источник1","источник2",...,"источник N"

"Приемник" и каждый из "источников" могут быть:

    - именем дискового файла с необязательным заданием имени диска;

    - именем диска;

    - именем устройства (логического или физического);

    - дополнительным именем.

     После каждого из перечисленных имен в командной строке PIP должно идти двоеточие (:).

     Кроме того, к каждому "источнику" могут задаваться параметры копирования. Подробнее об этих параметрах говорится ниже.

     Общая длина командной строки не должна превышать 256 символов. Для строк, превышающих ширину экрана, физический возврат каретки задается управляющим символом ^E.

     Символы, введенные в нижнем регистре, внутри программы преобразуются в символы верхнего регистра для согласования с именами файлов и устройств ОС CP/M.

     Ниже приводится список логических и физических устройств, с которыми работает программа PIP.

     Логические устройства:

     CON          - консоль;

     RDR          - устройство ввода;

     PUN          - устройство вывода;

     LST          - печатающее устройство.

     Физические устройства:

     TTY          - консоль, устройство ввода, вывода или текстовое устройство;

     CRT          - консоль или текстовое устройство;

     UC1          - консоль;

     PTR          - устройство ввода с перфоленты;

     UP1          - устройство чтения;

     UP2          - устройство чтения;

     LPT          - печатающее устройство;

     PTP          - устройство вывода на перфоленту.

     Фактическое использование конкретных физических устройств зависит от конкретного аппаратного окружения [2].

     Устройство-"приемник" должно уметь принимать данные (т.е. Нельзя пересылать данные на RDR), а устройство-"источник" должно уметь вырабатывать данные (т.е. нельзя LST использовать для чтения).

     В командных строках программы PIP можно также задавать следующие дополнительные имена:

     NUL          - переслать на устройство-"приемник" 40 нулей (0 кода, принятого в ОС CP/M); это может служить признаком конца вывода на перфорацию;

     EOF          - переслать символ конца файла ОС CP/M (^Z) на устройство-"приемник" (посылается автоматически в конце всех данных, передаваемых программой PIP);

     INP          - специальный входной "источник", который может быть  введен в программу PIP:

                    PIP посимвольно получает входные данные, обращаясь по    команде CALL к ячейке 0103H и получая данные в ячейке  109H (бит четности, т.е. старший бит должен быть 0);

     OUT          - специальный "приемник" вывода, который может быть введен в программу PIP:

                    PIP обращается по команде CALL к ячейке 106H, при этом каждый передаваемый символ находится в регистре C.

                    Ячейки с адресами от 109H до 1FFH не используются в образе памяти PIP и в них с помощью программы DDT,  описанной в [4], можно поместить драйверы специального

                    назначения;

     PRN          - эквивалентно LST с той разницей, что в позиции каждодого восьмого символа устанавливается табуляция, строки нумеруются и после каждых 60 строк устанавливается  прогон страницы (с начальным прогоном).

Общие принципы работы программы PIP

     Имена файлов и устройств в командах PIP могут чередоваться. Каждый раз копирование с заданного устройства происходит до тех пор, пока не будет прочтен признак конца файла (^Z для символьных файлов и реальный конец файла для прочих дисковых файлов).

     Данные с каждого устройства или файла копируются слева направо, пока не будет считан последний файл-"источник". Данные из исходных файлов записываются в устройство или файл-"приемник"; для символьных файлов в конец добавляется символ конца файла ^Z. Всегда предполагается, что файлы типа .COM не являются символьными.

     Процесс копирования в любой момент можно прервать, введя с консоли любой символ (условие прерывания). На это PIP выдает сообщение "ABORTED", показывающее, что операция не закончена. При внезапном прекращении любой операции или при возникновении в процессе работы ошибки PIP удаляет все команды, установленные программой SUBMIT [5].

Работа с дисковыми файлами

     При работе с дисковыми файлами в случае, если имя диска не задано, предполагается активизированный в данный момент диск.

     При слиянии нескольких файлов в один программа PIP предполагает, что все файлы-"источники" - символьные и что признаком конца каждого файла служит управляющий символ ^Z. Параметр копирования O (см.  ниже) позволяет игнорировать это предположение. Этим параметром можно воспользоваться для слияния файлов, не являющихся символьными, например, типа .COM.

     При копировании с диска на диск файлы-"источники" сохраняются. Программа PIP создает временный файл-"приемник" типа $$$, который получит имя файла-"приемника" только при успешном завершении копирования.

     При слиянии нескольких дисковых файлов в файл-"приемник", находящийся на том же диске, имя файла-"приемника" может совпадать с именем одного из файлов-"источников". Файл-"источник" не изменится до тех пор, пока не будет завершено слияние. Если возникает какая-либо ошибка, файл-"источник" не затирается.

     Для большего удобства пользователя PIP допускает возможность массового копирования с одного диска на другой. Это достигается заданием в командной строке в качестве имени файла или(и) типа файла символа "*", а также файловых ссылок.

     Примеры допустимых операций копирования и слияния дисковых файлов:

NEW.ZOT=B:OLD.ZAP      скопировать файл OLD.ZAP с диска B в   файл NEW.ZOT на активизированном диске;

X.ASM=Y.ASM,Z.ASM,X.ASM          создать файл X.ASM из об'единения файлов   Y.ASM, Z.ASM, X.ASM. Все файлы находятся    на активизированном диске. Файлы Y.ASM,

                                 Z.ASM не изменяются. Файл X.ASM изменится   только по успешном окончании копирования;

B:A.U=B:B.V,A:C.W,D.X            слить файл B.V, находящийся на диске B,    с файлом C.W, находящимся на диске A, и   с файлом D.X, находящимся на активизированном диске. Результирующий файл A.U будет на диске B. Файлы-"источники" останутся неизменными;

 

B:=*.COM                Копировать все файлы типа COM с активизированного диска на диск B;

A:=B:ZAP.*             Копировать с диска B: на диск A: файлы всех типов с именем ZAP;

A:=B:*.*                Копировать с диска B: на диск A: все файлы.

     В случае массового копирования программа PIP выдает на консоль имена всех копируемых файлов.

     Если на диске, куда производится копирование, уже есть файл с именем файла-"приемника", то при успешном завершении копирования он затирается, а вместо него записывается скопированный файл.

Работа с логическими и физическими устройствами

     Работа программы PIP с логическими и физическими устройствами аналогична работе с дисками, поэтому в этом подразделе речь идет лишь об одном частном случае, а также приводятся примеры.

     В случае, когда "приемником" служит файл типа HEX (файл шестнадцатиричных машинных кодов), а "источником" является устройство ввода с перфоленты, программа PIP осуществляет специальные действия. Она проверяет, содержит ли файл-"источник" допустимые шестнадцатеричные значения и записи контрольных сумм. При обнаружении ошибочной входной записи программа PIP выдает на консоль сообщение об ошибке и ждет коррекции. Для коррекции обычно бывает достаточно повторить ввод участка перфоленты (для этого надо переместить перфоленту назад на 50 см). Когда лента готова для повторного ввода, нужно ввести управляющий символ CR, и программа PIP повторит попытку ввода. Если же данный участок не может быть считан, то надо просто продолжить ввод (введя управляющий символ CR сразу за сообщением об ошибке), а данную запись ввести с консоли с помощью редактора текстов ED после того, как файл на диске уже создан. Для большего удобства PIP позволяет вводить конец файла с консоли, если исходный файл берется с устройства RDR:. В этом случае программа PIP осуществляет ввод с устройства и управляет консолью. Если с консоли будет введен управляющий символ ^Z, то операция ввода заканчивается нормально.

     Примеры допустимых командных строк PIP для работы с логическими и физическими именами устройств:

     PIP LST:=X.PRN              скопировать файл X.PRN с активизированного диска на устройство LST и закончить работу PIP;

     PIP                         инициация PIP (PIP выдает запрос "*");

     CON:=X.ASM,Y.ASM,Z.ASM      слить три файла типа ASM и скопировать их на устройство CON;

     X.HEX=CON:,Y.HEX,PTR:       создать файл X.HEX, читая с устройства  CON, (пока не введется ^Z), затем из файла Y.HEX на активизированном диске, затем с PTR (пока не встретится ^Z).

     CR                          конец работы PIP;

     PIP PUN:=NUL:,X.ASM,   EOF:,NUL:          вывести на перфоленту 40 нулей, потом скопировать файл X.ASM с активизирован ного диска, вывести конец файла ^Z, затем вывести 40 нулей.

Параметры копирования

     Пользователь может задавать для программы PIP один или несколько параметров, заключенных в квадратные скобки. Параметры могут разделяться пробелами. Каждый параметр задает режим операции копирования. Список параметров в скобках должен следовать сразу за файлом или устройством-"источником", к которому он относится.

     Далее приводится список параметров копирования:

     DN           удалить символы, которые выходят за колонку N при передаче данных от "источника" к "приемнику". Этот параметр чаще всего используется для укорачивания длинных строк при передаче на консоль или узкое печатающее устройство;

     E            эхо на консоли всех операций передачи по мере их выполнения;

     F            подавление установленных форматов подачи из файла. Одно временно с этим параметром можно использовать параметр P для установки новых форматов подачи;

     H            проверка правильности файлового формата при копировании  шестнадцатеричных данных. Удаляются все недопустимые символы, встречающиеся между шестнадцатеричными записями. При возникновении ошибок на консоль выдается сообщение для проведения коррекции;

     I            игнорировать "00" - записи в передаваемом шестнадцатеричном формате (параметр I автоматически устанавливает формат H);

     L            перекодировать символы верхнего регистра в символы нижнего регистра;

     N            нумерация строк. Нумерация начинается с единицы и увеличивается каждый раз на 1. Ведущие нули номера строки опускаются, а после номера идет двоеточие. Если задан параметр N2, то включаются ведущие нули и вслед за номе ром устанавливается табуляция. Табуляция будет расширена, если установлен параметр T;

     O            передача об'ектного (не символьного) файла: игнорируется  принятый в ОС CP/M признак конца файла ^Z;

     PN           подача страницы после каждых N строк (с начальной установкой строки). Если N=1 или отсутствует, то подача страницы происходит через каждые 60 строк. Если используется параметр F, то перед установкой новой страницы  подавляется формат подачи;

     QS^Z         прекращение копирования из файла или устройства-"источника" при обнаружении строки S, оканчивающейся ^Z;

     SS^Z         начать копирование при обнаружении строки S, оканчивающейся управляющим символом ^Z. Параметры Q и S можно использовать для копирования части файла. Строки, опреде ляющие начало и конец копирования, всегда копируются.  Если PIP была вызвана командной строкой формата (2), то строки, следующие за параметрами Q и S, процессор контрольных команд перекодирует в символы верхнего регистра. При использовании формата (1) перекодировки не происходит.

     TN           при передаче символов от "источника" к "приемнику" в  каждой N-й колонке устанавливается табуляция (управляющий символ ^I);

     U            перекодировать символы нижнего регистра в символы верхнего регистра;

     V            проверка правильности копирования с помощью чтения после  записи ("приемником" должен быть файл на диске);

     Z            для каждого символа, принятого в ОС CP/M кода, на входе  установить бит четности равным 0.

             Примеры правильного задания параметров копирования файлов:

PIP X.ASM=B:[V]                  копировать файл X.ASM с диска B на активизированный диск с проверкой чтением после записи.

PIP LST:X.ASM[NT8U]              копировать файл X.ASM на устройство LST, перенумеровать строки, установить табуляцию в каждой 8-й колонке, перекодировать символы нижнего регистра в символы верхнего регистра.

PIP PUN:=X.HEX[I],Y.ZOT[H]       сначала копировать на устройство PUN   файл X.HEX с подавлением замыкающих записей "00", потом копировать данные из файла Y.ZOT, содержащего шестнадтцатеричные  записи, не исключая записи "00".

PIP X.LIB=Y.ASM[SSUBR1:^Z        копировать в файл X.LIB из файла Y.ASM, QJMP L3^Z]           начиная со строки "SUBR1:" и кончая строкой "JMP L3" включительно.

PIP PRN:=X.ASM[P50]              переслать файл X.ASM с активизированного диска на устройство LST с нумерацией строк, табуляцией в каждой 8-й колонке и прогоном страницы после каждых 50 строк;  по умолчанию для файла на устройстве PRN предполагается параметр NT8P60; P50 измеяет это значение.

Сообщения, выдаваемые программой PIP

     В процессе работы программы PIP могут выдаваться следующие сообщения:

DISK READ ERROR             ошибка при чтении с диска;

DISK WRITE ERROR             ошибка при записи на диск;

VERIFY ERROR                ошибка при копировании с проверкой;

NOT A CHARACTER SINK          введен неверный символ;

READER STOPPING              устройство чтения не включено;

NOT A CHARACTER SOURCE          источник не является символьным;

ABORTED                     прерывание с консоли;

BAD PARAMETER                неверный параметр;

RECORD TOO LONG          слишком длинная запись;

INVALID DIGIT                 неверная цифра;

END OF FILE, CTL-Z?         Конец файла, ввести ^Z ? ;

CHEKSUM ERROR              ошибка в контрольной сумме;

CORRECT ERROR, TYPE RETURN      ошибка коррекции, введите CR или ^Z;

OR CTL-Z

INVALID FORMAT        неверный формат;

NO DIRECTORY SPACE          нет места в каталоге;

NO FILE        нет файла;

START NOT FOUND       начало копирования (параметр S) не найдено

QUIT NOT FOUND        конец копирования (параметр Q) не найден

CANNOT CLOSE DESTINATION FILE   файл-приемник не может быть закрыт;

DESTINATION IS R/O, DELETE      приемник в режиме "только чтение". Подавить ? (Y/N)

**NOT FOUND**        не найдено;

COPYING -     копирование (далее выдаются имена копируемых файлов);

UNRECOGNIZED DESTINATION        неопознанный источник;

CANNOT RECORD                   запись невозможна;

INVALID PIP FORMAT              неверный формат программы PIP;

CANNOT READ                     чтение невозможно;

INVALID SEPARATOR               неверный разделитель.

Еще программа pip описана здесь...

 

    

Купить платы, готовые блоки, наборы микросхем, прошитые ПЗУ, микропроцессоры на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу