2+: различия между версиями
Перейти к навигации
Перейти к поиску
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) |
||
(не показана 31 промежуточная версия этого же участника) | |||
Строка 1: | Строка 1: | ||
'''2+''' (два прибавить) — | '''2+''' (увеличить на два, два прибавить, читается «два-плюс») — фортовское слово [[Каллисто]]. Прибавление 2. | ||
2+ ( x -- x1 ) | 2+ ( x -- x1 ) Прибавить два. x1 ← x + 2 | ||
[[Файл:CallistoTwo.png|thumb|right|264px|Пример работы слова 2+]] | |||
Слово 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> | |||
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+ было [[примитив]]ом, вот его определение: | |||
<PRE> | |||
HEAD 202Q,'2',253Q,TWOP ; 2+ | |||
POP AX | |||
ADD AX, 2 | |||
PUSH AX | |||
NEXT | |||
</PRE> | |||
== Ссылки == | == Ссылки == | ||
* См. слова [[1+]] [[ | * {{Исходник|TwoPlus|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] ''(англ.)'' | |||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Слова Каллисто]] | [[Категория:Слова Каллисто]] | ||
[[Категория:Примитивы]] | |||
[[Категория:Арифметические операции Каллисто]] | [[Категория:Арифметические операции Каллисто]] | ||
[[Категория:Одноместные операции Каллисто]] | [[Категория:Одноместные операции Каллисто]] | ||
Текущая версия от 18:13, 13 ноября 2017
2+ (увеличить на два, два прибавить, читается «два-плюс») — фортовское слово Каллисто. Прибавление 2.
2+ ( x -- x1 ) Прибавить два. x1 ← x + 2
Слово 2+ увеличивает на 2 число, находящееся на вершине стека.
Ввод слова 2+[править]
В режиме NUM последовательно нажмите две белые клавиши 2 +
История[править]
Слово 2+ присутствовало в стандартах Форта до 1994 года. Слово 2+ просто в реализации и, несмотря на своё отсутствие в ANS Forth, по-прежнему присутствует в большинстве реализаций Форта.
Первое найденное упоминание о слове 2+ датируется 1979 годом. В отличии от Форта, каллистянское слово 2+ способно увеличивать на 2 не только целые, но и числа с плавающей запятой.
2+ в предыдущем стандарте Forth-83 (англ.)[править]
2+ w1 -- w2 79 "two-plus" w2 is the result of adding two to w1 according to the operation of + .
2+ в стандарте Forth-79 (англ.)[править]
2+ n -- n+2 135 "two-plus" Increment n by two, according to the operation of + .
2+ в fig-FORTH Release 1 glossary, май 1979 (англ.)[править]
2+ n1 --- n2 Leave n1 incremented by 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
Реализации из 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+ было примитивом, вот его определение:
HEAD 202Q,'2',253Q,TWOP ; 2+ POP AX ADD AX, 2 PUSH AX NEXT
Ссылки[править]
- Исходный текст слова 2+ в Каллисто Классик 1.0
- См. слова +, 1+, 2−, 2× и 2/
- См. также символ +
- ОПЕРАЦИИ НАД ЦЕЛЫМИ ЧИСЛАМИ в книге Л.Броуди «Начальный курс программирования на языке Форт»
- The Philosophy of Fixed Point в книге Leo Brodie Starting Forth (англ.)
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |