ПредишенСледващото

10.5. Директива съчетания

Директива даде допълнителна информация относно поставянето на компилатора съчетания.

10.5.1. Директива НАПРЕД

Ако някой използва различен рутина, а тя, от своя страна, преди всичко, че има проблем с настаняването на подпрограми в програмата (никой от тях не може да се поставя в предната част на другата). За да разрешите този противоречие. употребяван напред директива, която позволява, тъй като тя се разделя на две части, едната от рутината.

При използване на директива напред първия пълен с глава е написана първата подпрограма. Тялото на тази подпрограма се заменя с нетърпение директива. След напълно описано от втората подпрограмата, и след това е напълно описан от първия комбинация. Възможно е да се напише съкращение съчетания заглавен ред, който включва думата процедура тиня функция и името му. Списък на формални параметри и вида на рутината (ако това е рутинна функция) не е показана.

Пример. Първа Втора процедура изисква процедура, както и че, от своя страна, Първа процедура.

Първо процедура (А, В: цяло число); предаде;

Директива напред може да се използва само за по-удобни съчетания разположение: на първо място, да се опишат всички заглавията, а след това - собствени съчетания. Настоящата директива не следва да бъдат използвани в модулите (вж. Стр 16) за съчетания обявени в интерфейса на модула.

10.5.2. Директива близо и далеч

10.5.3. Директива ВЪНШНА

Директивата позволява използването на външни рутинни програма, написана на асемблер и компилират отделно. Тези съчетания трябва да са свързани с основната програма с ключа. Ето, името на файла - името на файла (с разширение .OBJ), който съдържа събрани обект модули съчетания, написани на асемблер.

функционира Max (X, Y: Real): Real; външен;
Процедура за търсене (VAR Mas; N: Integer;
Var Max, Min: цяло число); външен;

външен директива трябва да се използва, ако е практиката в асемблер са големи и е по-добре да се съставят поотделно, а не с помощта на вградения в асемблер или ще ги напиша в кодовете на процесори, използващи директива инлайн (вж. стр. 10.5.5).

10.5.4. Директива ASSEMBLER

директива асемблер позволява пишат функция изцяло на асемблер. В този случай, рутина по време на компилиране, се събира автоматично инлайн асемблер Turbo Pascal пакет. Когато отстраняване на грешки подпрограма може да използвате вградения в пакет дебъгер.

Пример. Функцията, която определя максимално на две числа.

функция MaxTwo (X, Y: цяло число): цяло число; асемблер;
ASM
MOV AX. X
CMP AX. Y
JG @ 1
MOV AX. Y
@ 1:
приключи;

10.5.5. Директива INLINE

Директивата позволява да включите в текста на екипа на програмата, записан директно в машинен код. В пълен контраст с други съчетания подпрограма директива инлайн добавена навсякъде, където има го наричат ​​(в действителност той е макроси). Тези съчетания могат да бъдат Na параметри, които могат да бъдат използвани в текста съчетания, които ги получават от купчината.

Компютърните програми в рамките на процедурата, написани в скоби байт чрез наклонена черта (/).

Пример. Функцията, която изчислява максимума на две числа.

10.5.6. Директива INTERRUPT

прекъсване директива предвижда процедури прекъсват обработка. Такива процедури са стандартни глава:

процедура IntHandler (Flags, CS, IP, AX,
BX, CX, DX, SI, DI, DS, ES, BP: Word); прекъсват;
започвам
.
приключи;

Заглавната част на отделните параметри може да се пропусне (но само от началото на списъка), не е възможно да се отстранят междинни параметри, например:

процедура IntHandler (DI, ES, BP: Word); прекъсват;

процедура IntHandler (DI, DS, ES, BP: Word); прекъсват;

Невъзможно е в процедурите за обработка на заглавните прекъсване да записват и всякакви други параметри.

Подкрепете проекта - споделете линка, благодаря!