Basic 1969 г.

Глава 20 - внешняя память на магнитной ленте.


Глава 20

Внешняя память на магнитной ленте

Краткое содержание: LOAD, SAVE, VERIFY, MERGE

Основные команды работы с магнитофоном SAVE, LOAD и VERIFY уже
рассматривались во вводном описании. Вы могли видеть, что LOAD
затирает старую программу в памяти компьютера при загрузле новой
программы с леиты. Есть другая команда MERGE, не делающая этого.
Эта команда стирает лишь те строки старой программы или перемен-
ные, которые совпадают с номерами строк новой программы или име-
нами новых переменных. Программу " DICE " (" игральная кость ")
из главы 11 запишем на ленту под именем "DICE".

А теперь введем и выполним следующую программу:

1 PRINT 1

2 PRINT 2
10 PRINT 10
20 LET X*20

Затем осуществим ее проверку, заменив команду VERIFY "DICE" на
команду MERGE "DICE". Вы увидите, что строки 1 и 2 сохраняются, а
строки 10 и 20 заменяются на строки с этими номерами из программы
"DICE", переменная X тоже сохраняется ( проверьте PRINT X)

Теперь вы знаете четыре оператора для работы с кассетным маг-
нитофоном :

SAVE - записывает программу и переменные на магнитофон;
VERIFY - проверяет программу и переменные в памяти компьютера
по их копии на ленте;

LOAD - очищает память компьютера от всех программ и загружает
в нее новые данные, считанные с магнитофона;

MERGE - подобно LOAD, только не очищает всю память, а лишь за-
меняет те строки программы или переменные, у которых совпадают
номера или имена с такими же на магнитной ленте;

За каждой из этих команд следует ключевое слово - имя програм-
мы, определенное первоначально в команде SAVE. Пока компьютер
ищет указанную программу, он выводит имена всех программ, уже
прочитанных с ленты. Имеются дв* возможности для снятия справки с
ленты:

вариант 1. В операторах VERIFY, LOAD и MERGE вместо имени мож-
но указать пустую строку. Тогда будет взят первый
встретившийся файл.

вариант 2. С использованием оператора SAVE:
SAVE STRING LINE NUMBER

Программа запишется на ленту так, что когда она бу-
дет считана по команде LOAD (но не MERGE), то она
автоматически установится на строку (NUMBER) и сама
инициирует свое выполнение.
Кроме текстов программ на ленту можно записывать также массивы
или данные, например, записать на ленту массив вы можете, исполь-
зуя команды SAVE и DATA таким образом:
SAVE STRING DATA ARRAY NAME ()
Здесь "STRING" - имя, присваеваемое файлу данных, которое мо-
жет состоять из букв или букв и символа "•" (перечеркнутая буква
" S") для строковых данных это требование не важно., Такие данные

загружаются по команде:

LOAD STRING DATA ARRAY NAME ()
здесь нельзя использовать оператор MERGE.

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

CHARACTER ARRAY:
и далее имя этого массива.

Существует возможность записи на магнитную ленту и отдельных
байтов информации. Так, например, это может быть телевизионная
картинка или определяемые пользователем графические символы и
т.п. Для этого используется ключевое слово CODE, например:
SAVE "PICTURE" CODE 16384,6912
Здесь первое число - адрес первого байта в области памяти, где
расположены данные, а второе число - количество байтов, которое
надо записать «а ленту (6912 - объем в байтах одного экрана, а
16384 - адрес экрана в памяти). Загружаются эти данные по коман-
де :

LOAD "PICTURE" CODE
После CODE можно указать числа:

LOAD "PICTURE" CODE START. LENGTH
START (начало) - указывает адрес, с которого должны загру-
жаться данные. Он может быть отличен от
Адреса, указанного в SAVE. Вы можете опус-
Кать этот параметр в команде LOAD.
LENGTH (длина) - определяет, сколько данных в байтах надо

Загрузить с ленты. Если длина больше, чем
Записано на ленте, то выдается сообщение:
"R таре LOADING ERROR" (ошибка загрузки с
Ленты). Этот параметр можно опустить -
Тогда компьютер считает все данные, запи-
санные на ленте,
выражение CODE 16384,69 12 можно заменить на SCREENS:
SAVE "PICTURE" SCREENS
тогда при вводе необходимо:

LOAD "PICTURE" SCREENS
Это тот случай, когда VERIFY не работает. В остальных случаях
VERIFY можно использовать везде, где используется SAVE.

В заключении. Везде, где указывается имя файла на ленте,
используются только 10 символов. Существует 4 типа информации,
которые могут быть записаны на ленту:

