ПЕРЕМЕННЫЕ И КОНСТАНТЫ ДВОЙНОЙ ДЛИНЫ
Вы можете определить переменную двойной длины с помощью слова 2VARIABLE, например:
2VARIABLE ДАТА
После этого вы можете использовать слова ФОРТА 2! (ЗАПОМНИ ДВА) и 2@ (ВЫБЕРИ ДВА) для доступа к переменной двойной длины. Можно записать число двойной длины в такую переменную, просто записав
800000. ДАТА 2!
и выбрать значение из нее, введя
ДАТА 2@ D. 800000 ok
Вы можете также запомнить полностью дату (месяц, число, год) в такой переменной:
7/16/86 ДАТА 2!
и выбрать их назад:
ДАТА 2@ .ДАТА 7/16/81 ok
в предположении, что у вас загружен вариант определения .ДАТА, приводимый в последней главе.
Можно определить константу двойной длины с помощью слова 2CONSTANT, например
200000. 2CONSTANT ЯБЛОКИ
после чего слово ЯБЛОКИ будет помещать в стек число двойной длины:
ЯБЛОКИ D. 200000 ok
Судя по префиксу 2, мы можем также использовать слово 2CONSTANT при определении пары чисел одинарной длины. Можно помещать два числа под одним именем просто из соображений удобства, а также для резервирования памяти в словаре.
Вспомните (см. гл. 5), что вы можете с помощью выражения 355 113 */ умножить некоторое число на аппроксимацию pi. Слово 2CONSTANT позволяет запомнить эти два целых:
355 113 2CONSTANT PI
а впоследствии применить выражение PI */, например:
10000 PI */ . 31415 ok
Ниже приводится перечень слов применительно к структурам данных двойной длины.2VARIABLE xxx ( -- ) Создание переменной двойной длины ххх: ( -- a) с именем ххх. Слово ххх при выполнении помещяет на стек свой адрес. 2CONSTANT ххх ( d -- ) Создает константу двойной длины с именем ххх и значением d. ххх: ( -- d) Слово ххх при выполнении помещает в стек значение d. 2! ( d а -- ) Запоминание числа двойной длины по заданному адресу. 2@ ( а -- d) Занесение в стек числа двойной длины, расположенного по заданному адресу.