Редактирование: Поле данных

Перейти к навигации Перейти к поиску
Внимание: Вы не вошли в систему. Ваш IP-адрес будет общедоступен, если вы запишете какие-либо изменения. Если вы войдёте или создадите учётную запись, её имя будет использоваться вместо IP-адреса, наряду с другими преимуществами.

Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.

Текущая версия Ваш текст
Строка 1: Строка 1:
'''Поле данных''' (англ. Data Field), оно же '''поле параметров''' (англ. Parameter Field) — основная и наиболее разнообразная часть [[Словарная статья|словарной статьи]], расположенная сразу после [[Поле кода|поля кода]]. Содержание ''поля данных'' уникально для каждого слова и сильно зависит от его обработчика, адрес которого находится в [[поле кода]]. Адрес ''поля данных'' называется [[PFA]] (от ''англ.'' Parameter Field Address). ''Поле данных'' имеет переменную длину, установить которую в общем случае можно, лишь зная адрес следующей [[Словарная статья|словарной статьи]].
'''Поле данных''' (англ. Data Field), оно же '''поле параметров''' (англ. Parameter Field) — наименее формализованная часть [[Словарная статья|словарной статьи]], расположенная сразу после [[Поле кода|поля кода]]. Содержание ''поля данных'' уникально для каждого слова и сильно зависит от обработчика, на который указывает [[поле кода]].


При [[EXECUTE|исполнении слова]] его ''поле данных'' интерпретируется обработчиком — ''поле данных'' передаётся обработчику, как в процедурных языках процедурам передаётся список параметров. Можно сказать, что ''поле параметров'' «настраивает» обработчик (который в большинстве случаев используется повторно, для исполнения различных слов) под конкретное слово. Если по каким-то причинам такая настройка обработчику не требуется, ''поле данных'' может отсутствовать.
При исполнении слова его обработчик интерпретирует поле данных. Можно сказать, что поле параметров «настраивает» обработчик (который используется для исполнение различных слов) под конкретное слово.


Конечно, помимо ''поля данных'', на результат [[EXECUTE|исполнения слова]] (конкретного запуска обработчика) также могут влиять аргументы, передаваемые более традиционно (через [[Стек данных|стек]]), [[VARIABLE|глобальные переменные]] и многое другое.
''Поле данных'' тесно связано с [[Поле кода|полем кода]], задающим его обработчик. Когда их проще объединить вместе, говорят о [[Тело словарной статьи|теле словарной статьи]] в противоположность её [[Заголовок словарной статьи|заголовку]] ([[поле имени]] и [[поле связи]]).


== Поле данных примитива ==
== Поле данных примитива ==
Обработчик [[примитив]]а написан на [[ЯМК]] и обычно находится в его ''поле данных''. В этом наиболее типичном случае [[поле кода]] [[примитив]]а указывает на его ''поле параметров'', то есть содержит [[PFA]].
Примитив — слово [[Каллисто]], написанное на [[ЯМК]].
 
== Поле данных слов высокого уровня ==
Высокоуровневые слова определяются с помощью [[Слово :|двоеточия]] и компилируются в [[шитый код]]. Этот [[шитый код]] состоит из последовательности [[xt|токенов]] других слов [[Каллисто]] (как высокого уровня, так и [[примитив]]ов) и располагается в ''поле данных''.
 
[[Шитый код]] исполняется адресным интерпретатором, поэтому [[поле кода]] высокоуровневого слова содержит адрес точки CALL адресного интерпретатора.
 
== Поле данных целочисленной константы ==
Целочисленную константу создаёт порождающее слово [[CONSTANT]]. ''Поле данных'' целочисленной константы занимает одну [[Ячейка (Каллисто)|ячейку]], в которую при создании целочисленной константы заносится её значение.
 
== Поле данных целочисленной переменной ==
Целочисленную переменную создаёт порождающее слова [[VARIABLE]]. Её ''поле данных'' представляет собой одну [[Ячейка (Каллисто)|ячейку]], содержащую значение этой переменной.


== Поле данных десятичной переменной ==
Поле данных [[примитив]]а содержит его обработчик, написанный на [[ЯМК]]. В примитиве [[поле кода]] указывает на поле данных, то есть содержит [[PFA]].
Десятичную переменную создаёт порождающее слова [[VALUE]]. ''Поле параметров'' десятичной переменной состоит из одной [[Ячейка (Каллисто)|ячейки]] с номером [[Регистр десятичных данных|десятичного регистра]], соответствующего данной десятичной переменной.


{{Поля словарной статьи}}


{{нет иллюстраций}}
{{нет иллюстраций}}
{{заготовка}}
{{заготовка}}
[[Категория:Каллисто]]
[[Категория:Каллисто]]
Пожалуйста, учтите, что любой ваш вклад в проект «ПМК вики» может быть отредактирован или удалён другими участниками. Если вы не хотите, чтобы кто-либо изменял ваши тексты, не помещайте их сюда.
Вы также подтверждаете, что являетесь автором вносимых дополнений, или скопировали их из источника, допускающего свободное распространение и изменение своего содержимого (см. Pmkwiki:Авторские права). НЕ РАЗМЕЩАЙТЕ БЕЗ РАЗРЕШЕНИЯ ОХРАНЯЕМЫЕ АВТОРСКИМ ПРАВОМ МАТЕРИАЛЫ!

В целях защиты вики от автоматического спама в правках просим вас решить следующую каптчу:

Отменить Справка по редактированию (в новом окне)