LOAD"

Материал из ПМК вики
Версия от 06:16, 14 января 2018; AtH (обсуждение | вклад) (→‎Реализация)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

LOAD" — встроенное слово Каллисто. Считать с внутреннего диска МК-161 сеанс работы с Каллисто.

LOAD"          ( −− )                               Восстановить сеанс из файлов D/B с именем, взятым из входного потока.
Пример работы слова LOAD"

Считать из файлов словарь Форта и десятичный словарь, они должны быть от той же версии Каллисто.

Если в считанном словаре переменная APP отлична от нуля, исполнение загруженного образа начнётся с адреса, в ней указанного. В противном случае управление будет передано на пульт.

Слова во входном потоке после слова LOAD" и его единственного аргумента игнорируются.

Ввод слова LOAD"[править]

В режиме ЛАТ последовательно нажмите клавиши     5   ШГ←   K     P   F   2 

Эти нажатия оставляют клавиатуру в режиме NUM.

Не забудьте, что после кавычки должен стоять как минимум один пробел, отделяющий слово LOAD" от его аргумента, имени файла. Имя загружаемого образа можно завершить кавычкой. Все символы после этой кавычки игнорируются.

Реализация[править]

В Каллисто 1.0 слово LOAD" может вызывать авост. Если считано сохранение от другой версии Каллисто, среда выводит сообщение об ошибке 13, ждёт нажатия клавиши и перезагружается с удалением всех данных.

Манипулируя входным потоком (например, переустановив переменную >IN) приложение может загружать с внутреннего диска МК-161 собственные продолжения («оверлеи») и запускать их через переменную APP.

Данные между различными частями единого приложения можно передавать через буфер или хранить на диске в блоках.

4145 ;#LOADq
4146 ; LOAD"            ( −− )                               Восстановить сеанс из файлов D/B с именем, взятым из входного потока.
4147 ; Считать из файла словарь Форта и десятичный словарь.
4148 LLOADQ:         .DB     5
4149                 .TEXT   "LOAD"                  ; LOAD" ( "<пр>имя−файла" −− )
4150                 .DB     34                      ; '"'
4151                 .DW     LSAVEQ
4152 LOADQ:          .DW CALL, BL,KAT, LITB
4153                 .DB 34
4154                 .DW WORD, COUNT,UPPER
4155                 .DW HERE, LITB
4156                 .DB 4
4157                 .DW ONE,RERW, DUP,QERR
4158                 .DW ZERO,LITB
4159                 .DB 13                          ; 13
4160                 .DW DUP,IP, VERSION,SUB, ZBRAN,LQOK
4161                 .DW LITB
4162                 .DB 39
4163                 .DW MESS, KEY, COLD             ; 39 Сохранение от другой версии
4164 LQOK:           .DW RSTO                        ; Обнулить R13
4165                 .DW HERE,LITB
4166                 .DB 6
4167                 .DW ONE,RERW, DUP,QERR, PDOTQ
4168                 .DB 4
4169                 .TEXT " ok"                     ; Подделать приглашение от QUIT
4170                 .DB 10
4171                 .DW BRAN,RWARM

Ссылки[править]


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