HERE

Материал из ПМК вики
Перейти к навигации Перейти к поиску

HERE (здесь) — стандартное слово Каллисто.

HERE           ( −− a )                             Здесь. Дать адрес текущей вершины словаря.

Выдаёт адрес первой свободной ячейки в словаре.

Ввод слова HERE

В режиме ЛАТ последовательно нажмите четыре клавиши  ПП   ИП   ×   ИП 

HERE в стандарте ANS Forth

 6.1.1650   HERE                                                            CORE
            ( -- addr )
            addr - указатель области данных.

        См.: 3.3.3.2 Непрерывные области.

История

Слово HERE взято из Форта, где оно входит во все стандарты, включая fig-Форт, и не менялось с 1979 года.

HERE в предыдущем стандарте Forth-83 (англ.)

     HERE         -- addr                       79
          The address of the next available dictionary location.

HERE в стандарте Forth-79 (англ.)

HERE           -- addr                       188
    Return the address of the next available dictionary location.

HERE в fig-FORTH Release 1 glossary, май 1979 (англ.)

HERE          ---  addr                        L0
       Leave the address of the next available dictionary location.

Реализация

 145 rrDP            .EQU     1137                   ; 11137  H − Указатель на первую свободную ячейку словаря H @ = HERE
 146 pDP             .EQU      137
 147 rlDP            .EQU     1138
…
2303 ;#HERE
2304 ; HERE             ( −− a )                             Здесь. Дать адрес текущей вершины словаря.
2305 LHERE:          .DB     4
2306                 .TEXT   "HERE"
2307                 .DW     LSCSP
2308 HERE:           .DW     JHERE
2309 JHERE:          PPRM rrDP RME ∗ PPRM rlDP + KM3 ; Выдать адрес первой свободной ячейки в словаре.
2310                 KGOTO9

В 9-й главе Starting FORTH (англ.) слово HERE определяется так:

: HERE  H @ ;

Реализация в SP-Forth 4.20

: HERE ( -- addr ) \ 94
\ addr - указатель пространства данных.
  DP @ 
  DUP TO :-SET
  DUP TO J-SET
;

Советская реализация

В ФОРТ-ЕС и FORTH ИТЭФ слово HERE было примитивом. Вот его описание и определение из ядра ФОРТ-ЕС:

HERE      ->A ДАТЬ АДРЕС ТЕКУЩЕЙ ВЕРШИНЫ СЛОВАРЯ                10

                     Экран номер 10
( 31.03.86       HERE ALLOT ALIGN ALIGNH DP! )

CODE HERE  ( ->A )  RW1 RD LR,   PUSHRW1 B, END-CODE

Вот его определение из FORTH ИТЭФ:

            HEAD     204Q,'HER',305Q,HERE                 ; HERE
            PUSH [DI]+22Q
            NEXT

Ссылки


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


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