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

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

Основната програма с помощта на подпрограма, написана на език Ал semblera съдържа подготвен за масив, който ще се определя от максималния брой, както и програмата показва стойността на максималната ден от този масив:

Massiv: масив [1..N] на число = (1, 2, 3, 2, 10, 7, 2);

функция Max (Var Mas; N: число); цяло число; външен;

Wtiteln ( "Максимален брой масив равно на:", Max (Massiv, N));

С помощта на стандартния модел на паметта, в съответствие с подпрограма определяне макси минималният брой на масив може да се запише по следния начин:

Модел Малки, ПАСКАЛ

В този пример, параметърът връщане от тип цяло число, и той се връща в AX регистър.

В подпрограмата, написани на асемблер, можете да използвате програмите, написани на Pascal. Леко модифицирани рутинна за определяне на максималния елемент на масива, който в случай на елемент невалиден масив (0 или отрицателно число) нарича подпрограма написани на Pascal за издаване на съобщения.

Massiv: масив [1..N] на число = (1, 2, 3, 2, 10, 7, 2);

функция Max (Var Mas; N: число); цяло число; външен;

процедура ErrorReport (N: число);

Преди да се обадите на подпрограмата, написани на Pascal, стека в правилния ред, за да постави параметрите преминали. В този случай такъв параметър е - брой на елементи масив.

Тъй като рутина, написани на Pascal, не гарантира запазването на регистри AX, BX, CX и DX, в случай на необходимост да се запазят техните стойности трябва да са преди извикването на подпрограмата, написан на Паскал, с изключение на стойностите купчина от съответните регистри, а след завръщането си от съчетания - да ги възстановят. В този пример, се съхранява съдържанието на BX регистър, при минимален брой се записва.

С помощта на вграден асемблер

Както и Turbo асемблер асемблер инлайн е да се използват различни предварително зададени стандартни идентификатори, които имат специални значения. Ако програмата е въведена ID със същото име, но с различно предназначение, в някои части на програмата, написана на вграден асемблер, предимство ще се дава на стандартната възлагане на идентификатора.

Заедно с възможността за използване на Паскал идентификатори вграден асемблер използва три допълнителни идентификатор:

@Code - ток код сегмент (SEG се използва само с оператора);

@Data - ток сегмент данни (SEG се използва само с оператора);

@Result - резултатите, получени с функцията (в функции могат да бъдат използвани).

Когато използвате вградената асемблер не може да се използва:

- стандартните процедури и функции;

- специални масиви Mem, MemW, MemL, пристанищни и PortW;

- постоянен низ тип, вид материал и на типа набор;

- процедури и функции, декларирани с редови директивата;

- етикети, които не са обявени в този блок.

Част от програмата написана на асемблер, операторът е поставен в скоби ASM. край.

Massiv: масив [1..N] на число = (1, 2, 3, 2, 10, 7, 2);

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