COLD: различия между версиями
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
'''COLD''' («холодный» старт) — | '''COLD''' («холодный» старт) — фортовское слово [[Каллисто]]. «Холодная» перезагрузка. | ||
COLD ( −− ) Холодная перезагрузка, со сбросом словаря. | COLD ( −− ) Холодная перезагрузка, со сбросом словаря. | ||
[[Словарь]] приводится в исходное состояние. Все слова, определённые после стандартного слова [[TASK]], удаляются. COLD не возвращает управление назад. Всё, идущее после COLD, игнорируется. | [[Словарь]] приводится в исходное состояние. Все слова, определённые после стандартного слова [[TASK]], удаляются. COLD не возвращает управление назад. Всё, идущее после COLD, игнорируется. | ||
Строка 11: | Строка 11: | ||
Высокоуровневая часть COLD выводит на экран номер версии [[Каллисто]], после чего передаёт управление слову [[WARM]]. | Высокоуровневая часть COLD выводит на экран номер версии [[Каллисто]], после чего передаёт управление слову [[WARM]]. | ||
== COLD в fig-FORTH Release 1 glossary, май 1979 (англ.) == | == История == | ||
=== COLD в fig-FORTH Release 1 glossary, май 1979 (англ.) === | |||
COLD | COLD | ||
The cold start proceedure to adjust the dictionary pointer to | The cold start proceedure to adjust the dictionary pointer to |
Версия от 15:34, 23 июня 2016
COLD («холодный» старт) — фортовское слово Каллисто. «Холодная» перезагрузка.
COLD ( −− ) Холодная перезагрузка, со сбросом словаря.
Словарь приводится в исходное состояние. Все слова, определённые после стандартного слова TASK, удаляются. COLD не возвращает управление назад. Всё, идущее после COLD, игнорируется.
Ввод слова COLD
В режиме ЛАТ последовательно нажмите четыре клавиши С/П 5 − K
Детали реализации
COLD это первая словарная статья. Это примитив, то есть COLD написан на ЯМК. COLD инициализирует регистры ЭКВМ, использующиеся Каллисто, включая оба словаря — двоичный и десятичный, после чего передаёт управление на адресный интерпретатор, который начинает исполнение шитого кода.
Высокоуровневая часть COLD выводит на экран номер версии Каллисто, после чего передаёт управление слову WARM.
История
COLD в fig-FORTH Release 1 glossary, май 1979 (англ.)
COLD The cold start proceedure to adjust the dictionary pointer to the minimum standard and restart via ABORT. May be called from the terminal to remove application programs and restart.
Реализация
Каллистянское слово COLD в FORTH ИТЭФ называется INI (первые три буквы английского слова initialization, инициализация). INI начинается с ассемблерного кода, после чего инициализирует регистры и переходит исполнению шитого кода:
ASSUME CS:ARRAY, DS:ARRAY, ES:ARRAY, SS:STACK $INI PROC FAR JMP ENT ; ** PRIMITIVES ** HEAD 203Q,'IN',311Q,INIT ;INI ENT: MOV CX, ARRAY MOV DS, CX ; Установка DX MOV ES, CX MOV BX, $US MOV AX, $STI ; Восстановление словаря LEA SI, FORTH+6 MOV [SI], AX MOV SI, $BUF MOV CX, 1730 ; Установка счетчика XXX: MOV WORD PTR [SI],0 ; Обнуление массивов ADD SI, 2 LOOP XXX ; INIT 'OFFSET, USE, PREV MOV CX, $BUF ; TO 'USE' MOV [BX]+72Q,CX MOV [BX]+74Q,CX ; ? MOV CX, 14Q ; Установка счетчика USER MOV DI, $US ; Запись адреса области USER ADD DI, 6 LEA SI, $STK ; Запись начального адреса REP MOVS WORD PTR ES:[DI],HORD PTR DS:[SI] MOV BP, $RS ; Установка начального значения MOV DI, $US ; указателя стека возвратов MOV WORD PTR [DI+32Q],7 ; Установка цвета MOV WORD PTR [DI+42Q],0 ; Сброс флага печати LEA SI, G0$ NEXT G0$: DW SPSTO,DEC,FORTH,DEFIN,ONE,LOAD $INI ENDP ... END $INI
Ссылки
- Исходный текст слова COLD в Каллисто Классик 1.0
- См. статью Начальная загрузка Каллисто
- См. слова QUIT, ABORT и BYE
- См. также WARM — «горячий» старт.
- Перезагрузка в Википедии
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |