Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л.р.1-12.СПРГ-1(40, укр).doc
Скачиваний:
5
Добавлен:
27.08.2019
Размер:
2.33 Mб
Скачать

7. Критерії оцінювання.

На 3 бали:

Вміти дати відповіді на питання для самоконтролю та самоперевірки. Виконати приклади та завдання 1.

На 4 бали:

Додатково виконати завдання 2.

На 5 балів:

Додатково виконати завдання 3.

8. Питання для самоперевірки

Чому і коли не бажано використовувати безумовний перехід?

Уміст якого регістру змінюють команди переходів?

Чим відрізняються правила побудови команд переходів для знакових та беззнакових чисел?

Яким чином формується умова для умовних переходів?

Чи можна використовувати команду безумовного переходу у зв’язці із командою порівняння cmp?

Чи можливість виконати перехід у програмі у залежності від умісту окремого прапорця?

Які команди переходів аналізують уміст регістру ecx (cx)?

Як працює команда loop?

Як організувати достроковий вихід із циклу?

Чи можна замінити команди організації циклів більш простішими командами, якими?

9. Література

Голуб Н. Г. Искусство программирования на Ассемблере. Лекции и упражнения.- СПб.: ООО”ДиаСофтЮП”, 2002. – 656 с.

2. Магда. Ю. С. M12 Ассемблер для процессоров Intel Pentium. – СПб.: Питер, 2006. – 410с.

3. Ирвин Кип. Язык ассемблера для процессоров Intel, 4-е издание.: Пер с англ. – М.: Издательский дом ”Вильямс”, 2005. – 912с.

Лабораторна робота 7.

Тема: Обробка масивів даних

Цель: Вивчити способи обробки масивів даних мовою

асемблера.

1. Підготовка до роботи.

Ознайомитися із основними методами обробки одномірних та двомірних масів [1, стор. 206-211], [3, стор. 147-148, 195].

2. Питання для самоконтролю.

  1. Як оголосити масив даних?

  2. Чим відрізняються оголошення та ініціалізація масиву?

  3. Чи можна у програмі на асемблері об’єднати оголошення та ініціалізацію масиву?

  4. Відрізняється чи ні представлення у пам’яті одно- та двовимірних масивів?

  5. Які основні операції виконуються при роботі з масивами?

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

Масиви даних - дуже важливий практичний спосіб представлення даних, що дозволяє робити ефективну обробку експериментальних даних, працювати з областями оперативної і постійної пам'яті ЕОМ, дисковими накопичувачами, файлами і т. д.

Дамо формальне визначення: масив - структурований тип даних, що складається з деякого числа елементів одного типу.

З погляду збереження масиву в пам'яті - масив являє собою деяке суміжне число комірок пам'яті.

При роботі з масивами виділяють кілька типових операцій:

  • оголошення масиву - визначення масиву в рамках мови програмування. У мовах високого рівня для цього можуть бути спеціальні директиви, на зразок array у Паскалі, в асемблері для цих цілей використовуються стандартні директиви визначення даних;

  • уведення - виведення елементів масиву - істотно залежать від використовуваної мови програмування, операційної системи і т. д;

  • ініціалізація елементів масиву - присвоєння елементам масиву початкових значень. Як правило, дана операція робиться в циклі;

  • доступ до елемента масиву - істотно залежить від мови програмування, але можна виділити 2 основних моменти: у кожного елемента масиву обов'язково є значення й індекс (порядок елемента в масиві). Для одержання значення елемента масиву в програмі необхідно вказати ім'я масиву й індекс, наприклад arr [i] - у Паскалі і Сі. В асемблері для цих цілей використовується непряма адресація.

  • обробка масиву - тут буде доречним використовувати уже відомі алгоритми і прийоми виконання типових задач по обробці масиву - пошук мінімуму - максимуму, сортування, пошук і заміна елементів. Умовно всі задачі обробки масивів можна поділити на 2 групи - обробка значень елементів і робота з індексами масиву.

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