Закрыть окно         Список других документов библиотеки Серкова

A4D1-A4E4  Программа обработки команды RUN.
           Если активен APPLESOFT BASIC, то установить флажок
           прерывания команды RUN, так что эта команда может 
           быть завершена после загрузки APPLESOFT. Вызвать
           программу обработки команды LOAD для загрузки
           Бейсик-программы. Пропустить строку на экране.
           Восстановить системные программы перехвата.
           Перейти на входную точку команды RUN в текущем
           Бейсике.

A4E5-A4EF  Программа перехвата для входной точки команды RUN
           целочисленного Бейсика.
           Удалить все переменные (эквивалент CLR).
           Перейти на входную точку команды CHAIN целочислен-
           ного Бейсика.

A4F0-A4FB  Программа обработки команды CHAIN.
           Вызвать программу обработки команды LOAD для 
           загрузки Бейсик программы в память. Пропустить
           строку. Восстановить системные программы перехвата.
           Перейти на входную точку команды CHAIN текущего
           Бейсика.

A4FC-A505  Программа перехвата для входной точки команды RUN
           ПЗУ-версии APPLESOFT BASIC. Вызвать APPLESOFT для
           очистки переменных. Сбросить ONERR. Перейти на
           входную точку RUN Бейсика.

A506-A50D  Программа перехвата для входной точки команды RUN
           ОЗУ-версии APPLESOFT BASIC. Вызвать APPLESOFT для
           очистки переменных. Сбросить ONERR. Перейти на
           входную точку RUN Бейсика.

A510-A51A  Программа обработки команды WRITE.
           Вызвать обобщенную машинную программу ЧТЕНИЯ/ЗАПИСИ
           (¤A526). Установить состояние 5 CSWL (начало записи 
           строки). Выйти из DOS (¤9F83).

A51B-A525  Программа обработки команды READ.
           Вызвать обобщенную программу ЧТЕНИЯ/ЗАПИСИ (¤A526).
           Установить флажок режима чтения среди флажков
           состояния (¤AA51). Выйти из DOS (¤9F83).

A526-A54E  Обобщенная машинная программа ЧТЕНИЯ/ЗАПИСИ.
           Найти буфер данного файла (¤A764). Если файл не
           открыт, то открыть файл. Скопировать адрес буфера
           файла в список параметров мененджера файлов.
           Если в команде указаны величины R или B, то внести
           их в список параметров и выдать запрос мененджеру
           файлов на вызов POSITION. Выйти в вызывающую
           программу.

A54F-A56D  Программа обработки команды INIT.
           Если задано значение V, использовать его. 
           В противном случае использовать V=254.
           Сохранить номер первой страницы DOS в списке
           параметров мененджера файлов. Вызвать драйвер
           мененджера файлов для инициализации дискеты.
           Выйти через SAVE для записи на диск стартовой
           программы.

A56E-A579  Программа обработки команды CATALOG.
           Вызвать мененджер файлов с кодом операции CATALOG.
           Установить новую величину V в качестве значения,
           принятого по умолчанию для последующих команд.
           Выйти в вызывающую программу.

A57A-A59D  Программа обработки команды FP.
           В любом случае подключить плату ПЗУ Бейсика (¤A5B2).
           Если подключение завершилось успешно, выполнить
           "холодный" старт DOS (¤9D84). В противном случае
           установить флажок состояния, сигнализирующий об
           активности целочисленного Бейсика. Установить
           в буфере первого имени файла имя "APPLESOFT".
           Установить флажки для индикации активности
           ОЗУ-версии Бейсика типа APPLESOFT и выполнить
           "холодный" старт. Перейти на программу обработки
           команды RUN.

A59E-A5B1  Программа обработки команды INT.
           В любом случае подключить плату ПЗУ целочисленного
           Бейсика (¤A5B2). Если подключение не было успешным,
           то вывести LANGUAGE NOT AVAILABLE. В противном
           случае сбросить флажок прерывания команды RUN.
           Выполнить "холодный" старт DOS (¤9D84).

A5B2-A5C5  Подключить ПЗУ требуемого Бейсика.
           Эта программа получает ¤4C для вызова APPLESOFT
           BASIC и ¤20 для INTEGER BASIC, поскольку данные 
           байты имеются в этих интерпретаторах по адресу
           ¤E000. Программа будет работать независимо от того,
           какой Бейсик встроен в машину. Если требуемый
           Бейсик уже доступен, то выйти. Иначе попытаться 
           подключить плату ПЗУ. Если теперь требуемый Бейсик
           доступен, то выйти. В противном случае выйти с
           ошибочным кодом возврата.

