Редактирование: +!
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''+!''' ( | '''+!''' (добавить, читается «плюс-присвоить») — стандартное слово [[Каллисто]]. | ||
Добавляет к содержимому | Добавляет к содержимому ячейки с адресом a число n | ||
== Ввод слова +! == | == Ввод слова +! == | ||
Строка 7: | Строка 7: | ||
== +! в стандарте ANS Forth == | == +! в стандарте ANS Forth == | ||
6.1.0130 +! "plus-store" CORE | 6.1.0130 +! "plus-store" CORE | ||
( n|u a-addr -- ) | ( n|u a-addr -- ) | ||
Строка 13: | Строка 12: | ||
См.: 3.3.3.1 Выравнивание адреса. | См.: 3.3.3.1 Выравнивание адреса. | ||
== +! в предыдущем стандарте Forth-83 (англ.) == | |||
+! w1 addr -- 79 "plus-store" | +! w1 addr -- 79 "plus-store" | ||
w1 is added to the w value at addr using the convention for | w1 is added to the w value at addr using the convention for | ||
+ . This sum replaces the original value at addr. | + . This sum replaces the original value at addr. | ||
== +! в стандарте Forth-79 (англ.) == | |||
+! n addr -- 157 "plus-store" | +! n addr -- 157 "plus-store" | ||
Add n to the 16-bit value at the address, by the convention | Add n to the 16-bit value at the address, by the convention | ||
given for + . | given for + . | ||
== +! в fig-FORTH Release 1 glossary, май 1979 (англ.) == | |||
+! n addr --- L0 | +! n addr --- L0 | ||
Add n to the value at the address. | Add n to the value at the address. | ||
Pronounced "plus-store". | Pronounced "plus-store". | ||
== Реализация | == Реализация +! == | ||
У Баранова-Ноздрунова (стр. 22) и Юрия Семёнова (стр. 22) приводится следующее описание слова +!: | |||
У Баранова-Ноздрунова (стр. 22) и Юрия Семёнова (стр. 22) приводится следующее | |||
: +! ( N,A ---> ) ( в стеке n ADR ) | : +! ( N,A ---> ) ( в стеке n ADR ) | ||
↑ ( n ADR ADR ) | ↑ ( n ADR ADR ) | ||
Строка 76: | Строка 37: | ||
↔ ( [ADR]+n ADR ) | ↔ ( [ADR]+n ADR ) | ||
! ; ( запись результата по адресу, хранящемуся стеке) | ! ; ( запись результата по адресу, хранящемуся стеке) | ||
== Ссылки == | == Ссылки == | ||
* См. слова [[Слово +|+]], [[Слово !|!]] и [[TOGGLE]] | * См. слова [[Слово +|+]], [[Слово !|!]] и [[TOGGLE]] | ||
* Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0130 +! (plus-store)] в стандарте ANS Forth ''(англ.)'' | * Слово [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0130 +! (plus-store)] в стандарте ANS Forth ''(англ.)'' | ||
* Слово [http:// | * Слово [http://www.forth200x.org/documents/html3/core/PlusStore.html +! (plus-store)] в черновике Forth 200x ''(англ.)'' | ||
* [https://en.wikipedia.org/wiki/Augmented_assignment Augmented assignment в английской Википедии] ''(англ.)'' | * [https://en.wikipedia.org/wiki/Augmented_assignment Augmented assignment в английской Википедии] ''(англ.)'' | ||
* [http://www.forth.com/starting-forth/sf8/sf8.html Variables, Constants, and Arrays] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | * [http://www.forth.com/starting-forth/sf8/sf8.html Variables, Constants, and Arrays] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)'' | ||
Строка 111: | Строка 52: | ||
[[Категория:Арифметические операции Каллисто]] | [[Категория:Арифметические операции Каллисто]] | ||
[[Категория:Работа с памятью Каллисто]] | [[Категория:Работа с памятью Каллисто]] | ||
[[Категория: | [[Категория:Слова Каллисто без стековых диаграмм]] | ||