CP/M утилиты E 1. PIP - программа обмена с перифирийными устройствами. Параметры запуска: PIP - загрузка программы PIP в оперативную память и пе- реход в режим диалога. PIP y:=x:filename.ext - копирование файла (файлов) с диска "x:" на диск PIP y:=x:filename.* "y:" (возможно использование метасимволов * и ?). PIP y:=x:*.ext PIP y:=x:*.* PIP y:newfile.ext= - копирование с диска "x:" на диск "y:" с изменением x:oldfile.ext имени файла "oldfile.ext" на "newfile.ext". PIP y:newfile.ext= - копирование с диска "x:" на диск "y:" с объединением x:old1.ext, файлов "old1.ext", "old2.ext" и "old3.ext" в файл old2.ext, "newfile.ext". old3.ext PIP CON:=x:filename.ext - копирование файла "filename.ext" с диска "x:" на ука- PIP TTY:=x:filename.ext занное консольное устройство. PIP CRT:=x:filename.ext PIP PUN:=x:filename.ext - копирование файла "filename.ext" с диска "x:" на ука- PIP PTP:=x:filename.ext занное устройство вывода. PIP OUT:=x:filename.ext PIP AUX:=x:filename.ext PIP LST:=x:filename.ext - копирование файла "filename.ext" с диска "x:" на ука- PIP LPT:=x:filename.ext занное устройство печати. PIP PRN:=x:filename.ext PIP x:filename.ext=CON: - копирование файла "filename.ext" на диск "x:" с ука- PIP x:filename.ext=TTY: занного консольного устройства до ввода ^Z. PIP x:filename.ext=CRT: PIP x:filename.ext=RDR: - копирование файла "filename.ext" на диск "x:" с ука- PIP x:filename.ext=PTR: занного устройства, работающего в режиме "только PIP x:filename.ext=INP: ввод", до ввода ^Z. Для перфоленты: PIP PUN:=NUL: - вывод начальных и хвостовых промежутков при копирова- PIP PUN:=NUL:,x:file.ext нии файла "file.ext" с диска "x:" на устройство, ра- PIP PUN:=NUL:, ботающее в режиме "только вывод". x:file.ext,NUL: PIP PUN:=x:file.ext,NUL: PIP PUN:=x:file.ext,EOF - вывод маркера конца файла при копировании файла "file.ext" с диска "x:" на устройство, работающее в режиме "только вывод". Дополнительные параметры команды PIP: (пишутся в конце командной строки в квадратных скобках) [V] - проверить правильность копирования путем сравнения результиру- ющего и исходного файлов. [E] - отображать копируемый файл на консоли. [Sstring^Z] - начать копирование после того, как в исходном файле будет обна- ружена строка "string" (строку завершает ^Z). [Qstring^Z] - завершить копирование после того, как в исходном файле будет обнаружена строка "string" (строку завершает ^Z). [L] - преобразовать в процессе копирования все символы верхнего ре- гистра в символы нижнего регистра. [U] - преобразовать в процессе копирования все символы нижнего ре- гистра в символы верхнего регистра. [Dn] - удалять в процессе копирования в каждой строке все символы, расположенные после позиции с номером n. [Tn] - преобразовать в процессе копирования все символы табуляции ко- да ASCII в n пробелов. [F] - удалить в процессе копирования все символы перевода формата. [Pn] - вставить через каждые n строк в процессе копирования символы перевода формата. [N] - дополнить в процессе копирования строки соответствующими по- рядковыми номерами без ведущих нулей. [N2] - дополнить в процессе копирования строки соответствующими по- рядковыми номерами с ведущими нулями. [R] - копировать "системный" файл (определенный с помощью команды STAT). [W] - удалить файл со статусом защиты "R/O" (устанавливается с по- мощью команды STAT), имеющего то же имя, что и выходной файл. [Gn] - копировать файл (файлы) из области пользователя с номером "n" (от 0 до 15) в файл, расположенный в текущей области пользова- теля. [O] - рассматривать содержимое копируемого файла (файлов) как объект- ный (машинный) код. [B] - установить блочный режим копирования. [H] - использовать 16-чный формат фирмы Intel при передаче данных на (с) устройство, работающее в режиме "только вывод" ("только ввод"). [I] - при передаче в 16-чном формате фирмы Intel игнорировать все ну- левые (NULL) записи. [Z] - в процессе копирования символов в коде ASCII устанавливает бит четности в 0.  2. SUBMIT - запуск на выполнение последовательности команд ОС CP/M. Параметры запуска: SUBMIT filename a b c ... - запуск на выполнение командного файла "filename" (с расширением ".SUB") с предварительной заменой в тексте параметров: "©1" ("$1") значением "a" "©2" ("$2") значением "b" "©3" ("$3") значением "c" и т.д.  3. ASM & Z80 - ассемблер для микропроцессора I8080 (ASM.COM); - ассемблер для микропроцессора Z80 (Z-80.COM). Параметры запуска: ASM filename.123 - ассемблировать исходный файл "filename" (с расширением Z80 filename.123 .ASM) и создать файл с промежуточным кодом (с расшире- нием .HEX). При этом дополнительные параметры трактуются следующим образом: "1" - в этой позиции указывается имя диска, на котором находит- ся исходный файл; "2" - в этой позиции указывается имя диска, на который надо за- писать выходной файл с расширением .HEX, или символ Z, если объектный файл не требуется; "3" - в этой позиции указывается имя диска, на который надо за- писать выходной файл печати с расширением .PRN, или сим- вол X, если листинг ассемблирования надо вывести на эк- ран.  4. LOAD - программа преобразования промежуточного файла в исполняемый машинный код. Параметры запуска: LOAD filename - преобразовать объектный файл с расширением .HEX в файл с исполняемым машинным кодом (с расширением .COM).  5. DUMP - программа распечатки содержимого файла. Параметры запуска: DUMP filename.ext - вывести в 16-чном формате содержимое файла "filename.ext".  6. DDT & ZSID - инструментальное средство отладки для микропроцессора I8080 (DDT.COM) или для микропроцессора Z-80 (ZSID.COM). Параметры запуска: DDT [filename.ext] - загрузить программу DDT или ZSID и (если присутствует) ZSID [filename.ext] файл с отлаживаемой программой "filename.ext" в память. При загрузке файла печатается сообщение: PC: nnnn NEXT: kkkk где: nnnn - текущее значение счетчика команд (PC), kkkk - адрес следующей свободной ячейки после заг- рузки файла. Команды программ DDT и ZSID: D - вывести в 16-чном формате содержимое следующих 192 яче- Dstart ек памяти, начиная с текущей ("D"), или с ячейки, рас- Dstart,end положенной по заданному адресу ("Dstart"), или с ячейки "start" по ячейку "end" ("Dstart,end"). Fstart,end,data - записать во все ячейки памяти с адреса "start" по адрес "end" 16-чное значение "data". Ifilename.ext - создать блок управления файлом (FCB) и записать в него имя "filename.ext" для последующей загрузки файла с этим именем в память по команде R. R - загрузить содержимое файла, имя которого указано в коман- Rstart де I, в память, начиная с текущей ячейки ("R"), или с ячейки, расположенной по адресу "start" ("Rstart"). L - реассемблировать и вывести содержимое следующих 192 яче- Lstart ек памяти, начиная с текущей ("L"), или с ячейки, рас- Lstart,end положенной по заданному адресу ("Lstart"), или с ячейки "start" по ячейку "end" ("Lstart,end"). Sstart - вывести в 16-чном формате и, возможно, изменить содержи- мое ячейки памяти, расположенной по адресу "start". Про- должить обработку следующих ячеек до ввода символа "." Astart - вставить, начиная с адреса "start", оператор языка Ас- семблер. Продолжить обработку следующих ячеек до ввода символа "." или . Mstart1,end1,start2 - копировать содержимое области памяти, расположенной с адреса "start1" по адрес "end1", в другую область па- мяти, расположенную, начиная с адреса "start2". G - выполнение программы: полностью, без прерываний; Gstart начиная с адреса "start"; Gstart,end начиная с адреса "start", с прерыванием по адресу "end"; Gstart,end1,end2 начиная с "start", с прерыванием в "end1", либо в "end2"; G,end начиная с текущей ячейки, с прерыванием по адресу "end"; G,end1,end2 начиная с текущей, с прерыванием в "end1", либо в "end2". Unumber - выполнить "number" машинных инструкций и по завершению вывести содержимое всех регистров ЦП. Тnumber - трассировать выполнение "number" машинных инструкций, распечатывая содержимое всех регистров ЦП после выпол- нения каждой инструкции. Xregister - распечатать содержимое регистра "register" или бита ус- ловия (регистр F: C,Z,M,E,I) и изменить его, если необ- ходимо. Ha,b - использование встроенного калькулятора 16-чных чисел: a и b - 16-чные числа. Команда после выдает два числа: a+b и a-b. Дополнительные команды: ^S - приостанов; ^P - установка эхо-печати; ^N - отмена эхо-печати; ^C - выход из программы с ОС CP/M. Примечание: В отлаживаемой программе для возврата в DDT или ZSID ставится не RET, а RST #07.  7. DESPOOL - программа печати в фоновом режиме (DESPOOL.COM). Параметры запуска: DESPOOL - загрузка программы с диска в память. После загрузки вводится ^F, после чего программа спрашивает файл для печати: File name: (надо ввести имя файла) Далее начинается печать и появляется подсказка системы: A> или др.  8. LINK-80 - программа-сборщик фирмы Microsoft (L80.COM). Функции программы: 1. Загрузка перемещаемых объектных модулей (.REL). 2. Вычисление абсолютных адресов для всех локальных ссылок внутри модулей. 3. Разрешение всех неразрешенных глобальных ссылок между загруженными моду- лями. 4. Сохранение всех отлинкованных (соединенных) загруженных модулей в едином исполняемом (машинные коды) файле с расширением .COM. 5. Создание таблицы символов (файл с расширением .SYM). Параметры запуска: A>L80 или A>L80 file1.ext,file2.ext,...,fileN.ext/E *⌡ Ключи программы LINK-80: /G - Передача управления сформированной программе после того, как законче- на ее сборка, затем возврат в CP/M после завершения программы. Можно указать стартовый адрес запуска программы: /G:nnnn где nnnn - 16-чное число (адрес запуска). /Е - Завершение работы L80 и возврат в CP/M после выполнения заданных дей- ствий. Можно указать стартовый адрес запуска программы: /E:nnnn где nnnn - 16-чное число (адрес запуска). После завершения выполнения программы (при определенном адресе запуска) управление передается CP/M. /N - Все предварительно загруженные программы и подпрограммы должны быть сохранены в файле, имя которого предшествует этому параметру. Другая форма: /N:P - в файл записывается только содержимое области тран- зитных программ (TPA). Если этого ключа нет, то выходного файла (с расширением .COM) не создается. /P/R/D - /P устанавливает начальный адрес сформированной программы и области данных; /D - начальный адрес только области данных (если /P исполь- зуется совместно с /D, то он указывает только начальный адрес прог- раммы). /R используется для возврата L80 в начальное состояние. /S - Указывает, что файл сразу после него является библиотечным. L80 будет просматривать библиотечные файлы, созданные программой LIB80 и искать те модули, которые могли быть, но еще не использованы в процессе сбор- ки. /U/M - /U печатает неопределенные внешние имена; /М - все внешние ссылки. /O/H - Установка системы счисления: /O - 8-чная, /H - 16-чная. /X/Y - /X создает вместо исполняемого машинного кода результирующий файл с неперемещаемым 16-чным объектным кодом (т.е. вместо файла .COM файл .HEX). /Y создает таблицу символов (файл .SYM), которая используется при отладке программы (/Y применяется только совместно с /E). Примечание: При соединении с ассемблерными программами последние должны ассемблироваться без окончания: .END