Дисковая операционная система TR DOS 1993 г.

Раздел 4 - запись, проверка, слияние.


1.9. ЗАПИСЬ, ПРОВЕРКА, СЛИЯНИЕ

Синтаксис всех этих команд одинаков. Kiak :Bbr: увидите, эти команды
имеют синтаксис тот же самый или подобный тем командам, которые ис-
пользуются в системе, основанной на кассете.

Все эти команды работают с файлами. Файлом на диске может быть
программа BASIC, программа в машинных ходах, файл — массив данных
или файл с последовательным произведши: доступом. Загрузка и сохране-
ние файла с массивом данных рассматривается в разделе 1.10, а файлы пос-
ледовательного и произвольного доступа — в разделе Т.Н. В этом разделе
рассматриваются программы BASIC и программы в машинных кодах.

В процессе всех пяти операций SAVEk; VERIFY, RUN, MERGE для пре-
рывания команды может использоваться клгавиша.*В11ЕАК*. Если в диско-
воде нет диска, команда будет прервана. ;и на;экрале будет представлено
сообщение об ошибке: "NO DISK' Таким же образом, если на диске нет
н^шош файла, то на экране будет! напечатано сообщение об ошибке: "NO

С помощью команды SAVE программа та! SPECTRUM записывается на
диск. Следует указать название программы и поставить его в кавычки.

Для программы BASIC не требуется тин файла, однако номер строки
может быть указан в виде ключевого слова LINE для автопрогона. Если
номер строки не указан, программа будет выполняться с первой строки. На-
пример:

SAVE "PROGR" LINE 100 ::;;;:j:j:.:

SAVE "GRAPH" LINE .^Ш;;^;;;;!::

SAVE"A:DESIGN!i-i-i-4i:;:j:::

Для программы в машинных кодах нужно указать тип файла CODE, за
которым.;следует стартовый адрес и количество байтов, подлежащих сохра-
нению* например:

SAVE "DISCOUNT" CODE 47800,955

SAVE "B:COULEC,l:CODE 32768,4000

Команда VERIFY проверяет; Является ли файл, записанный на диске, тем
же самым, что и файл в ЦЭДОД, Команда VERIFY может быть использована
для проверки BASIC-программ; программ в машинных кодах и файлов мас-
сивов данных. Например:

VERIFY "A:DESIGN"

VERIFY "DISCOUNT" CODE 47800,955

VERIFY "MONEY" DATA M( )

Если они различны, на! Экране появляется сообщение — VERIFY ER-
ROR (проверка с ошибкйй)г:;

Если программу BASIC предназначена для автопрогона с номера строки,

SAVE -INTEREST^;LINE 25 то автопрогон будет осуществляться, какая
бы команда (LOAD или RUN) не использовалась.

Если программа BASIC не сохранена для автопрогона, то LOAD будет
осуществлять загрузкун прогон неавтоматической программы прогона. На-
пример: Ч:...::::.!:.:!.::.:!:..:•'
LOAD "INTEREST"
RUN "DESIGN"

TR-DOS будет Ш1фо£^р6вать вас о "недостаточной памяти", если вы
сделаете попьп^загрузить или прогнать программу, требующую больше па-
мяти, чем имеется в распоряжении. Это может случиться, если RAMTOP
было установлено слишком низким.

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

Как видно из призеров, синтаксис тот же, что и SPECTRUM BASIC,
что касается программ в машинных кодах, опи могут быть загружены на тот
же адрес, из которого они бьшй йятъг iu^ сохранения,

LOAD "A:SALECALC" CODE или загружены на другой диск с помощью
указаний в инстр>та1иях йй загрузке, например:
LOAD "MARGIN" CODE 51000 !: : i:

При прогоне программ:* машинных кодах, адрес автопрогона должен
бьпъ тем же, что и стартовый адрес профаммь£;например:

RUN "DISCOUNT' CODE 4/800 при условии, что этот код назначается
для автопрогона, начиная с 47800, загрузка пройдет хорошо.

Существует вариант использования загрузчика командой из двухъ строк,
например запись (SAVE) последующей программы:на диск, как:

"DSTL0AD" LINE 10

10 RANDOMIZE USR 15619: REM: Ц^Ь' ^В^^СЯУМТ:^ CODE 47800

20 RANDOMIZE USR 47838
Чтобы проиграть программу, вы мюдите: RUN "DSTLOAD".. с Помощью
чего будет осуществляться загрузка в машинных кодах, и ...затем: .fKUN IT",

(запуск ее) начиная с 47838. "

Двухстрочный загрузчик необходим, т;к. KOMa^aTR-DOS должна быть

последней записью в строке.

Слияние TR-DOS — то же, что и слияние SOS, она использует то же

ключевое слово (Е MODE SYMBOL SHIFT) в служит той же цели слияния

памяти SPECTRUM программы BASIC с диска и этой же программы, уже

имеющейся в памяти, например:

MERGE "SUBROUT"

MERGE "B:FUNCT2" в!;;:::..

Если вы написали программу на кассете', тбкотирование ее на диск
представляет некоторые проблемы. Вы загружаете свою програьрлу с кассеты
в SOS как обычно. Когда программа находится в SP, она моЖ^ ^&Гг^ запи-
сана да диск с помощью непоследовательного ввода;с клавиатуры, нанример:

RANDOMIZE USR 15619: REM: SAVE "ХХГ ......Ж

или

RANDOMIZE USR 15619: REM: SAVE "XXZ" CODE NNNN, BBB:: ::
Можно копировать много других программ с помощью профаммы UTIL-
ITY DISKTAPECOPY. (Копия на ленте с^лужквагадцего диска).

Синтаксис этих профамм может требовать преобразования с тем, чтобы
он работал при TR-DOS.

Очень многие профаммы представляв:смесь BASIC и машинного
кода, что повышает скорость их вьшоодёния»: Элемент BASIC может варьи-
роваться от простой профаммы зафузки до более адожного интерфейса ме-
жду кодом и пользователем.

Для тех профамм, которые испшшзуют BASIC в хачестве интерфейса,
переход на использование TR-DOSотноси?!^ другие профаммы

могут требовать значительной "утряски", чтобы можно бьиго изменить для
работы с TR-DOS.

Вы должны имеТь: доступ ко всём командам! LOAD или SAVE в перво-
начальной профаммр ВАМС. требующей й^нВёия, поэтому первым шагом
является распечатка (LIST): пдофаммы BASIC.

Используемая методика должна варьироваться в соответствии с индиви-
дуальной профаммой, в некоторых случаях характеристики профамм LOAD
и SAVE минимальны, и все, что требуется доя обнаружения местоположения
команд — это минимащ&оё й быстрое сканирование листинга. Другие про-
фаммы могут иметь н^колько :ва|шантов LOAD и SAVE, самый простой
способ в этом случае !^ пройта черёз профамму по одной строке за раз,
осуществляя поиск KOMaijiLOAD и SAVE.

Кащг>щ раз, когда такая команда найдена, в дополнение к обычному
префикс^
о^Ьйзэрдится модификация синтаксиса, т.е.

RAhffiОМ12Ё•;i 15619: REM:
Это вводится йёЩ существующим LOAD или SAVE в профамме.
Следует помнить также деа других положения. Во-первых, команда TR-
DOS должна быть последние ^элементом в строке профаммы; во-вторых,
следует принимать во внимание местоположение дисковода. Первый пункт
часто будет требовать небольшой модификации в нумерации и в содержании
строк. Оба эти пункта проиллюстрированы на следующем примере:

EXISTING PROGRAMM:

500 IFX=5THEN Jf№lKrl«AME '; NS:

SAVE NS DATA;:G$|^A :(LI^T) программы

VERI FY Ш^Ш^Щ*: GOSUB 700

50$p:X=V THEN GOSUB 800: INPUT "TITLE";

TS C#E 5000,575 M

506. j^iMORE OF.IHEpROGRAMM
(проката; *фоШжается)

Предположим, что эти файлы записаны на дисковод с умолчанием.
NEW PROGRAMM:

500 IF NS: RANDOMIZE USR 15619:

REM: SAVE ШШ CS**
'502 GOSUB 700

504 IF X=V ТНЕД GO.SUfi.SC^)^ TNPUT "TITLE": TS: RANDOMIZE
USR 15619: REM:4:SAV^ TS

505 RANDOMIZE USR 15619: REM;.-. SAVE TS: CODE 50000,575

506... (продолжение проп^ёййЙУ"""4!!.
Регулировка строку от прОфаммы к профамме.

Чтобы обеспечить необходимую одну строку на команду TR-DOS, доста-
точно неиспользованных сфок 502 и JW.

Существуют следующие:правила преобразования:;:;!;

1. Команда TR-DOS до#жМбьпъ последним рйерЭДором в строке.

2. Ко всем существующим командам LOADIh SAVE необходимо доба-
вить только префикс RANDOMIZE USR| J5619: REM.

3. Если используется болёе одного::дисковода удостоверьтесь, что ис-
пользуется нужный дисковод.

4. Проверьте поток профаммпри добавке промежуточных номеров

1.10. ФАЙЛЬ1;ЖЩ!Ь1^;|

Синтаксис SOS для зафузки и хранения йе ^трс^ового массива под за-
головком MONEY следующий:

LOAD "MONEY" DATA М( ) *"M===r===rr---

или ..::«1!1шууур«щ|:

SAVE "MONEY" DATA ( )

Для строкового массива с цепочками требуется|Давление "S":
LOAD "MONEY" DATA MS( )

Как большинство команд TR-DOS, LOADING (зафузка), SAVING (хра-
нение) массивов данных осуществляется с помощью синтаксиса SOS BASIC
с префиксом и, возможно, с помощью индикатора дисковода. Редко массивы
данных управляются непосредственно с TR-DOS.

Природа этих массивов такова, что дисковод с умолчанием представляет
собой дисковод "А". Если у вас система с двумя дисководами, то можно
предположить, что диск с данными загружен в один дисковод, например "В",
в то время как основная программа и дисковод с умолчанием остаются в "А".
В этом случае используется временный индикатор дисковода,! например:

RANDOMIZE USR 15619: REM: LOAD "В:MONEY" DAtA M( )
При копировании, стирании и обновлении (COPY, ERASE, НЕ>У}!файла
данных, команда должна заканчиваться обозначением типа файла, т.£. DATA
или TR-DOS будут знать, что они ищут файл ВASIQ например:

COPY "A:MONEY", "б:MONEY" DATA




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
По следам легендарной группы - "Ласковый май"
Фантастика - Г.Гарисон (часть 1-3)
Софт - SOUND AGRESSOR v1.01 экстремальной упаковщик музыки.
Иной - скеси-ссака (2).
Письма - Письмо из Горячего Ключа.

В этот день...   21 ноября