A5C6-A5DC  Программа обработки команды EXEC.
           Открыть файл (¤A2A3). Продублировать адрес буфера
           файла в указателе буфера исполняемого файла 
           в яч.¤AAB4-AAB5. Установить флажок активности
           команды EXEC (¤AAB3). Выполнить безусловный 
           переход на программу обработки команды POSITION
           для пропуска R строк.

A5DD-A60D  Программа обработки команды POSITION.
           Найти буфер открытого файла (¤A764). Если он 
           не найден, то открыть файл как текстовый.
           Скопировать указатели буфера в список параметров
           мененджера файлов. Если значение R не было задано
           в команде, то выйти;
  A5F2  В противном случае проверить условие: R=0 ?
        Если да, то выйти. Иначе уменьшить величину R на
        еденицу. Читать файл байт за байтом до тех пор, пока
        не встретится возврат каретки. Если это конец файла,
        то вывести END OF FILE. В противном случае перейти на
        ¤A5F2 для пропуска следующей записи.

A60E-A625  Запись обного байта данных в файл.
           Убедиться в том, что Бейсик выполняет программу
           (¤A65E). Если нет, то закрыть файл и выполнить
           "теплый" старт DOS. Заполнить список параметров
           мененджера файлов для записи байта данных в 
           открытый файл. Вызвать мененджер файлов и выйти.

A626-A65B  Чтение одного байта данных из файла.
           Бейсик выполняет программу(¤A65E) ? Если нет, то
           закрыть файл и выполнить "теплый" старт DOS.
           Установить состояние 6 CSWL(пропуск символа-
           подсказки);
  A630  Прочитать следующий байт файла (¤A68C). Если это еще
        не конец файла, то перейти на ¤A644. Иначе закрыть
        файл. Если состояние <>3 (EXEC), то вывести END OF
        DATA. Выйти в вызывающую программу.
  A644  Если байт данных - символ нижнего регистра, то сбросить
        его старший значащий бит, чтобы "ввести в заблуждение"
        программу GETIN Монитора. Записать байт данных в
        регистр A, содержимое которого сохранено при входе
        в DOS. Используя строчный индекс, вновь установить,
        в случае необходимости, старший разряд байта данных,
        записанного в буфер ввода(¤0200), чтобы опять 
        превратить его в символ нижнего регистра.
        Выйти из DOS (¤9FB3).

A65E-A678  Проверить, выполняет ли Бейсик программу или
           находится в диалоговом командном режиме.
           Если активен целочисленный Бейсик, то перейти на
           ¤A672. Если номер строки >65280 и подсказка "]",
           APPLESOFT BASIC в диалоговом режиме. Иначе он
           выполняет программу. Выйти в вызывающую программу
           с соответствующим кодом возврата;
  A672  Проверить яч.¤D9, чтобы определить, выполняет ли 
        целочисленный Бейсик программу и выйти с соответству-
        ющим кодом возврата.

A679-A681  Закрыть текущий файл и выполнить "теплый" старт DOS.

A682-A688  Чтение одного байта из файла при выполнении команды
           EXEC. Выбрать буфер исполняемого файла, скопировать
           адреса этого буфера файла в список параметров
           мененджера файлов. Установить состояние 3 (отобра-
           жение ввода). Перейти на ¤A620 для чтения байта из
           файла.

A68C-A69C  Чтение следующего байта текстового файла.
           Заполнить список параметров мененджера файлов для
           чтения одного байта. Вызвать драйвер мененджера 
           файлов. Вернуться в вызывающую программу с байтом
           данных.

A69D-A6A7  Установка в ячейках ¤40-41 указателя буфера
           исполняемого файла.

A6A8-A6C3  Программа драйвера мененджера файлов.
           Вызвать сам мененджер файлов (¤AB06).
           Если нет ошибок, выйти в вызывающую программу.
           В противном случае ввести в ячейки ¤40-41 указатель
           буфера файла. Если он найден, то освободить его,
           записав в первый байт поля имени файла.
           Если не END OF DATA, то вывести сообщение об ошибке.
           Вернуться в вызывающую программу.

A6C4-A6D4  Выдать сообщение об ошибке:
  A6C4  "COMMAND SYNTAX ERROR" - Синтаксич-ая ошибка в команде;
  A6C8  "NO FILE BUFFERS AVAILABLE" - Нет доступных буферов;
  A6CC  "PROGRAM TOO LARGE" - Программа слишком велика;
  A6D0  "FILE TYPE MISMATCH" - Несовпадение типа файла.

A6D5-A701  Программа обработки ошибок.
           Установить флажок "теплого" старта и обнулить 
           состояние (¤BFE6). Если активен APPLESOFT ONERR, то
           перейти на ¤A6EF, иначе вывести: возврат каретки,
           звуковой сигнал, возврат каретки. Напечатать текст
           сообщения об ошибке (¤A702). Вывести еще один
           возврат каретки.
  A6EF  Восстановить системные программы перехвата. Если
        выполняется Бейсик-программа, то передать код ошибке
        программе обработки ошибок Бейсика, иначе выполнить
        "теплый" старт Бейсика.

A702-A719  Вывод текста сообщения об ошибке.
           Используя номер ошибки в качестве индекса, вывести
           байт за байтом текст сообщения из таблицы 
           сообщений (¤A971). В последнем символе старший 
           значащий бит установлен.

A71A-A742  Заполнение списка параметров мененджера файлов.
           Скопировать в списке номера Тома, НГМД, разъема и
           адрес первого буфера файла в ячейках ¤40-41.
           Вернуться в вызывающую программу.

A743-A74D  Скопировать первое имя файла в поле имени файла в
           в буфере файла.

A74E-A75A  Скопировать указатели текущего буфера в списке 
           параметров мененджера файлов.
           Указатели текущего буфера: указатель буфера рабочей
           области, указатель буфера Т/С списка, указатель
           буфера сектора данных, цепочечный адрес следующего
           буфера файла. Вернуться в вызывающую программу.

A75B-A763  Сбросить состояние в 0 и установить флажок "теплого"
           старта.

A764-A791  Поиск буфера открытого файла или свободного буфера.
           Предположить, что свободных буферов файлов,
           обнуляя яч.¤45. Ввести в ячейки ¤40-41 указатель
           первого в цепочке буфера. Перейти на ¤A773.
  A76E  Ввести в яч.¤40-41 указатель следующего буфера в
        цепочке. Если это конец цепочки, то выйти с кодом
        отсутствия открытого файла.
  A773  Получить первый байт поля имени файла.
        Если он нулевой(буфер файла свободен), то сохранить в
        яч.¤44-45 адрес буфера файла, как доступного буфера
        и перейти на ¤A76E. Иначе проверить, совпадает ли имя
        в буфере первого имени с именем в данном буфере.
        Если нет, то перейти на ¤A76E для проверки следующего
        буфера. Если да, то вернуться в вызывающую программу
        с кодом успешного поиска открытого файла.

A792-A799  Ввести в яч.¤40-41 указатель первого в цепочке
           буфера файла.

A79A-A7A9  Ввести в яч.¤40-41 указатель следующего буфера 
           файла из цепочки.

A7AA-A7AE  Получить первый байт имени файла в буфере файла.

A7AF-A7C3  Проверить, принадлежит ли текущий буфер исполняемому
           файлу. 
           Команда EXEC активна ? Если нет, то выйти.
           Если да, то проверить, соответствует ли адрес
           текущего буфера адресу буфера исполняемого файла ?
           Вернуться в вызывающую программу с соответствующим
           кодом возврата.

A7C4-A7D3  Проверка типа файла.
           Соответствует ли тип открытого файла требуемому ?
           Если да, то выйти. Иначе сбросить бит защиты файла
           и проверить еще раз. Если все в порядке, то выйти.
           Иначе закрыть файл и вывести FILE TYPE MISMATCH.

A7D4-A850  Инициализация цепочки буферов файлов DOS.
           Ввести в яч.¤40-41 указатель первого буфера.
           Установить счетчик равным величине MAXFILES.
  A7E5  Записать 0 в первый байт поля имени файла, отмечая
        буфер, как свободный. Установить цепочечные указатели
        в буфере так, чтобы указать на рабочую область
        мененджера файлов.
        Выполнить декремент счетчика. Если получен 0, то
        перейти на ¤A82D для установки HIMEM. 
        Иначе установить цепочечный указатель следующего
        буфера файла, как указатель точки, предшествующей
        буферу сектора данных и отстоящей от него на 38 байт.
        Перейти на ¤A7E5 для построения следующего буфера.
  A82D  Сделать цепочечный указатель в последнем буфере равным
        ¤0000. Если активен целочисленный Бейсик, то перейти
        на ¤A846. Иначе установить на нулевой странице 
        указатели HIMEM и STRING START(начало программы) для
        APPLESOFT BASIC, как указатели точки, примыкающей 
        "снизу" к последнему буферу.
        Выйти в вызывающую программу.

.ст DOS (логика)4

Закрыть окно         Список других документов библиотеки Серкова