1+

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

1+ (увеличить, единицу прибавить, читается «один-плюс») — стандартное слово Каллисто. Прибавление 1.

1+             ( x -- x1 )                     Увеличить. x1 ← x + 1
Пример работы слова 1+

Слово 1+ добавляет к вершине стека число 1.

Ввод слова 1+[править]

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

1+ в стандарте ANS Forth[править]

6.1.0290   1+                               "one-plus"                     CORE
           ( n1|u1 -- n2|u2 )
           Прибавляет один(1) к n1|u1 возвращает сумму n2|u2.

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

В отличии от Форта, каллистянское слово 1+ способно увеличивать на 1 не только целые, но и числа с плавающей запятой.

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

     1+           w1 -- w2                      79          "one-plus"
          w2 is the result of adding one to w1 according to the
          operations of + .

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

1+             n -- n+1                      107         "one-plus"
    Increment n by one, according to the operation of + .

1+ в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]

1+            n1  ---  n2                      L1
       Increment n1 by l.

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

1269 ;               ∗∗ Арифметика ∗∗
1270 ;
1271 ;#OnePlus
1272 ; 1+               ( x −− x1 )                          Увеличить. x1 := x+1
1273 LONEP:          .DB     2
1274                 .TEXT   "1+"                    ; ( x −− x+1 )
1275                 .DW     LACCE
1276 ONEP:           .DW     JONEP                   ; Прибавление 1.
…
1286 JONEP:          1
1287 NONEP:          PKRM03 + PKM03  KGOTO9

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

\ ================================================================
\ Вычисления

CODE 1+ ( n1|u1 -- n2|u2 ) \ 94
\ Прибавить 1 к n1|u1 и получить сумму u2|n2.
     LEA EAX, 1 [EAX]
     RET
END-CODE
CODE F1+    \ *
       FLD1
       FADDP ST(1), ST
       RET
END-CODE

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

У Баранова-Ноздрунова определение слова 1+ выглядит так (стр. 70):

: 1+  ( A ---> A+1 )   1  +  ;

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

1+           W1->W2 УВЕЛИЧИТЬ W1 НА 1                          17

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

: 1+ ( W1->W2) 1 + ;

В FORTH ИТЭФ слово 1+ было примитивом, вот его определение:

   ;         ** Арифметика **

             HEAD    202Q,'1',253Q,ONEP                   ; 1+
             POP   AX
             INC   AX
             PUSH  AX
             NEXT

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


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