2−: различия между версиями

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


== Ввод слова 2− ==
== Ввод слова 2− ==
Строка 7: Строка 8:


== История ==
== История ==
Слово 2− присутствовало в Форте-83, но убрано из стандарта ANS и из черновика Форта-2012. Несмотря на это, простое в реализации слово 2− по-прежнему присутствует в большинстве версий Форта. В некоторых старых Фортах роль слова 2− выполняло слово [[BODY⟩|BODY>]]
Каллистянское слово 2− способно уменьшать на 2 не только целые, но и числа с плавающей запятой.
Каллистянское слово 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 - .
== Реализация ==
<pre>
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− в ядре ФОРТ-ЕС:
<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]]


== Ссылки ==
== Ссылки ==
* См. слова [[2+]] [[BODY〉|BODY&gt;]]
* {{Исходник|TwoMinus|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://www.forth.com/starting-forth/sf5/sf5.html The Philosophy of Fixed Point] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''




{{нет иллюстраций}}
{{заготовка}}
{{заготовка}}
[[Категория:Слова Каллисто]]
[[Категория:Слова Каллисто]]
[[Категория:Примитивы]]
[[Категория:Арифметические операции Каллисто]]
[[Категория:Арифметические операции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Одноместные операции Каллисто]]
[[Категория:Описание бета-версии Каллисто]]

Текущая версия от 18:14, 13 ноября 2017

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

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


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