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

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





p align="justify"> JNE M2; передача управління на команду з міткою М2, якщо ZF=0

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

JNC M4; передача управління на команду з міткою М4, якщо CF=0

ADD AX, BX

JC M


Якщо в результаті складання CF=1, то управління передається на команду з міткою М, інакше - на команду, наступну за JC.

AX, BX

JZ Met


Якщо результатом віднімання буде 0, то ZF=1 і управління передається на команду з міткою Мet.

Часто команди передачі управління використовуються після команд порівняння <ім'я> CMP OP1, OP2; <Коментар>

За цією командою виконується (OP1) - (OP2) і результат нікуди не надсилається, формуються лише прапори. Команди умовної передачі управління для беззнакових і знакових чисел можна представити у вигляді таблиці:


условіеДля беззнакових чіселДля знакових чисел> JAJG=JEJE =JAEJGE < =JBEJLE < > JNEJNE

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


if AX=BX goto m слід замінити на:

if AX < > BX goto L

Goto m; m - далека мітка

--------------------

L: -----------------; L - близька мітка

На Асемблері це буде так:

cmp AX, BXLm

----------------------

L: --------------------


За допомогою команд jx і jmp можна реалізувати цикл з передумовою 1) і з постусловіем 2):


Команди для організації циклів


1) loop <мітка>

2) loope < мітка> == Loopz < мітка>

3) Loopne < мітка> == Loopnz < мітка>


За командою у формі 1): (CX)=(CX) - 1 і якщо (CX) < > 0, управління передається на команду з вказаною міткою.

За командою у формі 2): (CX)=(CX) - 1 і якщо (CX) < > 0 і одночасно ZF=1, управління передається на команду з вказаною міткою, тобто цикл завершується, якщо або (CX)=0 або ZF=0 або (CX)=(ZF)=0

За командою у формі 3): (CX)=(CX) - 1 і якщо (CX) < > 0 і одночасно ZF=0, управління передається на команду з вказаною міткою, тобто вихід з циклу существляется, якщо або (CX)=0 або ZF=1 або одночасно (CX)=0 і (ZF)=1.

Отже, кількість повторень циклу повинно зберігатися в регістрі CX.



Якщо CX потрібно використовувати всередині циклу, то зміст циклу має починатися командою збереження в стеці вмісту регістра CX, а перед командою loop необхідно регістр CX відновити. А для індексації, наприклад, елементів масиву всередині циклу можна використовувати індексний регістр:

Приклад використання команд умовного переходу, порівняння і цик...


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





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

  • Реферат на тему: Якщо ви викликаєте швидку допомогу
  • Реферат на тему: Якщо ваш працівник затриманий чи засуджений
  • Реферат на тему: Якщо ремонт виявився модернізацією
  • Реферат на тему: Якщо лікарняний невірно розрахований
  • Реферат на тему: Пахне чи троянда, якщо її ніхто не нюхає