Редактирование: ++@
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''++@''' (читается «плюс-плюс- | '''++@''' (читается «плюс-плюс-присвоить») — родное слово [[Каллисто]]. Косвенное чтение с прединкрементом. | ||
++@ ( a −− x ) Косвенное чтение по указателю в a с предварительным автоувеличением | ++@ ( a −− x ) Косвенное чтение по указателю в a с предварительным автоувеличением | ||
(аналог КИП4..КИП6). | (аналог КИП4..КИП6). | ||
Обозначим буквой p переменную, [[Единое адресное пространство|адрес]] которой лежит на | Обозначим буквой p переменную, [[Единое адресное пространство|адрес]] которой лежит на стеке и равен a. Слово ++@ сперва увеличивает p на единицу, отбросив дробную часть. Потом считывает [[Ячейка (Каллисто)|ячейку]], расположенную по (новому) [[Единое адресное пространство|адресу]], находящемуся в обновившейся переменной p. | ||
Слово ++@ сперва увеличивает p на единицу, отбросив дробную часть. Потом считывает | |||
== Ввод слова ++@ == | == Ввод слова ++@ == | ||
Строка 13: | Строка 11: | ||
В отличии от команд КИП4…КИП6 слово ++@ позволяет организовать [[Косвенная адресация|косвенную адресацию]] с прединкрементом по любому [[Регистр десятичных данных|десятичному регистру]] (см. слово [[FVARIABLE]]) или двум последовательным [[Регистры байтовых данных|байтовым регистрам]] (см. слово [[VARIABLE]]). | В отличии от команд КИП4…КИП6 слово ++@ позволяет организовать [[Косвенная адресация|косвенную адресацию]] с прединкрементом по любому [[Регистр десятичных данных|десятичному регистру]] (см. слово [[FVARIABLE]]) или двум последовательным [[Регистры байтовых данных|байтовым регистрам]] (см. слово [[VARIABLE]]). | ||
== Ссылки == | == Ссылки == | ||
* {{Исходник|PlusPlusFetch|++@}} | * {{Исходник|PlusPlusFetch|++@}} | ||
* См. слова [[++!]], [[−−! | * См. слова [[++!]], [[−−!]], [[+!]] и [[Слово !|!]] | ||
* [https://ru.wikipedia.org/wiki/Инкремент Инкремент в Википедии] | * [https://ru.wikipedia.org/wiki/Инкремент Инкремент в Википедии] | ||