WARM

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

WARM («горячий» старт) — стандартное слово Каллисто. «Тёплая» перезагрузка. Словарь сохраняется.

WARM           ( −− )                               Тёплая перезагрузка, словарь сохраняется.

WARM не возвращает управление назад. Всё идущее после WARM игнорируется.

Ввод слова WARM

В режиме ЛАТ последовательно нажмите четыре клавиши  В↑   ШГ←   ×   ÷ 

Реализация

WARM содержит высокоуровневый код, инициализирующий Каллисто без удаления слов из словаря.

WARM выводит на экран перевод строки и количество свободных байт в словаре, после чего проверяет содержимое переменной APP. Если оно отлично от нуля, управление передаётся на записанный в APP токен с помощью EXECUTE. В противном случае происходит переход на QUITКаллисто начинает свой диалог с пользователем.

 492 ;#WARM
 493 ; WARM             ( −− )                               Тёплая перезагрузка, словарь сохраняется.
 494 ; Если может, запускает слово, токен которого лежит в APP
 495 LWARM:          .DB     4
 496                 .TEXT   "WARM"                  ; К
 497                 .DW     LCOLD
 498 WARM:           .DW CALL
 499 RWARM:          .DW SPSTO,RPSTO,DEC             ; Объём памяти выводится в десятичной системе
 500                 .DW CLD                         ; Если мы выключим МК−161, начать сначала
 501                 .DW ZERO,FONTSTO,DARK,LITB      ; Установить шрифт 0, вывод тёмным по светлому
 502                 .DB 13                          ; RC
 503                 .DW EMIT,FREE,DOT               ; Вывести размер свободной памяти
 504                 .DW PDOTQ
 505                 .DB 13                          ; Начать с CR
 506                 .TEXT "байт свободно"           ; Суровое московское приветствие Каллисто
 507                 .DW BUFN,ZSTORE                 ; Сбросить флаг UPDATE и номер загруженного блока
 508                 .DW DISKOFF,LBRAC
 509                 .DB 2bH,8fH                     ; 11151 FORTH (xt)
 510                 .DW DEFIN, AUTOEXEC,UAT
 511                 .DW QDUP,ZBRAN,RQUIT
 512                 .DW EXEC                        ; Начать исполнение стартового кода, обычно это QUIT
 513                 .DW BRAN,RQUIT                  ; На случай, если слово вернуло управление

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.