Внутри машинное представление «данных»
Из материала предыдущих глав следует, что для внутри машинного представления «данных» используются двоичные коды. Все типы «данных» закрепляются за определенными «форматами», которые в свою очередь являются наборами правил внутри машинного закрепления отдельных фрагментов «данных», таких как знаки чисел, знаки порядков чисел, значения самих чисел и их порядков и т. д.,- за фиксированными полями разрядных сеток.
Понятие внутри машинных «форматов данных» неразрывно связано с «типами» переменных, используемых в рамках конкретного языка программирования. Количество типов переменных в разных языках программирования различно, например, в языке СИ++ используется максимальное количество «типов» переменных – 16.
Основные «типы» переменных: символьные – формат «С», целые десятичные со знаком – формат «Р», целые двоичные со знаком – форматы «Н» и «F», числа, представленные в форме с плавающей запятой, – форматы «Е» и «D», – имеют представительство практически во всех языках программирования. Закрепление переменных, использующихся в программе, за конкретными «типами» или, с точки зрения внутри машинного представления «форматами данных», осуществляется при помощи специальных макрокоманд объявления данных «DECLARE» (сокращенно DCL), структура которых представлена на рис. 6.1.
|
|
При помощи макрокоманд «DECLARE» осуществляется не только закрепление переменных за «форматами» и «типами», но и закрепление конкретных участков основной памяти за переменными.
DCL [имя переменной] «формат» (атрибуты «формата»)
Рис. 6.1. Структура команды DECLARE
В результате выполнения оператора DECLARE операционная система осуществляет формирование таблицы «имен переменных» (табл. 6.1.).
Таблица 6.1
Таблица имен переменных
№ п/п | Имя переменной | Формат данных | Длина поля ОП, байт | Адрес младшего байта поля ОП, закрепленного за переменной |
В графе 5 находится адрес байта ОП, начиная с которого располагается непрерывная область памяти, закрепленная ОС за переменной с именем, которое указано в графе 2. В графе 4 в соответствии с закрепленным «форматом» указывается длина этой области в байтах. В соответствии с правилами разработки программ, все переменные, использующиеся в программе, должны быть объявлены при помощи оператора DCL и представлены в «таблице имен». Занесение имени переменной в «таблицу имен» фактически означает закрепление за ней определенной области памяти, в которой будет размещаться ее текущее значение. В том случае, если разработчик программы забудет пропустить какую-либо переменную, используемую в программе, через оператор DCL, ОС сама организует выполнение оператора DCL для этой переменной, назначит ей «формат» и поместит ее в «таблицу имен». Заполнение «таблицы имен» фактически соответствует процессу распределения реальной ОП между переменными в программе.