Описание и инициализация массива в программе

Массив — структурированный тип данных, состоящий из некоторого числа элементов одного типа.

Массивы

M записи.

Массивы

5)

4)

3)

2)

1)

Трансцендентные операции FPU

· Команда: FSIN
· Назначение: Синус

Вычисляет синус числа, находящегося в ST(0), и сохраняет результат в этом же регистре. Операнд считается заданным в радианах и не может быть больше 263 или меньше -263.

· Команда: FCOS
· Назначение: Косинус

Вычисляет косинус числа, находящегося в ST(0), и сохраняет результат в этом же регистре. Операнд считается заданным в радианах и не может быть больше 263 или меньше -263.

· Команда: FSINCOS
· Назначение: Синус и косинус

Вычисляет синус и косинус числа, находящегося в ST(0), помещает синус в ST(0) и затем помещает косинус в стек (так что синус оказывается в ST(1), косинус — в ST(0). Операнд считается заданным в радианах и не может быть больше 263 или меньше -263.

· Команда: FPTAN
· Назначение: Тангенс

Вычисляет тангенс числа, находящегося в регистре ST(0), заменяет его на вычисленное значение и затем помещает 1 в стек, так что результат оказывается в ST(1), ST(0) содержит 1. Операнд считается заданным в радианах и не может быть больше 263 или меньше -263.

· Команда: FPATAN
· Назначение: Арктангенс

Вычисляет арктангенс числа, получаемого при делении ST(1) на ST(0), сохраняет результат в ST(1) и выталкивает ST(0) из стека (помечает ST(0) как пустой).


Существующие базовые типы данных:

m Непосредственные данные, представляющие собой числовые или символьные значения, являющиеся частью команды.

m Данные, описываемые с помощью ограниченного набора директив резервирования памяти. При обработке этих директив ассемблер сохраняет информацию о местоположении данных и типе данных.

В язык ассемблера была введена возможность использования нескольких сложных типов данных. Они строятся на основе базовых типов данных.

TASM поддерживает следующие сложные типы данных:

m массивы;

m структуры;

m объединения;

 

Массив в программе можно моделировать одним из следующих способов:

1) перечислением элементов массива в поле операндов одной из директив описания данных. Например:

;массив из 5 элементов. Размер каждого элемента 4 байта:

mas dd 1,2,3,4,5 ; 00 00 00 01 00 00 00 02 00 00 00 04 00 00 00 05

 

2) используя оператор повторения dup. К примеру:

 

;массив из 5 нулевых элементов. Размер каждого элемента 2 байта:

mas dw 5 dup (0) ; 00 00 00 00 00 00 00 00 00 00

 

Такой способ определения используется для резервирования памяти с целью размещения и инициализации элементов массива;


3) используя директивы label и rept. Директива rept вызывает повторение указанного числа раз строк, заключенных между директивой и строкой endm. К примеру, определим массив байт в области памяти, обозначенной идентификатором mas_b. В данном случае директива label определяет символическое имя mas_b, но эта директива не резервирует память, а лишь определяет характеристики объекта. В данном случае объект — это ячейка памяти. Используя несколько директив label, записанных одна за другой, можно присвоить одной и той же области памяти разные имена и типы. Например:

...

n=0

...