Язык программирования Форт



         

Приложение А. Глоссарий (список слов Форта) - часть 28


Например, опишем CONSTANT: : CONSTANT CREATE , DOES> @ ; Более подробное описание смотри в гл. 11. См, также ;CODE. DROP "drop" "удалить" 83REQ 79REQ ( n -) Удаляет код n из стека. DU* "d-u-times" "d-u-умножить" MMS ( ud1 ud2 - uq) Умножает udl на ud2 (оба являются числами двойной длины без знака) и засылает в стек 64-битовое их произведение uq. DU/MOD "d-u-mod" MMS ( uq ud1 - ud2 ud3) Делит uq (64-битовое число без знака) на udl (число двойной длины без знака) и засылает остаток ud3 и частное ud4. DU< "d-u-less" "D-U-меньше" 83DBL 79DBL ( ud1 ud2 -- флаг) Сравнивает ud1 и ud2 (оба числа двойной длины без знака) и засылает в стек флаг истинно, если ud1 меньше ud2. DUMP "dump" 83CNT 79RES ТХТ MMS VAR (адр n --) Распечатывает содержимое n байтов памяти, начиная с адреса "адр". Каждая строка начинается с пропечатки адреса первого байта, в остальном все зависит от версии программы. (Приведенное описание предполагает наличие в стеке начального адреса и числа 16-байтовых строк, а не числа байтов. Это описание отображает байты в шестнадцатеричном представлении в ASCII-форме.) : DUMP ( адр n --) CR BASE @ >R HEX 16 * OVER + SWAP DO 10 TYPE 2 SPACES 16 0 DO I 4 MOD NOT IF SPACE THEN I J + С@ 0 TYPE SPACE LOOP CR 6 SPACES 16 0 DO I 4 MOD NOT IF SPACE THEN I J + C@ DUP 31 > OVER 127 < AND IF EMIT 2 SPACES ELSE DROP 3 SPACES THEN LOOP CR 16 +LOOP R> BASE ! ; DUP "dupe" "Задублировать" 83REQ 79REQ ( n - n n) Дублирует в стеке число одинарной длины n. Е "е" (for "edit") (для "EDIT") TXT MMS ( --) Редактирует блок, номер которого записан в SCR (обычно это блок, только что редактированный или выведенный на экран). ECARRAY "еrror-с-аrrау" TXT ( n--) Слово-описатель, создающее линейный массив (вектор) с байтовыми элементами. При использовании в форме n ECARRAY

формирует в словаре статью с именем и резервирует в памяти n+1 байт.


Содержание  Назад  Вперед