2−

Материал из ПМК вики
Перейти к навигации Перейти к поиску

2− (уменьшить на два, двойку вычесть, читается «два-минус») — фортовское слово Каллисто. Вычитание 2.

2−             ( x -- x1 )                     Вычесть два. x1 ← x − 2
Пример работы слова 2−

Слово 2− уменьшает x на 2 и кладёт на стек результат x1.

Ввод слова 2−[править]

В режиме NUM последовательно нажмите две белые клавиши  2    

История[править]

Слово 2− присутствовало в Форте-83, но убрано из стандарта ANS и из черновика Форта-2012. Несмотря на это, простое в реализации слово 2− по-прежнему присутствует в большинстве версий Форта. В некоторых старых Фортах роль слова 2− выполняло слово BODY>

Каллистянское слово 2− способно уменьшать на 2 не только целые, но и числа с плавающей запятой.

2− в предыдущем стандарте Forth-83 (англ.)[править]

         2-           w1 -- w2                      79        "two-minus"
              w2 is the result of subtracting two from w1 according to the
              operation of - .

2− в стандарте Forth-79 (англ.)[править]

2-             n -- n-2                      129        "two-minus"
    Decrement n by two, according to the operation of - .

Реализация[править]

1287 NONEP:          PKRM03 + PKM03  KGOTO9
…
1289 JTWOM:          2 +/−  GOTO NONEP
…
1322 ;#TwoMinus
1323 ; 2−               ( x −− x1 )                          Вычесть два. x1 := x−2
1324 LFDIV2:         .DB     2
1325                 .TEXT   "2−"                    ; ( x −− x−2 )
1326                 .DW     LDIV2
1327 TWOM:           .DW     JTWOM                   ; Вычитание 2.

Реализации из SP-Forth 4.20:

CODE 2- ( W -> W-2 )
     LEA EAX, -2 [EAX]
     RET
END-CODE
…
: 2- 2 - ;

Советская реализация[править]

Определение слова 2− в ядре ФОРТ-ЕС:

2-           W1->W2 УМЕНЬШИТЬ W1 НА 2                          17

                     Экран номер 17
( 31.03.86   NEGATE ABS + - 1+ 1- 2+ 2- +!  1+!  )

: 2- ( W1->W2)  2 - ;

В FORTH ИТЭФ роль слова 2− выполнял примитив CFA

Ссылки[править]


  Stub-icon-48px.png Это заготовка статьи. Вы можете помочь проекту, дополнив её.