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

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





-------

M1: MOV AX, CX

---------/-----------


Зауваження: команда, наступна за командою безумовної передачі керування, повинна мати мітку, інакше до неї не можна буде повернутися.

До командам безумовної передачі даних відносяться команди звернення до підпрограм, процедурам, і повернення з них. Процедура обов'язково має тип дальності і за замовчуванням тип процедури - NEAR, а FAR необхідно вказувати явно.

Proc FAR

-----/-------

PP endp

Процедура типу NEAR може бути викликана тільки з того кодового сегмента, в якому міститься її опис. Процедура типу FAR Може бути викликана з будь-якого сегмента. Тому тип виклику процедури (дальність) визначається наступним чином: головна програма завжди має тип FAR, т.к. звертаються до неї з ОС або відладчика, якщо процедур кілька, і вони містяться в одному кодовому сегменті, то всі інші, крім головної, мають тип NEAR (приклад 1). Якщо процедура описана в кодовому сегменті з іншим ім'ям, то у неї повинен бути тип FARі повинні бути використані директиви зовнішніх посилань (приклад 2).



Команда виклику процедури або підпрограми має вигляд: CALL <ім'я> ;

Адресація може бути використана як пряма, так і непряма. При зверненні до процедури типу NEAR в стеку зберігається адреса повернення, адресу команди, наступної за CALL, міститься в IP або EIP. При зверненні до процедури типу FAR в стеку зберігається повний адресу повернення CS: EIP. Повернення з процедури реалізується за допомогою команди RET Вона може мати один з наступних видів:

RET [n]; повернення з процедури типу NEAR, і з процедури типу FAR

RETN [n]; повернення лише з процедури типу NEAR

RETF [n]; повернення лише з процедури типу FAR.

Параметр n є необов'язковим, він визначає яка кількість байтів видаляється з стека після повернення з процедури.

Приклади прямого і непрямого переходу



У третьому випадку відбудеться помилка, якщо тип мітки, на яку передається керування, описаний нижче по тексту програми., тобто спочатку має бути опис, а потім використання.

Команди умовної передачі управління

Команди умовної передачі управління можна розділити на 3 групи:

команди, використовувані після команд порівняння

команди, використовувані після команд, відмінних від команд порівняння, але реагують на значення прапорів


JZ / JNZ

JC / JNC

JO / JNO

JS / JNS / JNP


команди, що реагують на початкове значення регістра CX.

У загальному вигляді команду умовної передачі управління можна записати так: <ім'я> Jx <мітка> ; <Коментар>

Тут х - це одна, дві, чи три букви визначають умови передачі управління. Мітка, зазначена в полі операнда, повинна відстояти від команди не далі ніж - 128? +127 Байт.

Приклади:

M1; передача управління на команду з міткою М1, якщо ZF=1

<...


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





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

  • Реферат на тему: Штучний інтелект: чи може машина бути розумною?
  • Реферат на тему: Як бути, якщо контрагент за договором - нерезидент?
  • Реферат на тему: Мова SMS - що це таке. Бути чи не бути йому в нашому житті
  • Реферат на тему: Яка виборча система повинна бути в Україні
  • Реферат на тему: Учитель XXI століття. Яким він повинен бути ...