ERASE: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
Строка 13: | Строка 13: | ||
== История == | == История == | ||
Слово ERASE пришло в [[Каллисто]] из Форта, где оно является древним и стабильным. В существующем виде слово ERASE входит во все стандарты | Слово ERASE пришло в [[Каллисто]] из Форта, где оно является древним и стабильным. В существующем виде слово ERASE известно с 1979 года и входит во все стандарты. | ||
=== ERASE в предыдущем стандарте Forth-83 (англ.) === | === ERASE в предыдущем стандарте Forth-83 (англ.) === |
Версия от 00:52, 6 июня 2016
ERASE (стереть) — стандартное слово Каллисто. Обнулить массив.
ERASE ( a u −− ) Стереть. Записать u нулей в память, начиная с адреса a.
Слово ERASE записывает u нулевых байтов в память, начиная с адреса a.
Ввод слова ERASE
В режиме ЛАТ последовательно нажмите клавиши ИП × ШГ← 1 ИП
ERASE в стандарте ANS Forth
6.2.1350 ERASE CORE EXT ( addr u -- ) Если u больше нуля, очистить все биты в каждом из u последовательных адресуемых элементов памяти, начинающихся с addr.
История
Слово ERASE пришло в Каллисто из Форта, где оно является древним и стабильным. В существующем виде слово ERASE известно с 1979 года и входит во все стандарты.
ERASE в предыдущем стандарте Forth-83 (англ.)
ERASE addr u -- 79 u bytes of memory beginning at addr are set to zero. No action is taken if u is zero.
ERASE в стандарте Forth-79 (англ.)
ERASE addr n -- 182 Fill an area of memory over n bytes with zeros, starting at addr. If n is zero or less, take no action.
ERASE в fig-FORTH Release 1 glossary, май 1979 (англ.)
ERASE addr n -- Clear a region of memory to zero from addr over n addresses.
Реализация
Юрий Семёнов приводит (стр. 26) следующее определение ERASE через более общее слово FILL:
: ERASE 0 FILL ;
Описание и определение слова ERASE в ядре ФОРТ-ЕС:
ERASE + A,U-> ЗАСЛАТЬ НУЛИ В U БАЙТОВ ПО АДРЕСУ А 22 Экран номер 22 ( 31.03.86 FILL ERASE BLANK COMPILE [ ] MIN MAX HEX DECIMAL) : ERASE ( A,U-> ) 0 FILL ;
В FORTH ИТЭФ слово ERASE было примитивом, код которого использовал код примитива FILL, вот их определения:
HEAD 204Q,'FIL',314Q,FILL ; FILL POP AX ; Символ FLL: POP CX ; Счетчик символов CMP CX, 0 JLE DRP ; POP BX $REPE: MOV BYTE PTR [BX], AL INC BX LOOP $REPE NEXT HEAD 205Q,'ERAS',305Q,ERASE ; ERASE SUB AX, AX JMP FLL
Ссылки
- Исходный текст слова ERASE в Каллисто Классик 1.0
- См. также слова FILL BLANK
- Слово ERASE в стандарте ANS Forth (англ.)
- Слово ERASE в черновике Forth 200x (англ.)
- Variables, Constants, and Arrays в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |