Borland Pascal , PUBLIC, , , . , Borland Pascal, :
AsmLabel PROC FAR
PUBLIC AsmLabel
AsmLabel:
PUBLIC AsmLabel
, Borland Pascal lie , PUBLIC, , , Pascal-, .
EXTRN Turbo Assembler , , Borland Pascal, . Borland Pascal, .
, Borland Pascal :
var
: Byte;
b: Word;
: Shortint;
d: Integer;
e: Real;
f: Single;
g: Double;
h: Extended;
i: Comp;
j: Pointer;
:
EXTRN A: BYTE;1
EXTRN : WORD;2
EXTRN : BYTE 1
EXTRN D: WORD
EXTRN E: FWORD;
EXTRN F: DWORD;
EXTRN G: QWORD;
EXTRN H: TBYTE;
EXTRN I: QWORD;
EXTRN J: DWORD; Borland Pascal
Borland Pascal.
, Sample AsmProc:
unit Sample interface
procedure TestSample procedure PublicProc; far { FAR }
implementation
var
A: word;
procedure AsmProc; near; external;
<$L ASMPROC} procedure PublicProc;
begin
Writeln(' PublicProc');
end;
procedure NearProc; near; { NEAR} begin
WriteInC NearProc');. end;
procedure FarProc; far; { FAR} begin
Writeln(' FarProc');
end;
procedure TesfSample;
begin
WriteInC TesfSample');
A:=10;
WriteInC ASMPROC=',A);
AsmProc;
WriteInC ASMPROC=',A);
end;
end.
AsmProc, EXTRN, PublicProc, NearProc FarProc Sample:
DATA SEGMENT WORD PUBLIC ASSUME DS:DATA EXTRN A:WORD DATA ENDS
EXTRN PublicProc: FAR EXTRN FarProc: FAR
CODE SEGMENT BYTE PUBLIC ASSUME CS:CODE
EXTRN NearProc: NEAR
AsmProc PROC NEAR
PUBLIC AsmProc
call PublicProc
call NearProc
call FarProc
mov cx,ds:A
sub ex,2
mov ds:A
ret AsmProc ENDP
CODE ENDS END
, Pascal , :
|
|
program TSample;
uses Sample;
begin
TestSample;
end.
EXTRN. -, , Borland Pascal , ,
EXTRN SYSTEM.Assign: FAR
.
, . ,
EXTRN PublicProc: FAR,
call PublicProc +42
.
-, Borland Pascal , . ,
EXTRN i: WORD
LOW i HIGH i.
19.1.3.
, Borland Pascal, . , , , MS DOS. , ( CODE DATA) .
, Turbo Assembler, . . , DS , SEG:
mov ax, SEG DATA mov ds.ax
, MOV, .
Pascal , OS , .
19.1.4.
Borland Pascal . , , . , Borland Pascal .
Borland Pascal , , . , .
Borland Pascal , .