VALUE: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) (→Ссылки) |
AtH (обсуждение | вклад) Нет описания правки |
||
Строка 1: | Строка 1: | ||
[[Файл: | [[Файл:CallistoValueTo.png|thumb|right|264px|Пример работы слова VALUE]] | ||
'''VALUE''' (величина) — стандартное порождающее слово [[Каллисто]]. | '''VALUE''' (величина) — стандартное порождающее слово [[Каллисто]]. | ||
Версия от 16:37, 2 мая 2016
VALUE (величина) — стандартное порождающее слово Каллисто.
Определить следующее слово как десятичную величину, которая хранит десятичное число.
Ввод слова VALUE
В режиме ЛАТ последовательно нажмите клавиши ↔ ШГ← − 3 ИП
Детали реализации
Слово VALUE резервирует десятичный регистр и присваивает ему имя, по которому из Каллисто будет производиться обращение к этому регистру, а также начальное значение.
Для записи в отведённый десятичный регистр в Каллисто используется слово TO.
Создающая часть слова VALUE является высокоуровневой. Для ускорения исполнения величин обе исполняющие части слова VALUE написаны на языке МК.
VALUE в стандарте ANS Forth
6.2.2405 VALUE CORE EXT ( x "<spaces>name" -- ) Пропускает ведущие разделители пробелы. Выделяет name, ограниченное пробелом. Создает определение для name с семантикой выполнения, определенной ниже, с начальным значением равным x.
name определено как "value".
name Выполнение: ( -- x ) Помещает x на стек. Значение x - то что задано, при создании name, до тех пор пока не выполнена фраза x TO name, задающая новое значение x, связанное с name.
См.: 3.4.1 Синтаксический анализ.
A.6.2.2405 VALUE Типичное использование:
0 VALUE DATA
: EXCHANGE ( n1 -- n2 ) DATA SWAP TO DATA ;
EXCHANGE оставляет n1 в DATA и возвращает предшествующее значение n2.
Ссылки
- См. слова TO, VARIABLE
- См. также статью Векторное поле кода
- Слово VALUE и комментарий к нему в стандарте ANS Forth (англ.)
- Слово VALUE и комментарий к нему в черновике Forth 200x (англ.)
- Слово FVALUE (f-value) в черновике Forth 200x (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |