Закрыть окно Список других документов библиотеки Серкова
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