Слово @: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
Строка 40: Строка 40:
* Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0650 @ (fetch)] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1472 F@ (f-fetch)] в стандарте ANS Forth ''(англ.)''
* Слова [http://forth.sourceforge.net/standard/dpans/dpans6.htm#6.1.0650 @ (fetch)] и [http://forth.sourceforge.net/standard/dpans/dpans12.htm#12.6.1.1472 F@ (f-fetch)] в стандарте ANS Forth ''(англ.)''
* Слова [http://www.forth200x.org/documents/html3/core/Fetch.html @ (fetch)] и [http://www.forth200x.org/documents/html3/floating/FFetch.html F@ (f-fetch)] в черновике Forth 200x ''(англ.)''
* Слова [http://www.forth200x.org/documents/html3/core/Fetch.html @ (fetch)] и [http://www.forth200x.org/documents/html3/floating/FFetch.html F@ (f-fetch)] в черновике Forth 200x ''(англ.)''
* [http://www.forth.com/starting-forth/sf8/sf8.html Variables, Constants, and Arrays] в книге [http://www.forth.com/starting-forth/ Leo Brodie Starting Forth] ''(англ.)''





Версия от 06:08, 25 марта 2016

@ (разыменовать, взять, читается «извлечь») — стандартное слово Каллисто. Замещает адрес в стеке его содержимым, cчитывая десятичное число или 16-битное целое со знаком.

@              ( a -- x )                      Извлечь. Считать значение ячейки по адресу a.
Пример работы слова @

Заносит в стек число x, хранящееся в ячейке по адреcу a.

Если a указывает на байтовую память (диапазоны 0…9999 и 11000…18167), из двухбайтовой ячейки по адресам a и a+1 (старший и младший байт соответственно) считывается 16-битное двоичное целое со знаком x (x меняется от -32768 до 32767).

Ввод слова @

В режиме NUM нажмите чёрную клавишу  ИП 

@ в стандарте ANS Forth

6.1.0650   @                                  "fetch"                      CORE
           ( a-addr -- x )
           x - значение, сохраненное в a-addr.
       См.: 3.3.3.1 Выравнивание адреса.

F@ в стандарте ANS Forth

12.6.1.1472   F@                      "f-fetch"                        FLOATING
           ( f-addr -- ) ( F: -- r )  or  ( f-addr -- r )
           r - значение, сохраненное в f-addr.

@ в предыдущем стандарте Forth-83 (англ.)

     @            addr -- 16b                   79             "fetch"
          16b is the value at addr.

@ в стандарте Forth-79 (англ.)

@              addr -- n                     199            "fetch"
    Leave on the stack the number contained at addr.

@ в fig-FORTH Release 1 glossary, май 1979 (англ.)

@           addr  ---  n                       L0
       Leave the 16 bit contents of address.

История

В 1968 году Чак Мур работал в Mohasco Industries, Inc (Amsterdam NY, англ.). Первая версия интерпретатора, получившая название FORTH, заработала на миникомпьютере IBM 1130 с графическим дисплеем 2250 (16-битный процессор с ОЗУ 8К, дисководом, клавиатурой, принтером и ридером/панчером перфокарт). Первый FORTH знал слово @

Ссылки


  Это заготовка статьи. Вы можете помочь проекту, дополнив её.