Обикновено, тази опция се използва, когато програмата е с висока разделителна способност, и то е подходящо и да се напише и събират отделно използване 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);