Редактирование: Слово @
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''@''' (разыменовать, взять | '''@''' (разыменовать, взять, читается «извлечь») — стандартное слово [[Каллисто]]. Замещает [[Единое адресное пространство|адрес]] в [[Стек данных|стеке]] его содержимым, cчитывая [[десятичное число]] или 16-битное целое со знаком. | ||
@ ( a -- x ) Извлечь. Считать значение ячейки по адресу a. | @ ( a -- x ) Извлечь. Считать значение ячейки по адресу a. | ||
[[Файл:CallistoBuildsDoes.png|thumb|right|264px|Пример работы слова @]] | [[Файл:CallistoBuildsDoes.png|thumb|right|264px|Пример работы слова @]] | ||
Строка 6: | Строка 6: | ||
== Ввод слова @ == | == Ввод слова @ == | ||
В [[Режим NUM|режиме NUM]] нажмите [[Клавиша ИП|чёрную клавишу {{Чёрная клавиша|ИП}}]] | В [[Режим NUM|режиме NUM]] нажмите [[Клавиша ИП|чёрную клавишу {{Чёрная клавиша|ИП}}]] | ||
== Детали реализации == | |||
Если a указывает на байтовую память (диапазоны 0…9999 и 11000…18167), из [[Ячейка (Каллисто)|двухбайтовой ячейки]] по [[Единое адресное пространство|адресам]] a и a+1 (старший и младший байт соответственно) считывается 16-битное [[Шестнадцатеричный формат|двоичное]] целое со знаком x (x меняется от -32768 до 32767). | |||
== @ и F@ в стандарте ANS Forth == | == @ и F@ в стандарте ANS Forth == | ||
Строка 36: | Строка 39: | ||
== Реализация == | == Реализация == | ||
Слово @ в ФОРТ-ЕС и FORTH ИТЭФ также было [[примитив]]ом. Вот описание и определение @ из ФОРТ-ЕС: | Слово @ в ФОРТ-ЕС и FORTH ИТЭФ также было [[примитив]]ом. Вот описание и определение @ из ФОРТ-ЕС: | ||
<PRE> | <PRE> | ||
Строка 113: | Строка 70: | ||
[[Категория:Одноместные операции Каллисто]] | [[Категория:Одноместные операции Каллисто]] | ||
[[Категория:Работа с памятью Каллисто]] | [[Категория:Работа с памятью Каллисто]] | ||