-программы и переменные (совместно);
-числовые массивы;
-строковые массивы;
-непосредственно байты.
Когда команды VERIFY, LOAD и MERGE осуществляют поиск Данных
на лейте, они выводят на экран все считанные ими с ленты имена с
указанием типа данных в виде:

"PROGRAMM: ", "NAMB-ER ARRAY: "CHARACTER ARRAY: и, "BYTES: "
если имя - пустая строка, эти команды берут первый встретившийся
файл с указанным типом.

Команда SAVE служит для записи информации на ленту под задан-
ным именем. Сообщение об ошибке F выдается, если вместо имени
указана пустая строка, или число символов в имени 11 и более.
SAVE всегда выдает сообщение:
"START ТАРЕ, THEN PRESS ANY KEY"
("запусти магнитофон и нажми любую клавишу")
и ждет нажатия, после чего записывает данные на леиту.

1. Программа н переменные.

SAVE NAME LINE NUMBER

Записывает программу на ленту таким образом, что последующая
команда LOAD автоматически вставляет в программу

GO ТО LINE NUMWER
и начинает выполнять ее.

2. Байты.

SAVE NAME CODE START, LENGTH
записывает на ленту "LENGTH" байт начиная с адреса START.

SAVE NAME SCREENS
эквивалентно

SAVE NaMe CODE 16384,6912
и записывает одни телевизионный экран.

3. Массивы.

SAVE NAME DATA LETTER ()

или

SAVE NAME DATA LETTERS ()
записывают числовой или строковый массив (требование не относится
к "NaMe"). VERIFY

Команда VERIFY проверяет (сравнивает) информацию в памяти и на
ленте. В случае несравнения выдается сообщение:

"R ТАРЕ LOADING ERROR"

1. Программа и переменные.

VERIFY NAME

2. Байты.

VERIFY NAME CODE START, LENGTH
если данных в файле "NaMe" более, чем указано в "LENGTN", то вы-
дается сообщение об ошибке "R".

VERIFY NAME CODE START
здесь осуществится сравнение байтов в файле "NaMe" с данными в
памяти, начиная с адреса "START".

VERIFY NAME CODE

Этот оператор осуществляет сравнение данных на ленте с данными
в памяти, начиная с адреса, с которого записывался на ленту пер-
вый байт данных. VARIFY NaMe SCREENS или эквивалентно VARIFY NaMe
CODE 16384,6912

однако это будет проверка уже проверенного файла.

3. Массивы.

VERIFY NaMe DATA LETTER ()

VARIFY NAME DATA LETTERS ()

LOAD

Команда LOAD загружает новые данные с ленты, стирая старые

данные в памяти.

1. Программа и переменные.

LOAD NaMe

Может выдавать сообщение "4 OUT OF MEMORY", если нет места для
новой программы. В этом случае старая программа не уничтожается.

2. Байты.

LOAD NAME CODE START, LENGTH

Если данных в файле "NaMe" больше, чем указанно в "LENGTH", то
выдается сообщение об ошибке R.

LOAD NAME CODE START

Производит загрузку данных из "NaMe" в память, начиная с ад-
реса "START"

LOAD NAME CODE

Загружает данные по адресу, с которого записывались данные на
ленту в файл "NaMe".

Э. Массивы.

LOAD NAME DATA LETTER ()
LOAD NaM? DATA LETTERS ()
Уничтожает в памяти массив с именем "LETTER" или "LETRERS",
формирует новый массив и переписывает туда данные из файла
HNaMe". Может выдать сообщение "4 OUT OF MEMORY" при нехватке па-
мяти под массив. В этом случае старый массив не уничтожается.
MERGE

Команда MERGE загружает новые данные с ленты, не уничтожая
старые.

1. Программа и переменные.
MERGE NAME

дописывает программу "NaMe" к некоторой программе,
Может выдать сообщение "4 OUT OF MEMORY".

находящейся в

памяти

2. Байты.

не поддерживается...

3. Массивы.

не поддерживается... Пример.

Записать на ленту информацию о 21-м определенном пользователем
символе.

SAVE "CHESS" CODE USR "A",21*8
обратная загрузка

LOAD "CHESS" CODE
или

LOAD "CHESS" CODE USR "A".




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Новости - Что новенького?
Поэма - Юмор.
Партийная зона - FOREVER 2E3, первое крупное событие в мире demoparty для Speccy в этом году: результаты и рассуждения от UnBEL!EVER'a.
Новости - Фирма "Скорпион" выпустила SMUC ( Scorpion & Moa Universal Controller) - для подключения к ZX винчестера,Hayes-модема, подключение CMOS-часов и NVRAM (энергонезависимая память).
Разное - Amiga VS PC?

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