ALLOT: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) (→Ссылки) |
||
Строка 82: | Строка 82: | ||
[[Категория:Стандартные слова]] | [[Категория:Стандартные слова]] | ||
[[Категория:1994 CORE]] | [[Категория:1994 CORE]] | ||
[[Категория:2012 CORE]] |
Версия от 18:23, 25 июня 2016
ALLOT (распределить, занять) — стандартное слово Каллисто.
ALLOT ( D −− ) Занять. Сместить вершину словаря на D байт.
Добавляет D байт к полю параметров слова, описанного последним. Осмысленные значения D от -4096 до 4096, обычно намного скромнее этих границ.
Оператор N ALLOT резервирует в словаре N байт.
Ввод слова ALLOT
В режиме ЛАТ последовательно нажмите клавиши ШГ← − − 5 2
ALLOT в стандарте ANS Forth
6.1.0710 ALLOT CORE ( n -- ) Если n больше нуля, резервирует n адресуемых элементов области данных. Если n меньше нуля, освобождает | n | адресуемых элементов области данных. Если n нуль, оставляет указатель области данных неизменным. Если указатель области данных выровнен, и n - кратно размеру ячейки перед выполнением ALLOT, он останется выровненным, и после завершения выполнения ALLOT. Если указатель области данных выровнен на символ, и n - кратно размеру символа перед выполнением ALLOT, он останется выровненным на символ, и после завершения выполнения ALLOT. См.: 3.3.3 Область данных.
История
D для советских ЭВМ типа ДВК или СМ должно было быть чётным.
ALLOT в предыдущем стандарте Forth-83 (англ.)
ALLOT w -- 79 Allocates w bytes in the dictionary. The address of the next available dictionary entry is updated accordingly.
ALLOT в стандарте Forth-79 (англ.)
ALLOT n -- 154 Add n bytes to the parameter field of the most recently defined word.
ALLOT в fig-FORTH Release 1 glossary, май 1979 (англ.)
ALLOT n --- L0 Add the signed number to the dictionary pointer DP. May be used to reserve dictionary space or re-origin memory. n is with regard to computer address type (byte or word).
Реализация
Определение слова ALLOT в ядре ФОРТ-ЕС:
ALLOT W-> СМЕСТИТЬ ВЕРШИНУ СЛОВАРЯ НА W БАЙТОВ 10 Экран номер 10 ( 31.03.86 HERE ALLOT ALIGN ALIGNH DP! ) CODE ALLOT ( N-> ) RD FIRST AH, POP B, END-CODE
В FORTH ИТЭФ слово ALLOT также было примитивом, вот его определение:
HEAD 205Q,'ALLO',3240,ALLOT ; ALLOT POP BX ADD [DI]+22Q,BX NEXT
Ссылки
- Исходный текст слова ALLOT в Каллисто Классик 1.0
- См. слова HERE и H, а также слово ДALLOT
- Слово ALLOT в стандарте ANS Forth (англ.)
- Слово ALLOT в черновике Forth 200x (англ.)
- ФУНКЦИОНИРОВАНИЕ ФОРТ-СИСТЕМЫ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Variables, Constants, and Arrays в книге Leo Brodie Starting Forth (англ.)
- Under the Hood в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |