Графічний інтерфейс користувача | Команди пересилання даних | Команди цілочисельний арифметики | Команди передачі управління | командні переривання | Команди для роботи зі стеком | Ключові слова | імена користувача | Директива MODEL | Директиви спрощеного визначення сегментів |

загрузка...
загрузка...
На головну

Директиви опису процедури

  1. II. Виконання процедури.
  2. II. виконання процедури
  3. III. завершення процедури
  4. III. закінчення процедури
  5. III. закінчення процедури
  6. III. закінчення процедури
  7. III. закінчення процедури

Процедура є послідовність команд, що виконують в програмі деяку певну функцію. Якщо процедура містить команду RET, то вона є підпрограмою. Початок процедури відзначається директивою PROC, кінець - ENDP.

формат: <ім'я> PROC [тип]

<Ім'я> ENDP

Директиви позначені одним і тим же ім'ям, яке є ім'ям процедури. Необов'язковий параметр [тип] при програмуванні для захищеного режиму може приймати тільки значення NEAR (ближня). Тип NEAR використовується за умовчанням і означає, що до процедури можна звернутися з поточного програмного сегмента, а цей сегмент єдиний.

 2.6.6. Директиви визначення даних

Прості типи даних на мові асемблера описуються директивами DB, DW, DD, DQ, DT. Вміст осередків пам'яті визначається або резервується як послідовність байтів, слів, подвійних слів, слів чотирикратної довжини і послідовності десятібайтних ділянок пам'яті. Для розуміння способу передачі даних функцій API найбільше значення має один з варіантів опису складних структур даних, що реалізується за допомогою директиви STRUC. Структури є шаблонами іменованих змінних, що містять в собі інші змінні різних типів, іменованих полями. Формат директиви в режимі IDEAL:

STRUC <ім'я>

в режимі MASM:

<Ім'я> STRUC

Потім йде опис полів за допомогою директив визначення простих типів даних. Після опису останнього поля структури слід директива ENDS. У режимі IDEAL в цій директиві можна вказати ім'я структури, в режимі MASM формат директиви: <ім'я> ENDS.

Структура не є змінною. Директиви DB, DW і інші, за допомогою яких визначаються поля структури, які не резервують пам'яті і нічого не записують в код програми. Для використання структури необхідно в сегменті даних програми зарезервувати місце під її поля. Робиться це в такий спосіб. Кожен опис змінної типу "структура" починається з імені, за яким слідує тип (ім'я) структури, потім в кутових дужках слід список початкового значення полів. Щоб використовувати початкові значення полів, певні при описі структури, дужки треба залишити порожніми. Наприклад: в описі сегмента даних нашої програми є рядок

wc WNDCLASS .

Це означає, що ми використовуємо змінну wc типу структури WNDCLASS, поля якої не визначені і будуть заповнюватися в процесі виконання програми. Сама структура визначена в файлі win32.inc, який включається в програми на стадії компіляції.



Директиви визначення сегментів і груп | макрозасоби
загрузка...
© um.co.ua - учбові матеріали та реферати