Használata fordító TASM

Általában ezt a beállítást használja, ha a program egy nagy felbontású, és ez megfelelő és írni és fordítani külön-külön TASM fordító. Ebben az esetben, akkor az összes funkcióját a nyelv és a fordító TASM.







A fő program segítségével a szubrutin nyelven írt al-semblera tartalmaz inicializált tömb, amely fogja meghatározni a maximális számot, és a program megjeleníti a maximális értékét nap ez a tömb:

Massiv: array [1..n] A integer = (1, 2, 3, 2, 10, 7, 2);

funkció Max (var Mas; N: integer); integer; külső;

Wtiteln ( 'maximális száma tömb egyenlő:', Max (Massiv, N));

A standard memória modellt, a szubrutin meghatározza Maxi minimális számú tömb felírható a következőképpen:

Modell Kicsi, PASCAL

Ebben a példában, a visszatérési típusú paramétert integer, és visszakerül a regiszter AX.

Az alprogramban írt assembly nyelven, akkor a rutinok írt Pascal. Némileg módosított rutin meghatározására maximális elem a tömb, amely abban az esetben érvénytelen tömb eleme (0 vagy negatív szám) egy szubrutint hív írt Pascal kiadására üzeneteket.

Massiv: array [1..n] A integer = (1, 2, 3, 2, 10, 7, 2);

funkció Max (var Mas; N: integer); integer; külső;







eljárás ErrorReport (N: integer);

Mielőtt hívja a szubrutin írt Pascal, a verem a megfelelő sorrendben, hogy helyezze a paraméterek át. Ebben az esetben egy olyan paraméter - a tömb elemeinek számát.

Mivel rutin írt Pascal, nem garantálja a megőrzése a nyilvántartások AX, BX, CX, és a DX, abban az esetben meg kell őrizni az értékeket kell, mielőtt a hívást, hogy a szubrutin írt Pascal, kivéve a verem értékek a megfelelő nyilvántartások, és visszatérés után rutinok - visszaállítani őket. Ebben a példában, a tárolt léptetőregiszter tartalmát BX, ahol a minimális számot feljegyezzük.

Ha a beépített szerelő

Csakúgy, mint a Turbo szerelő, az inline assembler használata számos előre definiált szabványos azonosítók speciális jelentése van. Ha a program szerepel azonosító az azonos nevű, de eltérő célra, a program egyes részeit, írt a beépített assembler, előnyben kell részesíteni a szabványos kiosztása az azonosító.

Együtt képesek a Pascal azonosítókat beágyazott szerelő használ három további azonosítója:

@Code - a jelenlegi kód szegmens (SEG használjuk csak az üzemeltető);

@Data - jelenlegi adatok szegmens (SEG használjuk csak az üzemeltető);

@Result - a kapott eredményt az függvény (belüli funkciók használhatók).

Ha a beépített szerelő nem lehet használni:

- szabványos eljárások és függvények;

- speciális tömbök Mem, MemW, MemL, Port és PortW;

- állandó string típusú anyag típusa és a típus-set;

- eljárások és függvények nyilvánított az irányelvnek inline;

- címkék, amelyeket nem jelentettek be ebben a blokkban.

A program részeként írt assembly nyelven, az üzemeltető zárójelbe asm. végén.

Massiv: array [1..n] A integer = (1, 2, 3, 2, 10, 7, 2);