UPDATE: различия между версиями
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 9: | Строка 9: | ||
== UPDATE в стандарте ANS Forth == | == UPDATE в стандарте ANS Forth == | ||
<PRE> | |||
7.6.1.2400 UPDATE BLOCK | 7.6.1.2400 UPDATE BLOCK | ||
( -- ) | ( -- ) | ||
Строка 18: | Строка 19: | ||
См.: 7.6.1.0800 BLOCK, 7.6.1.0820 BUFFER, 7.6.1.1559 FLUSH, 7.6.1.2180 | См.: 7.6.1.0800 BLOCK, 7.6.1.0820 BUFFER, 7.6.1.1559 FLUSH, 7.6.1.2180 | ||
SAVE-BUFFERS. | SAVE-BUFFERS. | ||
</PRE> | |||
== UPDATE в предыдущем стандарте Forth-83 (англ.) == | == История == | ||
В 1968 году Чак Мур работал в Mohasco Industries, Inc ([https://en.wikipedia.org/wiki/Amsterdam_%28city%29,_New_York Amsterdam NY], ''англ.''). Первая версия интерпретатора, получившая название FORTH, заработала на миникомпьютере IBM 1130 с графическим дисплеем 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Первый FORTH знал слово UPDATE | |||
UPDATE позволял пометить блок, чтобы он был записан обратно на диск, когда понадобится его буфер (или словом [[FLUSH]]). Это реализовывало виртуальную память. | |||
Английское слово [http://www.lingvo-online.ru/ru/Translate/en-ru/update ''update''] означает «обновить». | |||
=== UPDATE в предыдущем стандарте Forth-83 (англ.) === | |||
UPDATE -- 79 | UPDATE -- 79 | ||
The currently valid block buffer is marked as modified. | The currently valid block buffer is marked as modified. | ||
Строка 27: | Строка 36: | ||
FLUSH or SAVE-BUFFERS . | FLUSH or SAVE-BUFFERS . | ||
== UPDATE в стандарте Forth-79 (англ.) == | === UPDATE в стандарте Forth-79 (англ.) === | ||
UPDATE 229 | UPDATE 229 | ||
Mark the most recently referenced block as modified. The | Mark the most recently referenced block as modified. The | ||
Строка 34: | Строка 43: | ||
different block, or upon execution of SAVE-BUFFERS. | different block, or upon execution of SAVE-BUFFERS. | ||
== UPDATE в fig-FORTH Release 1 glossary, май 1979 (англ.) == | === UPDATE в fig-FORTH Release 1 glossary, май 1979 (англ.) === | ||
UPDATE L0 | UPDATE L0 | ||
Marks the most recently referenced block (pointed to by PREV) as | Marks the most recently referenced block (pointed to by PREV) as | ||
altered. The block will subsequently be transferred automatically to | altered. The block will subsequently be transferred automatically to | ||
disc should its buffer be required for storage of a different block. | disc should its buffer be required for storage of a different block. | ||
== Реализация == | == Реализация == |
Версия от 01:50, 6 июня 2016
UPDATE (изменить, обновить) — стандартное слово Каллисто.
UPDATE ( −− ) Отметить блочный буфер, как изменённый.
Устанавливает в буфере флаг "спасения".
Обычно UPDATE используется после изменения буфера и перед словом FLUSH, которое сбрасывает обновлённый блок на электронный диск.
Ввод слова 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.
История
В 1968 году Чак Мур работал в Mohasco Industries, Inc (Amsterdam NY, англ.). Первая версия интерпретатора, получившая название FORTH, заработала на миникомпьютере IBM 1130 с графическим дисплеем 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Первый FORTH знал слово UPDATE
UPDATE позволял пометить блок, чтобы он был записан обратно на диск, когда понадобится его буфер (или словом FLUSH). Это реализовывало виртуальную память.
Английское слово update означает «обновить».
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.
Реализация
Описание и определение слова 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 в Каллисто Классик 1.0
- Слово UPDATE в стандарте ANS Forth (англ.)
- Слово UPDATE в черновике Forth 200x (англ.)
- Dirty bit в английской Википедии (англ.)
- ВВОД-ВЫВОД в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Editor (and Staff) в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |