Дисковая операционная система для ПК "ZX Spectrum" 1990 г.

Глава 10 - запись, проверка, загрузка, запуск и объединение программ.


10. ЗАПИСЬ, ПРОВЕРКА, ЗАГРУЗКА,
ЗАПУСК И ОБЪЕДИНЕНИЕ
ПРОГРАММ

Синтаксис всех этих команд прост. Как вы увиди-
те, он такой же или даже проще, чем синтаксис этих
команд, используемый для программ, обычно храни-
мых на ленте.

Все эти команды оперируют с файлами. Файл на
диске может быть БЕЙСИК-программой, машинными
ходами, массивом данных или файлом последователь-
ного или произвольного доступа. Загрузка или запись
массивов данных рассматривается в разделе 12, а фай-
лов последовательного и произвольного доступа - в
разделе 13.

В этом разделе рассматриваются БЕЙСИК-про-
граммы и программы в машинных кодах. Для всех пя-
ти рассматриваемых команд клавиша BREAK
прерывает их исполнение. Если в дисководе не стоит
диск, команды не выполняются, а появляется сообще-
ние:

NO DISK

Если же на диске нет указанного файла, появляет-
ся сообщение:
NO FILES

10-1. Команды SAVE и VERIFY

Команда SAVE предназначена для записи про-
граммы из ОЗУ на диск. Имя программы должно быть
полное и заключено в кавычки.

Для БЕЙСИК-программы указание типа не требу-
ется. Однако в конце команды может быть указан но-
мер строки для автозапуска - ключевое слово и номер
строки. Если в этом случае номер строки автозапуска
не указан, то программа будет запускаться со своей
первой строки:

SAVE "НОММЕАС" LINE 100

SAVE "GRAPH" LINE

SAVE "A:DESIGH"

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

SAVE "PROGR" CODE 47800. 955

SAVE "B:DBASE 3" CODE 32768, 25000

Команда VERIFY проверяет на идентичность
файл записанный на диске, и файл, имеющийся в па-
мяти компьютера. Команда VERIFY позволяет прове-
рять БЕЙСИК-программы, программы в машинных
кодах и массивы данных:

VERIFY "ADESIGN"

VERIFY "PROGR" CODE 47800, 955

VERIFY "MONEY" DATA M ()

Если идентичности нет, то возникает сообщение об
ошибке.

10.2. Команды LOAD и RUN

Если БЕЙСИК-про рамма записана с автозапу-
ском, например*

SAVE "INTERST" LINE 25

то она при вводе самозапускается по любой из ко-
манд LOAD или RUN.

Если БЕЙСИК-программа записана без автозапу-
ска, то команда LOAD будет ее вводить и распечаты •
вать на экране ее данные. В то время как команда
RUN будет вводить и запускать программу.

Пример:

LOAD "SIR FRED"

RUN "SIR FRED"

Если вы попытаетесь загрузить (LOAD) или запу-
стить (RUN) программу, которая требует больше па-
мяти, чем есть в данный момент в наличии у
SPECTRUM, TRDOS даст вам сообщение:

INSUFFICIENT MEMORY

(недостаточно памяти)

Это обычно происходит, если значение RAM ТОР
недостаточно велико. Если вы ввели LOAD или RUN
без имени, TRDOS делает попытку загрузить или за-
пустить БЕЙСИК-программу "BOOT".

Как видно из вышеприведенных примеров, син-
таксис команд такой же, как и в БЕЙСИКе.

Для программ в машинных кодах, которые должны
быть загружены с того же адреса, который был указан
при записи, допустимо этот адрес не указывать:

LOAD "A:FIRELORD" CODE

Можно также ввести программу в машинных ко-
дах по иному адресу, чем тот адрес, который был ука-
зан при записи (например, с адреса 51000):

LOAD "FIRELORD" CODE 51000

При загрузке программ в машинных кодах коман-
дой RUN ее начальный адрес должен быть таким же,
что и при записи:

RUN "FIRELORD" CODE 47800

обеспечивает автозапуск с адреса 47800

В качестве альтернативы можно использовать
двухступенчатый загрузчик, записав, например, на
диск следующую программу под именем "DCTLOAD"
LINE 10:

10 RANDOMIZE USR 15619:REM:LOAD
"FILEROLD" CODE 47800

20 RANDIMIZE USR 47838

Для запуска программы вы печатаете RUN
"DCTLOAD" в результате работы этой программы за-
гружаются машинные коды, а затем они запускаются
с адреса 47838.

В загрузчике необходимы две строки, т.к. TRDOS
- команда должна быть последним оператором в стро-
ке.

10.3. Команда MERGE

Команда MERGE в TRDOS такая же, как и
MERGE в SOS. Для нее используется то же ключевое
слово и она создает такой же эффект в памяти

SPECTRUM: присоединяет к программе, уже находя-
щейся в памяти SPECTRUM, программу с диска.
Пример:

MERGE "SUMBROUL"
MERGE "B:FUNCT2"




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Сделай сам - Усилитель класса Hi-Fi.
Коры - Жёлтые страницы.
Вопрос-ответ - vel, почему, раз ты такой кульный guy, от тебя свалил сначала Ash, потом я?
Обзор ПО - Обзор новинок: Monstrland
Code - пишем Mini Boot.

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