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



         

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


Другие версии могут использовать слова с другим именем для реализации этой функции. Подробности в гл. 16. NFA "n-f-a" FIG VAR ( адр1 -- адр2) Исходный код адр1 - адрес поля параметров слова, в стек заносится адр2 - адрес поля имени этого слова. NIP "nip" ( n1 n2 -- n2) Ликвидирует второе сверху число в стеке. Эквивалентно : NIP SWAP DROP ; NOT "not" 83REQ 79REQ NOT описано совершенно по разному в Форт-83 и в Форт-79. Схема преобразования стека в Форт-83 имеет вид ( n1 -- n2) - где n2 - дополнение n1 по модулю один. То есть все биты n2 реверсированы по отношению к n1. Схема преобразования стека в Форт79 имеет вид ( флаг1 -- флаг2) где флаг1 имеет обратное значение истинности по отношению к флаг2. Описание в Форт-79 эквивалентно 0=, т.е. флаг истинно (не 0) будет преобразован в нуль, а флаг ложно (0) - во флаг истинно (1). NUMBER "number" 83UNC 79RES MMS Обычно ( адр - d) MMSFORTH (адр1 - n адр2) или (адр1 - d адр2) преобразует счетную строку с адресом адр в 32-разрядное целое число со знаком, при этом учитывается значение - BASE, результат заносится в стек. Если цифровое преобразование не возможно, дается сообщение об ошибке. Строка может содержать в начале знак минус. NUMBER в MMSFORTH засылает в стек число одинарной или двойной длины в зависимости от того, содержит ли строка код десятичной точки. Переменным НI# и #РТ присваиваются соответствующие значения, адр2 - адрес первого непреобразуемого символа. OCTAL "octal" 83CNT 79RES MMS ( --) Выбирает восьмеричную систему счисления для ввода-вывода. : OCTAL 8 BASE ! ; OR "OR" "ИЛИ" 83REQ 79REQ (n1 n2 --n3) Выполняет побитовую операцию ИЛИ над числами n1 и n2 и засылает результат в виде n3. Таким образом, каждый бит числа n1 сравнивается с соответствующим битом n2, и если один из них или оба равны 1, то соответствующий бит n3 будет равен 1; в противном случае этот бит будет равен 0. В двоичной форме 110 100 OR занесет в стек двоичное 110. См. также AND; XOR.


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