ZX-Ревю 1992 №7-8 1991 г.

40 лучших процедур - формат данных в "Спектруме".


Формат данных в "Спектруме"

Комментарий к стр. 43

Данные в "Спектруме" хранятся в виде переменных и массивов в специально выделенной для этого области памяти. Эта область начинается непосредственно за областью, в которой размешается текст БЕЙСИК-программы.

На начало области программных переменных указывает двухбайтная системная переменная VARS. Она расположена по адресу 23267 (5АЕ3Н).

Конец области программных переменных задан специальным маркером - это байт, значение которого равно 80H (128),

"Спектрум" различает несколько разных типов переменных. Это:

- обычная числовая переменная, имя которой состоит из одной буквы, например x;

- числовая переменная, имя которой состоит из более, чем одной буквы, например

row;

- числовой массив, например а(5) или b (3,3,40);

- переменные, управляющие циклами FOR. .. NEXT, например i;

- строковые переменные, например a$;

- строковые массивы, например b$(10,40);

Числовая переменная с именем из одной буквы.

Занимает 6 байтов. В первом байте хранится ее имя. В последующих пяти - ее значение в интегральной форме. Об интегральном представлений действительных чисел см. "Первые шаги в машинном коде". Первый байт имеет следующую раскладку:

0

1

1

б

у

к

в

а

На то, что это простая переменная указывает специфическое расположение первых трех битов.

Числовая переменная с именем более чем из одной буквы.

Ее первый байт имеет следующий формат:

1

0

1

б

у

к

в

а

Прочие байты имени (кроме последнего) имеют следующий формат

0

б

у

к

в

а

Последний байт имени:

1

б

у

к

в

а

За именем следуют 5 байтов для выражения самого числа в интегральной форме.

Числовой массив.

Первый байт:

1

0

0

б

у

к

в

а

Байты 2, 3 содержат полную длину всех элементов (по 5 байтов на каждый элемент массива) плюс по 2 байта на каждую размерность массива плюс один байт на указание количества размерностей, т. е. здесь содержится указание на конец массива. Байт 4 содержит размерность массива.

Байты 5,6 содержат количество элементов в первой измерении. Если размерность массива более чем 1, то:

Байты 7, 8 содержат количество элементов во втором измерении; и т. д.

После этого идут сами элементы массива по пять байтов на каждый элемент. Для многомерных массивов порядок следования данных следующий: b(1,1), b( 1,2), b( 1,3), b(2,1).....b(3,3)

Переменные цикла.

Первый байт:

1

1

1

б

у

к

в

а

Далее:

5 байтов - текущее значение; 5 байтов - конечное значение; 5 байтов - шаг;

2 байта - номер строки возврата;

1 байт - номер оператора в строке, к которому выполняется возврат.

Символьная переменная.

Первый байт:

0

1

0

б

у

к

в

а

Далее:

2 байта - длина строки. х байтов - текст строки.

Символьный массив.

Первый байт:

1

1

0

б

у

к

в

а

Далее:

2 байта - указание на конец массива;

1 байт - размерность;

2 байта - длина в первом измерении:

2 байта - длина в последнем измерении; Далее:

по одному байту на каждый элемент.

(С) ИНФОРКОМ, 1992




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Комната смеха - Виндоза - Source Code of Windows.
Видеоглобус - новости.
Club IM2 - Работа с прерываниями 2-го рода. (поезд из LASER B.)
Экстренный выпуск - подробная информация о предстоящем в Дзержинске демопати Di:Halt 1999.
Tutorials - под прессом прессы: "Когда тебя учат писать, рассказывая о литературных тонкостях и приемах, это отлично, это здорово! Когда у тебя кроме этих познаний нет ничего, нет базовых понятий, это куда хуже"

В этот день...   21 ноября