ALLOT: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 9: | Строка 9: | ||
== ALLOT в стандарте ANS Forth == | == ALLOT в стандарте ANS Forth == | ||
<PRE> | |||
6.1.0710 ALLOT CORE | 6.1.0710 ALLOT CORE | ||
( n -- ) | ( n -- ) | ||
Строка 25: | Строка 26: | ||
См.: 3.3.3 Область данных. | См.: 3.3.3 Область данных. | ||
</PRE> | |||
== ALLOT в предыдущем стандарте Forth-83 (англ.) == | == История == | ||
D для советских ЭВМ типа ДВК или СМ должно было быть чётным. | |||
=== ALLOT в предыдущем стандарте Forth-83 (англ.) === | |||
ALLOT w -- 79 | ALLOT w -- 79 | ||
Allocates w bytes in the dictionary. The address of the | Allocates w bytes in the dictionary. The address of the | ||
next available dictionary entry is updated accordingly. | next available dictionary entry is updated accordingly. | ||
== ALLOT в стандарте Forth-79 (англ.) == | === ALLOT в стандарте Forth-79 (англ.) === | ||
ALLOT n -- 154 | ALLOT n -- 154 | ||
Add n bytes to the parameter field of the most recently | Add n bytes to the parameter field of the most recently | ||
defined word. | defined word. | ||
== ALLOT в fig-FORTH Release 1 glossary, май 1979 (англ.) == | === ALLOT в fig-FORTH Release 1 glossary, май 1979 (англ.) === | ||
ALLOT n --- L0 | ALLOT n --- L0 | ||
Add the signed number to the dictionary pointer DP. May be used to | 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 | reserve dictionary space or re-origin memory. n is with regard to | ||
computer address type (byte or word). | computer address type (byte or word). | ||
== Реализация == | == Реализация == |
Версия от 01:27, 6 июня 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 (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |