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

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Нет описания правки
Строка 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).
== История ==
N для советских ЭВМ типа ДВК или СМ должно было быть чётным.


== Реализация ==
== Реализация ==

Версия от 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

Ссылки


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


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