.obj

A Programozás Wiki wikiből
(.Obj szócikkből átirányítva)

A .obj fájl kiterjesztés nem más mint tárgykódú (object) állomány. Assembler fordítóval, mint TASM vagy MASM lehet előállítani ezt a kiterjesztést használó modult.

A pascal és a tárgykódú állomány kapcsolata[szerkesztés]

A Pascal programba az {$L modul_name.obj} fordító direktíva segítségével építhetjük be az ilyen kiterjesztéssel rendelkező fájlt. Az Assembly nyelven elkészített eljárásokat és függvényeket a pascal programban külső rutinként kell deklarálni (external).

Assembly eljárás készítése[szerkesztés]

Nézzük meg az alábbi eljárást, amely a színes szöveges képernyőt a híváskor megadott karakterrel és színnel tölti fel.

           .MODEL TPascal
           .CODE
            PUBLIC FillScreen
FillScreen  PROC FAR char:BYTE, attr:byte
            mov al,char
            mov ah,attr
            mov cx,2000   ;2000 szó
            mov di,0B800H ;a képernyőpuffer szegmense
            mov es,di
            xor di,di     ;0 eltolás
            cld
            rep stosw
            ret
FillScreen  endp
            END

Tárgykód beszerkesztése[szerkesztés]

Az Assembly forrásfájl előállítása után (például: fillscr.asm) a TASM vagy a MASM Assembler fordító segítségével elkészíthetjük a beszerkeszthető tárgykódot.

{$L fillscr.obj}
{
..
..
}

{pascal fejlécet készítünk az assembly nyelven írt alprogramhoz}
Procedure FillScreen(ch: Char; attr: Byte); Far; External;

{
..
..
}

Var i, betu, hatter : Integer;
Begin  {main}
  Randomize;
  For i:=1 To 26 Do Begin
    betu:=1 + Random(15);
    Repeat
      hatter:=Random(8);
    Until hatter <> betu;
    FillScreen(Chr(64 + i), betu + 16 * hatter);
  End;
  ClrScr;
End.

Az angol ábécé betűivel, és véletlen színekkel tölti fel a képernyőt.