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