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