++@: различия между версиями
AtH (обсуждение | вклад) Нет описания правки |
AtH (обсуждение | вклад) (→Ссылки) |
||
Строка 16: | Строка 16: | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|PlusPlusFetch|++@}} | * {{Исходник|PlusPlusFetch|++@}} | ||
* См. слова [[++!]], [[−−!]], [[+!]] и [[Слово !|!]] | * См. слова [[++!]], [[−−!]], [[−−@]], [[+!]] и [[Слово !|!]] | ||
* [https://ru.wikipedia.org/wiki/Инкремент Инкремент в Википедии] | * [https://ru.wikipedia.org/wiki/Инкремент Инкремент в Википедии] | ||
Версия от 08:03, 28 июня 2016
++@ (читается «плюс-плюс-извлечь») — родное слово Каллисто. Косвенное чтение с прединкрементом.
++@ ( a −− x ) Косвенное чтение по указателю в a с предварительным автоувеличением (аналог КИП4..КИП6).
Обозначим буквой p переменную, адрес которой лежит на стеке и равен a. Это может быть настоящая переменная, созданная словом VARIABLE или FVARIABLE. Такие переменные называются указателями, т.к. их содержимое указывает на адрес памяти, к которому будет производиться обращение.
Слово ++@ сперва увеличивает p на единицу, отбросив дробную часть. Потом считывает адресную единицу (десятичное число или байт), расположенный по (новому) адресу, находящемуся в обновившейся переменной p.
Ввод слова ++@
В режиме NUM последовательно нажмите три клавиши + + ИП
История
Слово ++@ является каллистянским аналогом команд ПМК КИП4, КИП5 и КИП6 — которые производили запись по косвенной адресации с прединкрементом регистров 4, 5 и 6.
В отличии от команд КИП4…КИП6 слово ++@ позволяет организовать косвенную адресацию с прединкрементом по любому десятичному регистру (см. слово FVARIABLE) или двум последовательным байтовым регистрам (см. слово VARIABLE).
Ссылки
- Исходный текст слова ++@ в Каллисто Классик 1.0
- См. слова ++!, −−!, −−@, +! и !
- Инкремент в Википедии
У этой статьи нет иллюстраций. Вы можете помочь проекту, добавив их. |
Это заготовка статьи. Вы можете помочь проекту, дополнив её. |