;Da die Anzahl der Übergabeparameter unbekannt ist, muß die Funktion
;umgehend mittels FAR-JUMP angesprungen werden.
;In BP ist das ohne den Umweg über externen Assembler unmöglich, da BP
;um exportierte Funktionen generell einen Rahmen herumbaut.
;Zum direkten "Durchpipen" (sprungfrei) fehlt die Möglichkeit, in Assembler
;ein Symbol unter einem anderen Namen zu im- oder exportieren,
;aber möglicherweise geht's unter Windows schon prinzipiell nicht.
ideal
model tpascal
P386
extrn pipe_SEP:far, pipe_AEF:far, ExitP:DWord
public set_entry_point,mexAtExitFcn
CODESEG
proc set_entry_point far
jmp pipe_SEP
endp
proc mexAtExitFcn far
push ds
push @data
pop ds
cmp [word HIGH ExitP],0
jz @@skip
call [ExitP]
@@skip: pop ds
jmp pipe_AEF
endp
end
Detected encoding: OEM (CP437) | 1
|
|