UPDATE: различия между версиями
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 52: | Строка 52: | ||
: UPDATE ( -> ) PREV @ @ 32768 OR PREV @ ! ; | : UPDATE ( -> ) PREV @ @ 32768 OR PREV @ ! ; | ||
</PRE> | |||
В FORTH ИТЭФ слово UPDATE было [[примитив]]ом, вот его определение: | |||
<PRE> | |||
HEAD 206Q,'UPDAT',305Q,UPDAT ; UPDATE | |||
MOV BX, 74Q[DI] | |||
OR [BX], 100000Q | |||
NEXT | |||
</PRE> | </PRE> | ||
Версия от 22:05, 27 марта 2016
UPDATE (изменить, обновить) — стандартное слово Каллисто.
Устанавливает в буфере флаг "спасения".
Ввод слова UPDATE
В режиме ЛАТ последовательно нажмите клавиши 3 6 K ШГ← 2 ИП
UPDATE в стандарте ANS Forth
7.6.1.2400 UPDATE BLOCK ( -- ) Отмечает текущий блочный буфер как измененный. Неопределенная ситуация существует, если нет никакого текущего блочного буфера.
UPDATE не вызывает немедленно ввод-вывод.
См.: 7.6.1.0800 BLOCK, 7.6.1.0820 BUFFER, 7.6.1.1559 FLUSH, 7.6.1.2180 SAVE-BUFFERS.
UPDATE в предыдущем стандарте Forth-83 (англ.)
UPDATE -- 79 The currently valid block buffer is marked as modified. Blocks marked as modified will subsequently be automatically transferred to mass storage should its memory buffer be needed for storage of a different block or upon execution of FLUSH or SAVE-BUFFERS .
UPDATE в стандарте Forth-79 (англ.)
UPDATE 229 Mark the most recently referenced block as modified. The block will subsequently be automatically transferred to mass storage should its memory buffer be needed for storage of a different block, or upon execution of SAVE-BUFFERS.
UPDATE в fig-FORTH Release 1 glossary, май 1979 (англ.)
UPDATE L0 Marks the most recently referenced block (pointed to by PREV) as altered. The block will subsequently be transferred automatically to disc should its buffer be required for storage of a different block.
История
В 1968 году Чак Мур работал в Mohasco Industries, Inc (Amsterdam NY, англ.). Первая версия интерпретатора, получившая название FORTH, заработала на миникомпьютере IBM 1130 с графическим дисплеем 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Первый FORTH знал слово UPDATE
UPDATE позволял пометить блок, чтобы он был записан обратно на диск, когда понадобится его буфер (или словом FLUSH). Это реализовывало виртуальную память.
Реализация
Описание и определение слова UPDATE в ядре ФОРТ-ЕС:
UPDATE -> ОТМЕТИТЬ ТЕКУЩИЙ БЛОК KАK ИЗМЕНЕННЫЙ 25 Экран номер 25 ( 31.03.86 +BUF BUFFER BLOCK EMPTY-BUFFERS UPDATE ) : UPDATE ( -> ) PREV @ @ 32768 OR PREV @ ! ;
В FORTH ИТЭФ слово UPDATE было примитивом, вот его определение:
HEAD 206Q,'UPDAT',305Q,UPDAT ; UPDATE MOV BX, 74Q[DI] OR [BX], 100000Q NEXT
Ссылка
- Слово UPDATE в стандарте ANS Forth (англ.)
- Слово UPDATE в черновике Forth 200x (англ.)
- Dirty bit в английской Википедии (англ.)
- ВВОД-ВЫВОД в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Editor (and Staff) в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |