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




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Scene - интервью с группой Antares взятое на CAFe'2002.
Компьютерная новелла - Лазерная бригада (по игре Laser Squad).
Реклама - Реклама и объявления ...
Программирование - Несколько коротких и быстрых процедур: Плавающая стрелка, Турбо-лоадер, Скрин-сейвер RADUGA, Четыре волновых бегущих строчки как у RST7, Печать 16-битных чисел, 128 bytes intro.
Scene - interview: интервью с известным Московским кодером и музыкантов Titus/MKHG.

В этот день...   25 апреля