Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPT_lab_ch1.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
120 Кб
Скачать
☆

Лабораторна робота №4. «Вивчення груп команд безумовних та умовних переходів та команд управління циклом»

Мета роботи: «Вивчити особливості виконання команд передачі управління та управління циклом, області використання. Розробка алгоритму, складання та налагодження програми з використанням цих команд».

Короткі теоретичні відомості:

При виконанні програми команди МП виконуються послідовно одна за одною. Але в багатьох випадках необхідно змінювати порядок слідування команд, наприклад при виконанні циклічних підрахунків, аналізі різних ознак, які впливають на процес виконання програми. Такий перехід може бути здійснений безумовно або тільки при виконанні певних умов. У якості умов виступають значення ознак у регістрі ознак МП. Аналізуючи значення ознак, команди не змінюють.

Мнемокод

Операнд

Коментар

JMP

мітка

Здійснюється безумовний перехід на мітку

JC

мітка

Здійснюється умовний перехід на мітку, якщо C=1

JNC

мітка

Здійснюється умовний перехід на мітку, якщо C=0

JZ

мітка

Здійснюється умовний перехід на мітку, якщо Z=1

JNZ

мітка

Здійснюється умовний перехід на мітку, якщо Z=0

JS

мітка

Здійснюється умовний перехід на мітку, якщо S=1

JNS

мітка

Здійснюється умовний перехід на мітку, якщо S=0

JP

мітка

Здійснюється умовний перехід на мітку, якщо P=1

JNP

мітка

Здійснюється умовний перехід на мітку, якщо P=0

JO

мітка

Здійснюється умовний перехід на мітку, якщо O=1

JNO

мітка

Здійснюється умовний перехід на мітку, якщо O=0

JCXZ

мітка

Здійснюється умовний перехід на мітку, якщо CX=0

LOOP

мітка

Здійснюється

  • декремент регістра cx;

  • порівняння регістра cx з нулем;

  • якщо (cx)>0, то управління передається на мітку;

  • якщо (cx)=0, то управління передається на наступну після loop команду.

LOOPE (LOOPZ)

мітка

Здійснюється

  • декремент регістра cx;

  • порівняння регістра cx з нулем;

  • аналіз стану прапор нуля zf;

  • якщо (cx)>0 та zf=1, то управління передається на мітку;

  • якщо (cx)=0 або zf=0, то управління передається на наступну після loop команду.

LOOPNE (LOOPNZ)

мітка

Здійснюється

  • декремент регістра cx;

  • порівняння регістра cx з нулем;

  • аналіз стану прапор нуля zf;

  • якщо (cx)>0 та zf=0, то управління передається на мітку;

  • якщо (cx)=0 або zf=1, то управління передається на наступну після loop команду.

Команди loope/loopnz за принципом своєї роботи являються взаємооберненими. Вони розширюють дію команди loop тим, що додатково аналізують прапор zf, що дає можливість організувати достроковий вихід з циклу, використовуючи цей прапор у якості індикатора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]