Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Методички » Асемблер для IBM PC

Реферат Асемблер для IBM PC





ати спрощений варіант синтаксису:


<ім'я> PROC <тип>

<тіло процедури>

RET

<ім'я> ENDP

де PROC - директива, що визначає початок процедури, <ім'я> - мітка, що служить ім'ям процедури і задає адресу точки входу в процедуру; <тип> - параметр, що визначає тип процедури і може приймати два значення: near (ближній) і far (далекий). Якщо використовується спрощені форми визначення сегментів, то тип процедури задається обраною моделлю пам'яті і його можна не вказувати. Для моделей tiny, small і compact визначається тип near, а для інших - far; RET (Return) - остання команда підпрограми. Вона здійснює вихід з підпрограми і повернення в основну програму. Тип процедури автоматично задає тип повернення з процедури.

Виклик підпрограми з основної програми здійснюється командою CALL (), яка має наступний синтаксис:


CALL <тип> <ім'я>


де <тип> - параметр, що визначає тип переходу і може приймати значення near або far; <ім'я> - ім'я викликається процедури.

Коли команда CALL викликає процедуру, і зберігає в стек адреса наступної за CALL команди. При ближньому виклик до стек поміщається значення регістра IP, а при дальньому виклику - значення регістрів CS і IP. Після виконання у процедурі команди RET - виконується зворотну дію. p align="justify"> Фрагмент програми виклику процедур


; фрагмент коду програми

main PROC

MOV AX, @ data DS, AX MySub

... AX, 4C00h 21 ENDP

MySub PROC

... ENDP


Передача параметрів у процедуру.

Передавати фактичні параметри процедурі можна по-різному. Використовуються кілька способів передачі параметрів. Вибір конкретного способу для певної задачі залежить від кількості використовуваних параметрів і складності їх обробки. p align="justify"> 1 . Передача через регістри : програма перед викликом заносить вхідні параметри до деяких регістри процесора, а після повернення вибирає з регістрів значення результатів.

Передача параметрів за значенням: перед зверненням до процедури основна процедура обчислює значення фактичних параметрів і записує їх у регістри.

Приклад. 1. Обчислити c = max (a, b) + max (5, al), де всі числа - знакові розміром в слово. Обчислення max (х, у) описати як процедуру. Умови передачі параметрів: перший параметр (х) - через регістр АХ, другий параметр (у) - через регістр ВХ, результат (max) - в регістрі АХ.

За цих умов процедура і відповідний фрагмент основної програми виглядають наступним чином: (для прикладу опишемо процедуру як далеку):


; процедура: АХ = max (АХ, ВХ); основна программаMAXPROCFARMOVAX, А; АХ: = аCMPAX, BXMOVВХ, В; ВХ: = bJGEMAX1CALLMAX; АХ: = mах (а, b) MOVAX, BXMOVС, АХ; зберегти АХМАХ1: RETMOVAX, 5; АХ: = 5MAXENDPMOVВХ, АDECВХ; ВХ: = а-1CALLMAX; AX: = max (5, al) ADDС, АХ; С: = mах (а, b) + мах ( 5, а-1)

Передача параметрів за посиланням означає передачу адреси (імені) осередки, відповідної фактичному параметру, через регістр: основна програма записує в якийсь регістр адреса фактичної змінної, а процедура бере його звідти. Використовують регістри-модифікатори ВХ, ВР, SI або DI, тому що процедури доведеться модифікувати з цього регістру.

Приклад 2. Візьмемо наступну процедуру на мові Паскаль:


procedure D (var x: integer);: = x div 16;


Нехай у програмі є такі звернення до неї: D (A) і D (B), де А і В-імена змінних, значеннями яких є невід'ємні числа. Використовуємо регістр ВХ: до початку виконання процедури в регістрі ВХ повинен знаходитися адресу тієї комірки (А або В), вміст якої вона зраджує. Доступ до комірки в цьому випадку можн...


Назад | сторінка 5 з 12 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Підпрограми. Процедури і функції
  • Реферат на тему: Програми та процедури допінг-контролю
  • Реферат на тему: Структура складної програми. Процедури
  • Реферат на тему: Основи та розрахункові процедури з визначення надійності продукції
  • Реферат на тему: Процедури в Паскалі