Організація циклу за допомогою команди DEC і JNZ (Третій спосіб)
⇐ ПредыдущаяСтр 2 из 2 За допомогою цих операторів можна створювати цикли, які будуть працювати швидше оператора Loop. Комбінована робота команд DEC і JNZ зменшує вміст регістра CX на 1 і виконує перехід на мітку, якщо в CX не дорівнює нулю. Команда DEC, крім того, встановлює прапорець нуля у регістрі прапорців в стан 0 або 1. Команда JNZ потім перевіряє цю установку. Аналогічно командам JMP і LOOP операнд в команді JNZ містить значення відстані між кінцем команди JNZ і адресою переходу (Label 1), яке додається до командного покажчику. Ця відстань повинна бути в межах від - 128 до +127 байт.
Програма для практики Напишемо програму, яка виводить на екран всі ASCII-символи (16 строк по 16 символів в строчці).
Тут за допомогою команди LOOP оформляється цикл, що виконується 256 раз (значення регістра СХ на початку циклу). Регістр DL містить код символу, який дорівнює нулю на початку циклу і збільшується кожного разу на 1 командою INC DL. Якщо значення DL відразу після збільшення на 1 кратне 16, воно тимчасово зберігається в стеку і на екран виводяться символи CR і LF, що виконують перехід на початок нового рядка. Перевірка виконується командою TEST DL, 0Fh - результат операції AND над DL і 0Fh буде нулем, тільки якщо молодші чотири біта DL дорівнюють нулю, що і відповідає кратності шістнадцяти.
Зміст звіту 3.1 Титульний лист. 3.2 Індивідуальний варіант завдання. 3.3 Тестові набори даних і передбачувані результати. 3.4 Текст програми до налагодження. 3.5 Список помилок, виявлених при налагодженні. 3.6. Результати виконання тестів. 3.7. Роздруківка лістингу компіляції налагодженої програми із зазначенням роботи кожного рядка.
Завдання для виконання 4.1 Виконайте всі приклади, що містяться в описі даної лабораторної роботи. 4.2 Проаналізуйте роботу програми прикладу для практики. 4.3 Вивчити умови організації циклічних переходів на мові Асемблера. 4.4 Напишіть програму, що виводить на екран слово "!!!! Hello!!!!" використовуючи команди циклічних переходів (3 варіанти). 4.5 Отримайте заданий від викладача (один з варіантів в табл. 1) і, користуючись правилами оформлення асемблерних програм, створіть програму, що виводить на екран слово, D число раз.
4.6 Програму ассемблюйте в файл типу *. Com або *. Exe (на вибір);
Контрольні питання 5.1 Організація циклу за допомогою команди loop? 5.2 Значимість регістра cx? 5.3 Максимальне число повторень команд циклу визначається регістром сх? 5.4 Організація циклу за допомогою команди jmp? 5.5. Різновиди команди jmp? 5.6. Організація циклу за допомогою команд dec і jnz? Таблиця 1 – Варіанти завдань
Читайте также: I. Організація проведення занять Воспользуйтесь поиском по сайту: ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|