Текущая версия |
Ваш текст |
Строка 1: |
Строка 1: |
| '''2−''' (уменьшить на два, двойку вычесть, читается «два-минус») — фортовское слово [[Каллисто]]. Вычитание 2. | | '''2−''' (уменьшить на два, двойку вычесть, читается «два-минус») — стандартное слово [[Каллисто]]. Вычитание 2. |
| 2− ( x -- x1 ) Вычесть два. x1 ← x − 2 | | 2− ( x -- x1 ) Уменьшение на 2. x1 ← x − 2 |
| [[Файл:CallistoTwo.png|thumb|right|264px|Пример работы слова 2−]] | | [[Файл:CallistoTwo.png|thumb|right|264px|Пример работы слова 2−]] |
| Слово 2− уменьшает x на 2 и кладёт на [[Стек данных|стек]] результат x1.
| | Вычитает 2 из x и кладёт на [[Стек данных|стек]] результат x1. |
|
| |
|
| == Ввод слова 2− == | | == Ввод слова 2− == |
Строка 8: |
Строка 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]]
| |
|
| |
|
| == Ссылки == | | == Ссылки == |
| * {{Исходник|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://www.forth.com/starting-forth/sf5/sf5.html The Philosophy of Fixed Point] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''
| |
|
| |
|
|
| |
|
Строка 69: |
Строка 19: |
| [[Категория:Арифметические операции Каллисто]] | | [[Категория:Арифметические операции Каллисто]] |
| [[Категория:Одноместные операции Каллисто]] | | [[Категория:Одноместные операции Каллисто]] |
| | [[Категория:Описание бета-версии Каллисто]] |