ALLOT: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Строка 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

Ссылки


  У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их.


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.