Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Програми на асемблері

Реферат Програми на асемблері





сі типу, якщо ж у цьому полі при описі типу коштує знак?, То дане поле не має ніякого початкового значення (поля m змінних dt2 і dt3).

Значення за умовчанням встановлюються для тих полів, які є однаковими для кількох змінних одного типу, наприклад, рік вступу на факультет однаковий для групи студентів. Будь-яка змінна може змінювати своє значення в процесі виконання програми і тому структура може не мати як значень за замовчуванням, так і початкових значень.

Відсутність початкового значення відзначається комою. Якщо відсутні початкові значення кількох останніх полів, то коми можна не ставити. Якщо відсутній значення першого поля або полів, розташованих в середині списку полів, то коми опускати не можна. Наприклад:

4 TData <1980,,> можна замінити на dt4 TData <1980>

dt5 TData <,,> не можна замінити на dt5 TData < 5>.


Якщо відсутні всі початкові значення, опускаються всі коми, але кутові дужки зберігаються: dt6 TData < >

При описі змінних, кожна змінна описується окремою змінною, але можна описати масив структур, для цього в директиві опису змінної вказується кілька операндів і (або) конструкція повторення DUP. Наприклад: dst TData <, 4, 1>, 25 DUP (<>)

Описано масив з 26 елементів типу Data, і перший елемент (перша структура) матиме початкові значення 2000, 4, 1, а всі інші 25 в якості початкових будуть мати значення, прийняті за замовчуванням: 2000, ?, 28. Адреса першої структури визначається ім'ям dst, другий - (dst + 4), третє - (dst + 8) і т.д

Працювати з полями структури можна так само, як з полями змінної комбінованого типу в мовах високого рівня: <ім'я змінної> . < ім'я поля>

Наприклад, dt1.y, dt2.m, dt3.d

Асемблер приписує імені типу та імені змінної розмір (тип), що дорівнює кількості байтів, займаних структурою

TData=type dt1=4


І це можна використовувати при програмуванні, наприклад, так:


; виконати побайтовую пересилку dt1 в dt2

mov CX, type TData; кількість повторень в CX

mov SI, 0; i=0

m: mov AL, byte ptr dt1 [si]; побайтовая пересилання

mov byte ptr dt2 [si], AL; dt1 в dt2inc SI; i=i +1 m;


використання byte ptr обов'язково, так як

Точка, зазначена при зверненні до полю, це оператор Асемблера, який обчислює адресу за формулою:


<адресний вираз> + <Зсув поля в структурі>


Тип отриманої адреси збігається з типом поля, тобто

(dt1.m)=type m=byte


Адресний вираз може бути будь-якої складності, наприклад:


1) mov AX, (dts +8). y

2) mov SI, 8

inc (dts [SI]). m; Aісп=(dts + [SI]). M=(dts + 8). M

3) lea BX, dt1

mov [BX]. d, 10; Aісп=[BX] + d=dt1.d

Зауваження:

type (dts [SI]). m=type (dts [SI]. m)=1, але

type dts [SI]. m=type dts=4



Назад | сторінка 26 з 29 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Анексія Криму, як можна вірішіті Конфлікт України с Россией чі можна его ві ...
  • Реферат на тему: Опісові композіційно-мовленнєві форми в творах Т. Прохаська &З цього можна ...
  • Реферат на тему: Типи ілюстрування значення слова в тлумачних словниках різного типу
  • Реферат на тему: Коли працювати можна менше ...
  • Реферат на тему: Початкові і невідкладні слідчі дії: поняття і криміналістичне значення