Редактирование: 2+

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 1: Строка 1:
'''2+''' (увеличить на два, два прибавить, читается «два-плюс») — фортовское слово [[Каллисто]]. Прибавление 2.
'''2+''' (два прибавить) — стандартное слово [[Каллисто]]. Прибавление 2.
  2+            ( x -- x1 )                     Прибавить два. x1 ← x + 2
  2+            ( x -- x1 )
[[Файл:CallistoTwo.png|thumb|right|264px|Пример работы слова 2+]]
Прибавляет 2 к x, а результат x1 заносит в [[Стек данных|стек]].
Слово 2+ увеличивает на 2 число, находящееся на вершине [[Стек данных|стека]].


== Ввод слова 2+ ==
== Ввод слова 2+ ==
В [[Режим NUM|режиме NUM]] последовательно нажмите две белые клавиши [[Клавиша 2|{{Серая клавиша|2}}]] [[Клавиша +|{{Серая клавиша|+}}]]
В [[Режим NUM|режиме NUM]] последовательно нажмите две белые клавиши [[Клавиша 2|{{Серая клавиша|2}}]] [[Клавиша +|{{Серая клавиша|+}}]]


== История ==
== 2+ в предыдущем стандарте Forth-83 (англ.) ==
Слово 2+ присутствовало в стандартах Форта до 1994 года. Слово 2+ просто в реализации и, несмотря на своё отсутствие в ANS Forth, по-прежнему присутствует в большинстве реализаций Форта.
 
Первое найденное упоминание о слове 2+ датируется 1979 годом. В отличии от Форта, каллистянское слово 2+ способно увеличивать на 2 не только целые, но и числа с плавающей запятой.
 
=== 2+ в предыдущем стандарте Forth-83 (англ.) ===
       2+          w1 -- w2                      79          "two-plus"
       2+          w1 -- w2                      79          "two-plus"
           w2 is the result of adding two to w1 according to the
           w2 is the result of adding two to w1 according to the
           operation of + .
           operation of + .


=== 2+ в стандарте Forth-79 (англ.) ===
 
== 2+ в стандарте Forth-79 (англ.) ==
  2+            n -- n+2                      135        "two-plus"
  2+            n -- n+2                      135        "two-plus"
     Increment n by two, according to the operation of + .
     Increment n by two, according to the operation of + .


=== 2+ в fig-FORTH Release 1 glossary, май 1979 (англ.) ===
 
== 2+ в fig-FORTH Release 1 glossary, май 1979 (англ.) ==
  2+            n1  ---  n2
  2+            n1  ---  n2
         Leave n1 incremented by 2.
         Leave n1 incremented by 2.


== Реализация ==
== История ==
<pre>
Слово 2+ присутствовало в Форте-83, но убрано из стандартов ANS и из черновика Форта-2012. Несмотря на это, 2+ по-прежнему присутствует в большинстве реализаций Форта.
1278 ;#TwoPlus
1279 ; 2+               ( x −− x1 )                          Прибавить два. x1 := x+2
1280 LTWOP:          .DB    2
1281                .TEXT  "2+"                    ; ( x −− x+2 )
1282                .DW    LONEP
1283 TWOP:          .DW    JTWOP                  ; Прибавление 2.
1284 JTWOP:          2
1285                .DB 59H                        ; FX>=0 aka пропустить 1 байт
1286 JONEP:          1
1287 NONEP:          PKRM03 + PKM03  KGOTO9
</pre>
Реализации из SP-Forth 4.20:
<pre>
CODE 2+ ( W -> W+2 )
    LEA EAX, 2 [EAX]
    RET
END-CODE
: 2+ 2 + ;
</pre>
 
=== Советская реализация ===
Описание и определение слова 2+ в ядре ФОРТ-ЕС:
<PRE>
2+          W1->W2 УВЕЛИЧИТЬ W1 НА 2                          17
 
                    Экран номер 17
( 31.03.86  NEGATE ABS + - 1+ 1- 2+ 2- +!  1+!  )
 
: 2+ ( W1->W2)  2 + ;
</PRE>


В FORTH ИТЭФ слово 2+ было [[примитив]]ом, вот его определение:
Каллистянское слово 2+ способно увеличивать на 2 не только целые, но и числа с плавающей запятой.
<PRE>
            HEAD    202Q,'2',253Q,TWOP                  ; 2+
            POP  AX
            ADD  AX, 2
            PUSH  AX
            NEXT
</PRE>


== Ссылки ==
== Ссылки ==
* {{Исходник|TwoPlus|2+}}
* См. слова [[1+]] [[BODY〉|BODY&gt;]] [[2×]] [[]] [[2/]]
* См. слова [[Слово +|+]], [[1+]], [[2−]], [[2×]] и [[2/]]
* См. также [[символ +]]
* [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH\05.OPERAZII%20NAD%20ZELYMI%20TISLAMI ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ] в книге [http://gudleifr.h1.ru/cgi-bin/pilo.cgi?FL=../g9.txt&IS=\6.PERWOISTOTNIKI\LEO%20BRODIE%20STARTING%20FORTH Л.Броуди «Начальный курс программирования на языке Форт»]
* [http://www.forth.com/starting-forth/sf5/sf5.html The Philosophy of Fixed Point] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''




{{нет иллюстраций}}
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Арифметические операции Каллисто]]
[[Категория:Арифметические операции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Описание бета-версии Каллисто]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)
Источник — https://pmk.the-hacker.ru/2%2B