Редактирование: Поле данных
Перейти к навигации
Перейти к поиску
Правка может быть отменена. Пожалуйста, просмотрите сравнение версий ниже, чтобы убедиться, что это нужная вам правка, и запишите страницу ниже, чтобы отменить правку.
Текущая версия | Ваш текст | ||
Строка 1: | Строка 1: | ||
'''Поле данных''' (англ. Data Field), оно же '''поле параметров''' (англ. Parameter Field) — | '''Поле данных''' (англ. Data Field), оно же '''поле параметров''' (англ. Parameter Field) — наиболее разнообразная часть [[Словарная статья|словарной статьи]], расположенная сразу после [[Поле кода|поля кода]]. Содержание ''поля данных'' уникально для каждого слова и сильно зависит от его обработчика, адрес которого находится в [[поле кода]]. Адрес ''поля данных'' называется [[PFA]] (от ''англ.'' Parameter Field Address). | ||
При [[EXECUTE|исполнении слова]] его ''поле данных'' интерпретируется обработчиком — ''поле данных'' передаётся обработчику, как в процедурных языках процедурам передаётся список параметров. Можно сказать, что ''поле параметров'' «настраивает» обработчик (который | При [[EXECUTE|исполнении слова]] его ''поле данных'' интерпретируется обработчиком — ''поле данных'' передаётся обработчику, как в процедурных языках процедурам передаётся список параметров. Можно сказать, что ''поле параметров'' «настраивает» обработчик (который часто используется повторно, для исполнения различных слов) под конкретное слово. | ||
Конечно, помимо ''поля данных'', на результат [[EXECUTE|исполнения слова]] (конкретного запуска обработчика) | Конечно, помимо ''поля данных'', на результат [[EXECUTE|исполнения слова]] (конкретного запуска обработчика) влияют аргументы, передаваемые через [[Стек данных|стек]], и многое другое. | ||
''Поле данных'' тесно связано с [[Поле кода|полем кода]] | ''Поле данных'' тесно связано с [[Поле кода|полем кода]]. Когда их проще объединить вместе, говорят о [[Тело словарной статьи|теле словарной статьи]] в противоположность её [[Заголовок словарной статьи|заголовку]] ([[поле имени]] и [[поле связи]]). | ||
== Поле данных примитива == | == Поле данных примитива == | ||
Обработчик [[примитив]]а написан на [[ЯМК]] и | Обработчик [[примитив]]а написан на [[ЯМК]] и находится в его ''поле данных''. В [[примитив]]е [[поле кода]] указывает на ''поле параметров'', то есть содержит [[PFA]]. | ||
== Поле данных | == Поле данных высокоуровневого слова == | ||
Слова высокого уровня определяются с помощью [[∶ (Каллисто)|:]] и компилируются в шитый код. Этот шитый код и располагается в ''поле данных''. | |||
''Шитый код'' исполняется адресным интерпретатором, поэтому поле кода высокоуровневого слова содержит адрес точки CALL адресного интерпретатора. | |||
== Поле данных целочисленной константы == | == Поле данных целочисленной константы == | ||
Целочисленную константу создаёт порождающее слово [[CONSTANT]]. | Целочисленную константу создаёт порождающее слово [[CONSTANT]]. Поле данных целочисленной константы занимает одну [[Ячейка (Каллисто)|ячейку]], в которую при создании целочисленной константы заносится её значение. | ||
== Поле данных целочисленной переменной == | == Поле данных целочисленной переменной == | ||
Целочисленные переменные создаются с помощью слова [[VARIABLE]]. Их поле данных занимает одну [[Ячейка (Каллисто)|ячейку]], которая хранит значение целочисленной переменной. | |||
== Поле данных десятичной переменной == | == Поле данных десятичной переменной == | ||
Десятичные переменные создаются с помощью слова [[VALUE]]. Поле параметров десятичной переменной состоит из одной [[Ячейка (Каллисто)|ячейки]], которая содержит номер [[Регистр десятичных данных|десятичного регистра]], соответствующего данной десятичной переменной. | |||
{{нет иллюстраций}} | {{нет иллюстраций}} | ||
{{заготовка}} | {{заготовка}} | ||
[[Категория:Каллисто]] | [[Категория:Каллисто]] |