Дослідження інструкцій переходів та зсувів. Організація циклів
Використання основних інструкцій переходів та зсувів у системі команд навчального комп’ютера DeComp. Організація циклів необхідної структури і використання їх у програмах. Особливості виконання операцій зсуву. Блок–схема алгоритму заданої програми.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | украинский |
Дата добавления | 05.12.2012 |
Размер файла | 20,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Міністерство освіти та науки України
Національний університет «Львівська політехніка»
Кафедра ЕОМ
ЗВІТ
з лабораторної роботи №3
з дисципліни «Організація та функціонування комп'ютерів»
на тему: «Дослідження інструкцій переходів та зсувів. Організація циклів»
Виконав:
Ст. гр. КІі - 21з Скоренко В.В.
Прийняв:
Доцент кафедри СКС Дунець Р.Б.
Львів 2012
Лабораторна робота №3
Тема: Дослідження інструкцій переходів та зсувів. Організація циклів
Мета:
1.Засвоїти використання основних інструкцій переходів та зсувів у системі команд навчального комп'ютера DeComp;
2. Навчитись організовувати цикли необхідної структури і використовувати їх у програмах;
Теоретичні відомості
Інструкції переходів:
Їх головне призначення - зміна звичайного порядку виконання інструкцій. У всіх інструкціях, за винятком інструкцій переходів, на останньому кроці адреса наступної інструкції визначається шляхом додавання 1 до ЛАІ. У інструкціях переходів 12 розрядів адресної частини містять нову адресу наступної інструкції. В результаті наступною після інструкції переходу буде не та інструкція, яка знаходиться у пам'яті зразу після інструкції переходу, а інструкція, яка може знаходитись у будь-якій іншій комірці пам'яті, на яку вкаже адреса у інструкції переходу.
Інструкції переходів поділяють на два типи:
Інструкції умовних переходів (перехід відбувається тільки якщо виконується певна умова).
До таких інструкцій належать:
JNZ - перехід, якщо у регістрі ознак прапорець Z ? 0;
JZ - перехід, якщо у регістрі ознак прапорець Z = 0;
JP - перехід, якщо
JM - перехід, якщо
JNC - перехід, якщо у регістрі ознак прапорець С ? 0;
JC - перехід, якщо у регістрі ознак прапорець С = 0;
Інструкція безумовного переходу JMP;
Організація програмних циклів:
Для організації циклу засобами навчального комп'ютера DeComp в одній з комірок пам'яті необхідно розмістити лічильник циклів. Лічильник циклів це число, яке може мати значення N (якесь число) або 0 (const = N або const = 0). Відповідно, у циклі необхідно кожний раз лічильник зменшувати (або збільшувати) на 1 і за допомогою інструкції умовного переходу перевіряти, чи потрібно зробити цикл ще раз.
Наприклад, у комірці пам'яті за адресою 1010 розміщений лічильник - const = K = 15, у комірці пам'яті за адресою 1110 - константа = 1 (const = 1), яка буде обслуговувати цей лічильник. Тоді програма обслуговування циклу:
LOOP 1: . . . - мітка (адреса) попередньої частини програми;
LOAD 10 - вибрати значення з комірки 10 і розмістити його у акумуляторі;
SUB 11 - із значення, що є у акумуляторі, відняти 1;
JNZ LOOP 1 - перехід на LOOP 1, якщо у результаті виконання попередньої операції ознака Z ? 0, тобто вміст акумулятора не дорівнює 0, інакше - перехід на наступну aдресу - LOOP 2.
LOOP 2 . . . .
Це є лічильник "на 0", тобто процедура LOOP 1 виконується K = 15 разів і кожний раз виконується перевірка числа таких виконань шляхом зменшення значення у лічильнику (комірка пам'яті - 10). Коли у лічильнику значення стане рівним 0, програма почне виконувати процедуру LOOP 2.
Особливості виконання операцій зсуву:
- LSL, LSR - логічні зсуви (розряд, що виходить за межі аккумулятора, потрапляє у ознаку переносу С).
- ASL, ASR - арифметичні зсуви (не змінюється знак. У ознаку переносу розряд потрапляє не зі старшого, тобто - знакового розряду, а з попереднього - старшого розрядучисла).
- ROL, ROR - циклічні зсуви ( розряди обертаються, не потрапляючи у ознаку переносу С).
- RCL, RCR - циклічні зсуви через ознаку С (розряди обертаються через ознаку переносу С).
Порядок виконання роботи
Дослідити у потактовому режимі інструкції ROR, RCR, JC:
Мікропрограма для дослідження інструкції ROR:
ROR 225 ; 1111 1010 1110 0001;
HALT; 0111 1100 0000 0000;
Потактовий режим:
№ такту |
Мнемонічний запис |
Регістр ознак |
Коментар |
|
1. |
ЛАІ > РА |
0 0 0 |
Вибір адреси першої інструкції і занесення її до регістру адрес. |
|
2. |
РА > РД |
0 0 0 |
Вибір коду інструкції із регістру адрес і занесення його до регістру даних |
|
3. |
РД > РІ |
0 0 0 |
Декодування інструкції в регістрі інструкцій |
|
4. |
А > А |
1 0 0 |
Виконання циклічного зсуву вправо. |
Мікропрограма для дослідження інструкції RCR:
RCR 225; 1111 1110 1110 0001;
HALT; 0111 1100 0000 0000;
Потактовий режим
№ такту |
Мнемонічний запис |
Регістр ознак |
Коментар |
|
1. |
ЛАІ > РА |
0 0 0 |
Вибір адреси першої інструкції і занесення її до регістру адрес. |
|
2. |
РА > РД |
0 0 0 |
Вибір коду інструкції із регістру адрес і занесення його до регістру даних |
|
3. |
РД > РІ |
0 0 0 |
Декодування інструкції в регістрі інструкцій |
|
4. |
А > А |
1 0 0 |
Виконання циклічного зсуву вправо. |
Скласти програму, яка реалізовуватиме оператор IF (умову перевірки вибрати самостійно). Закодувати її і ввести у симулятор і виконати у покроковому режимі.
L = 2510 = 0001 10012 ;
В = 3010 = 0001 11102 ;
С = 4910 = 0011 00012 ;
Умова ( Акумулятор - L < 0 )
Перед виконанням програми у акумулятор записуємо число 21.
інструкція перехід зсув цмкл програма
Фрагмент блок - схеми алгоритму:
Размещено на http://www.allbest.ru
так ні
Комірка пам`яті |
Двійковий код інструкції |
Мнемон. запис |
Коментар |
|
0000 0000 0000 |
0011 0000 0000 1011 |
SUB 11 |
Відняти значення 10 яке попередньо завантажено до акумулятора від 11 комірки пам`яті. |
|
0000 0000 0001 |
1010 0000 0000 0111 |
JP 7 |
Перехід на 7 комірку памяті якщо результат віднімання більший від 0 |
|
0000 0000 0010 |
0000 0000 0000 0000 |
NOP |
Немає інструкції |
|
0000 0000 0011 |
0000 0000 0000 1011 |
LOAD 11 |
Завантажити в акумулятор значення 11 комірки пам`яті. |
|
0000 0000 0100 |
0010 0000 0000 1101 |
ADD 13 |
Додати до акумулятора значення 13 комірки пам`яті. |
|
0000 0000 0101 |
0001 0000 0001 0100 |
STORE 20 |
Зберегти результат у 20 комірці пам`яті. |
|
0000 0000 0110 |
0111 1100 0000 0000 |
HALT |
Завершити роботу програми |
|
0000 0000 0111 |
0000 0000 0000 1011 |
LOAD 11 |
Завантажити в акумулятор значення 11 комірки пам`яті. |
|
0000 0000 1000 |
0010 0000 0000 1100 |
ADD 12 |
Додати до акумулятора значення 12 комірки пам`яті. |
|
0000 0000 1001 |
0001 0000 0001 0100 |
STORE 20 |
Зберегти результат додавання у 20 комірці пам`яті. |
|
0000 0000 1010 |
0111 1100 0000 0000 |
HALT |
Завершити роботу програми. |
|
...... |
...... |
...... |
...... |
|
0000 0001 0100 |
0000 0000 0100 1010 |
РА > РД результат |
При заданих значеннях і умові результат буде рівний 25 + 49 = 74 |
Висновок
На практичній роботі я дослідив інструкції переходів, навчився за їх допомогою розробляти цикли і застосував набуті знання при виконанні завдань практичної роботи.
Размещено на www.allbest.
Подобные документы
Застосування циклічних алгоритмів для створення циклів за допомогою умовного або безумовного переходів. Цикли з параметром та умовою (приклади). Використання операторів мови програмування Паскаль для організації повторюваних послідовностей дій (циклів).
контрольная работа [435,9 K], добавлен 02.06.2012Дослідження основних арифметичних команд над цілими двійковими числами. Особливості безумовно-умовних переходів мови Асемблер. Відмінні риси команд умовного переходу, організації циклів, порівняння. Характеристика ознак команди безумовного переходу.
реферат [18,9 K], добавлен 26.04.2010Команди умовних і безумовних переходів в програмах, скорочення накладних витрат переходу, черга команд і технологія розгалуження із суміщенням. Основи конвеєризації, конвеєрна обробка команд у комп'ютері та збільшення пропускної здатності процесора.
реферат [39,5 K], добавлен 19.06.2010Програми, які виводять на екран характеристики комп'ютера. Розробка програми "Монітор використання ресурсів комп’ютера" на мові програмування ASM-86. Алгоритм програми та її реалізація. Системні вимоги, інструкція для користувача, лістинг програми.
курсовая работа [22,2 K], добавлен 08.08.2009Подання чисел у нормальній формі. Порядок нормалізації чисел з рухомою комою. Правила додавання двійкових чисел з рухомою комою. Алгоритми і програми додавання чисел в арифметиці з рухомою комою в інструкціях навчального комп'ютера-симулятора DeComp.
лабораторная работа [31,7 K], добавлен 13.03.2011Отримання показників процесора за допомогою програми EVEREST Ultimate 2006. Приклад отриманих характеристик: властивості ЦП, виробник та завантаження. Набори команд та інструкцій, з якими працює процесор. Властивості та виробник графічного процесора.
лабораторная работа [19,5 K], добавлен 16.12.2010Методика використання інформаційних технологій на уроках музики. Комп’ютерний практикум в системі початкової музичної освіти. Використання музичного редактора. Програми для DOS та Windows. Формування готовності особистості до творчої діяльності.
курсовая работа [28,9 K], добавлен 11.06.2009Історія розвитку процесорів і їх класифікація. Організація конвеєра, оцінка його продуктивності. Визначення способів мінімізації структурних конфліктів: перейменування регістрів, планування компілятора. Розгляд схеми корельованого прогнозування переходів.
курсовая работа [93,1 K], добавлен 13.06.2010Дослідження особливостей роботи графічної бібліотеки OpenGL з метою використання її в комп'ютерному моделюванні. Розгляд синтаксису команд та програмного коду команд. Методи максимально реалістичного моделювання горіння вогню. Лістинг програми на мові С.
курсовая работа [182,0 K], добавлен 22.12.2010Особливості понять "цифра" и "число". Знакова система оброки інформації комп’ютером. Файл - сукупність байтів, записана на пристрій зберігання інформації. Сутність і властивості алгоритму. Схема - графічне подання алгоритму за допомогою зв’язаних блоків.
лекция [185,0 K], добавлен 03.10.2012