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

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

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

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


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


== История ==
== 2− в предыдущем стандарте Forth-83 (англ.) ==
Слово 2− присутствовало в Форте-83, но убрано из стандарта ANS и из черновика Форта-2012. Несмотря на это, простое в реализации слово 2− по-прежнему присутствует в большинстве версий Форта. В некоторых старых Фортах роль слова 2− выполняло слово [[BODY⟩|BODY>]]
 
Каллистянское слово 2− способно уменьшать на 2 не только целые, но и числа с плавающей запятой.
 
=== 2− в предыдущем стандарте Forth-83 (англ.) ===
           2-          w1 -- w2                      79        "two-minus"
           2-          w1 -- w2                      79        "two-minus"
               w2 is the result of subtracting two from w1 according to the
               w2 is the result of subtracting two from w1 according to the
               operation of - .
               operation of - .


=== 2− в стандарте Forth-79 (англ.) ===
== 2− в стандарте Forth-79 (англ.) ==
  2-            n -- n-2                      129        "two-minus"
  2-            n -- n-2                      129        "two-minus"
     Decrement n by two, according to the operation of - .
     Decrement n by two, according to the operation of - .


== Реализация ==
== История ==
<pre>
Слово 2− присутствовало в Форте-83, но убрано из стандартов ANS и из черновика Форта-2012. Несмотря на это, 2− по-прежнему присутствует в большинстве реализаций Форта. В некоторых старых Фортах роль слова 2− выполняло слово [[BODY⟩|BODY&gt;]]
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.
</pre>
Реализации из SP-Forth 4.20:
<pre>
CODE 2- ( W -> W-2 )
    LEA EAX, -2 [EAX]
    RET
END-CODE
: 2- 2 - ;
</pre>


=== Советская реализация ===
Каллистянское слово 2− способно уменьшать на 2 не только целые, но и числа с плавающей запятой.
Определение слова 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− выполнял [[примитив]] [[BODY⟩|CFA]]


== Ссылки ==
== Ссылки ==
* {{Исходник|TwoMinus|2−}}
* См. слова [[Слово −|−]], [[2+]], [[1−]], [[2×]] и [[2/]]
* См. слова [[Слово −|−]], [[2+]], [[1−]], [[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://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] ''(англ.)''




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

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

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