ДОМ
|
Информационные технологии |
Низкоуровневое программирование |
3. АРИФМЕТИЧНІ ТА ЛОГІЧНІ ОСНОВИ ПРОГРАМУВАННЯ 4. МОДЕЛЬ МІКРОПРОЦЕСОРНОЇ СИСТЕМИ. ПРЕДСТАВЛЕННЯ ДАНИХ І СИСТЕМА КОМАНД 5. ОПЕРАТОРИ ДЛЯ ЗАПИСУВАННЯ АЛГОРИТМІВ ЛІНІЙНИХ ПРОЦЕСІВ 6. ОФОРМЛЕННЯ АЛГОРИТМІВ З ГАЛУЖЕННЯМ 7. ОФОРМЛЕННЯ АЛГОРИТМІВ ЦИКЛІЧНОГО ТИПУ 8. ПРОГРАМУВАННЯ НА МОВІ НИЗЬКОГО РІВНЯ return_links(); ?> |
ОФОРМЛЕННЯ АЛГОРИТМІВ ЦИКЛІЧНОГО ТИПУ
Принцип організації циклів у мікропроцесорній системі
При розв'язанні багатьох задач доводиться іноді неодноразово виконувати деяку послідовність дій.
При цьому потрібно записувати алгоритми, які називають циклічними. Прийнято послідовність команд, яка виконується неодноразово, називати серією команд. А кількість повторень серії циклу називають кратністю циклу.
Для організації циклічних обчислень звичайно в один із регістрів завантажується деяке число
(наприклад n), яке є лічильником циклу і у кожному циклі воно збільшується або зменшується на одиницю. У кінці (або на початку) циклу це число порівнюється з деякою константою і по результату порівняння - рівні вони чи ні - приймається рішення, закінчувати цикл чи продовжувати.
Найбільш зручно з цією метою використовувати регістр-лічильник cx.
Для організації циклу
широко використовують команду LOOP і її модифікації LOOP, LOOPZ, LOOPnc і LOOPnz.
При виконанні команди LOOP спочатку зменшується вміст регістра cx на одиницю, потім вміст цього регістру порівнюється з нулем. Якщо вміст цього регістру не дорівнює нулю, то відбувається близький перехід до початку циклу, якщо дорівнює нулю, то цикл закінчується і виконується наступна команда (див.рис. 1).
Рисунок 1 - Схема організації циклу
Приклад організації циклу
Завдання:
Записати на Асемблері програму обчислення суми чисел S=3+6+9+12+15, використовуючи команду LOOP. При побудові алгоритму розв'язування прийняти:
Текст програми на Асемблері:
Контрольні запитання і задачі
|
Copyright © Eugene, 2007 |
![]() |