Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| '''WARM''' («горячий» старт) — стандартное слово [[Каллисто]]. «Тёплая» перезагрузка. [[Словарь]] сохраняется. | | '''WARM''' («горячий» старт) — стандартное слово Каллисто. «Тёплая» перезагрузка. [[Словарь]] сохраняется. |
| WARM ( −− ) Тёплая перезагрузка, словарь сохраняется. | | ( -- ) |
| WARM не возвращает управление назад. Всё идущее после WARM игнорируется.
| |
|
| |
|
| == Ввод слова WARM ==
| | WARM содержит высокоуровневый код, инициализирующий [[Каллисто]] без удаления слов из [[Словарь|словаря]]. |
| В [[Режим ЛАТ|режиме ЛАТ]] последовательно нажмите четыре клавиши [[Клавиша В↑|{{Серая клавиша|В↑}}]] {{ШГ←}} [[Клавиша ×|{{Серая клавиша|×}}]] [[Клавиша ÷|{{Серая клавиша|÷}}]]
| |
|
| |
|
| == Реализация ==
| | WARM выводит на экран [[ВК|перевод строки]] и количество свободных байт в [[Словарь|словаре]], после чего проверяет содержимое переменной [[AUTOEXEC]]. Если оно отлично от нуля, управление передаётся на записанный в [[AUTOEXEC]] адрес с помощью [[EXECUTE]]. В противном случае происходит переход на [[QUIT]] — [[Каллисто]] начинает свой диалог с пользователем. |
| WARM содержит высокоуровневый код, инициализирующий [[Каллисто]] без удаления слов из [[Словарь|словаря]]. | | |
| | WARM не возвращает управление назад, всё идущее после WARM игнорируется. |
|
| |
|
| WARM выводит на экран [[ВК|перевод строки]] и [[UNUSED|количество свободных байт]] в [[Словарь|словаре]], после чего проверяет содержимое переменной [[APP]]. Если оно отлично от нуля, управление передаётся на записанный в [[APP]] [[CFA|токен]] с помощью [[EXECUTE]]. В противном случае происходит переход на [[QUIT]] — [[Каллисто]] начинает свой диалог с пользователем.
| |
| <pre>
| |
| 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 ; На случай, если слово вернуло управление
| |
| </pre>
| |
|
| |
|
| == Ссылки == | | == Ссылки == |
| * {{Исходник|WARM|WARM}}
| |
| * См. статью [[Начальная загрузка Каллисто]]
| |
| * См. слова [[QUIT]], [[ABORT]] и [[BYE]]
| |
| * См. также [[COLD]] — «холодный» старт. | | * См. также [[COLD]] — «холодный» старт. |
|
| |
|
|
| |
|
| {{нет иллюстраций}} | | {{нет иллюстраций}} |
| | {{заготовка}} |
| [[Категория:Слова Каллисто]] | | [[Категория:Слова Каллисто]] |
| [[Категория:Слова высокого уровня]]
| |