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