Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторна робота16.doc
Скачиваний:
0
Добавлен:
23.11.2019
Размер:
105.47 Кб
Скачать

Державний заклад “Київський коледж зв’язку”

СХВАЛЕНО Затверджую

на засіданні циклової комісії Заступник директора

компютерних систем та мереж з навчально - виробничої роботи

протокол № _____

від"____"_______________2008р. ______________ О.Ю. Коновалов

Голова_________ А.Ю.Лойкова "____"__________________2008р.

МЕТОДИЧНІ ВКАЗІВКИ

ПО ВИКОНАННЮ

ЛАБОРАТОРНОЇ РОБОТИ №16

З ПРЕДМЕТУ

„СИСТЕМНЕ ПРОГРАМУВАННЯ”

для студентів вищих навчальних закладів,

які навчаються за

освітньо-кваліфікаційним рівнем „бакалавр”

з напрямку 6.050102 – „Комп’ютерна інженерія ”

Розробив викладач

Довженко П.В.

_____________________________

"_____"_________________2008р.

Київ – 2008

Тема: Модульне програмування.

  1. Мета завдання.

  • Поглибити знання про модульне програмування.

  1. Прилади та обладнання.

  • ЕОМ типу IBM PC, система програмування Асемблер.

  1. Теоретичні відомості.

Процедури й функції

Прийнято розділяти мови програмування на процедурні (С, Pascal, Fortran, BASIC) і непроцедурні (LISP, FORTH, PROLOG), де процедури — блоки коду програм, що мають одну точку входу й одну точку виходу й возвращающие керування на наступну команду після команди передачі керування процедурі. Асемблеру однаково легко можна використовувати як процедурну мову так і непроцедурну.

Передача параметрів

Процедури можуть одержувати або не одержувати параметри із визиваючої процедури й можуть повертати або не повертати результати (процедури, які що-небудь повертають, називаються функціями в мові Pascal, але асемблер не робить яких-небудь розходжень між ними).

Параметри можна передавати за допомогою одного із шести механізмів:

  • за значенням;

  • по посиланню;

  • по повертаючому значенню;

  • по результату;

  • по імені;

  • відкладеним обчисленням.

Параметри можна передавати в одному з п'яти місць:

  • у регістрах;

  • у глобальній змінній;

  • у стеку;

  • у потоку коду;

  • у блоку параметрів.

Так що всього в асемблері можливо 30 різних способів передачі параметрів для процедур.

Передача параметрів за значенням

Процедурі передається значення параметра. При цьому фактично значення параметра копіюється, і процедура використовує його копію, так що модифікація вихідного параметра виявляється неможливою. Цей механізм застосовується для передачі невеликих параметрів, таких як байти або слова.

Наприклад, якщо параметри передаються в регістрах:

mov ax,word ptr value ; зробити копію значення

call procedure ; викликати процедуру

Передача параметрів по посиланню

Процедурі передається не значення змінної, а її адреса, по якому процедура повинна сама прочитати значення параметра. Цей механізм зручний для передачі більших масивів даних і для тих випадків, коли процедура повинна модифікувати параметри, хоча він і повільніше через те, що процедура буде виконувати додаткові дії для одержання значень параметрів.

mov ax,offset value

call procedure