Слово H
H (указатель словаря, читается «эйч») — фортовская переменная Каллисто.
H ( −− a ) Переменная, адрес вершины словаря.
Переменная H указывает на первую свободную ячейку словаря, H @ = HERE.
Ввод слова H[править]
В режиме ЛАТ нажмите чёрную клавишу ПП
Заметки[править]
Переменная H отсутствует в стандартах Форта, поэтому её использование ухудшает переносимость приложения.
В большинстве случаев можно обойтись без неё. Для получения адреса вершины стека есть стандартное слово HERE, а изменить это значение позволяет стандартное слово ALLOT.
История[править]
H это первая буква слова HERE
Т.к. переменная H в стандартах Форта отсутствует, в некоторых системах Форта она и называется по другому: DP CP
DP в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
DP ---- addr U,L A user variable, the dictionary pointer, which contains the address of the next free memory above the dictionary. The value may be read by HERE and altered by ALLOT.
Реализация[править]
145 rrDP .EQU 1137 ; 11137 H − Указатель на первую свободную ячейку словаря H @ = HERE 146 pDP .EQU 137 147 rlDP .EQU 1138 … 2774 ;#H 2775 ; H ( −− a ) Переменная, адрес вершины словаря. 2776 LDP: .DB 1 2777 .TEXT "H" 2778 .DW LDDP 2779 DP: .DW SUSE 2780 .DB pDP
Реализация в SP-Forth 4.20[править]
VARIABLE (DP) \ переменная, содержащая HERE сегмента данных … : DP ( -- addr ) \ переменная, содержащая HERE сегмента данных IS-TEMP-WL IF GET-CURRENT 7 CELLS + ELSE (DP) THEN ;
Советская реализация[править]
В ФОРТ-ЕС вместо переменной H использовался примитив DP!
Вот его описание и определение:
DP! * A-> УСТАНОВИТЬ ВЕРШИНУ СЛОВАРЯ НА АДРЕС A 10 Экран номер 10 ( 31.03.86 HERE ALLOT ALIGN ALIGNH DP! ) CODE DP! ( A->) RD PULL, RD RMASK NR, POP 8, END-CODE
В FORTH ИТЭФ переменная H называлась DP
Вот её определение:
HEAD 202Q,'D',320Q,DP,$USE ; DP DW 22Q ... XDP DW 16000 DUP(0) ; DICTIONARY
Ссылки[править]
- Исходный текст слова H в Каллисто Классик 1.0
- См. слова HERE и ALLOT, а также ДH
- ФУНКЦИОНИРОВАНИЕ ФОРТ-СИСТЕМЫ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- Under the Hood в книге Leo Brodie Starting Forth (англ.)
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |