2−: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) |
AtH (обсуждение | вклад) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
'''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−]] | ||
Строка 22: | Строка 22: | ||
== Реализация == | == Реализация == | ||
<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− в ядре ФОРТ-ЕС: | Определение слова 2− в ядре ФОРТ-ЕС: | ||
<PRE> | <PRE> |
Текущая версия от 18:14, 13 ноября 2017
2− (уменьшить на два, двойку вычесть, читается «два-минус») — фортовское слово Каллисто. Вычитание 2.
2− ( x -- x1 ) Вычесть два. x1 ← x − 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
Ссылки[править]
- Исходный текст слова 2− в Каллисто Классик 1.0
- См. слова −, 2+, 1−, 2× и 2/
- См. символ −
- ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Philosophy of Fixed Point в книге Leo Brodie Starting Forth (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |