mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 02:45:58 +02:00
+ Initial check-in
This commit is contained in:
parent
9968b42c63
commit
fc43868dd4
70
docs/dxeload.xml
Normal file
70
docs/dxeload.xml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO8859-1"?>
|
||||||
|
<fpdoc-descriptions>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
$Id$
|
||||||
|
This file is part of the FPC documentation.
|
||||||
|
Copyright (C) 1997, by Michael Van Canneyt
|
||||||
|
|
||||||
|
The FPC documentation is free text; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public License as
|
||||||
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The FPC Documentation is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with the FPC documentation; see the file COPYING.LIB. If not,
|
||||||
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
-->
|
||||||
|
<package name="rtl">
|
||||||
|
<module name="dxeload">
|
||||||
|
<short>Load DXE file in to memory</short>
|
||||||
|
<descr>
|
||||||
|
<p>
|
||||||
|
The <file>dxeload</file> unit was implemented by Pierre M\"uller for dos,
|
||||||
|
it allows to load a DXE file (an object file with 1 entry point)
|
||||||
|
into memory and return a pointer to the entry point.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
It exists only for dos.
|
||||||
|
</p>
|
||||||
|
</descr>
|
||||||
|
|
||||||
|
<element name="DXE_MAGIC">
|
||||||
|
<short> Magic number, found in the header of a DXE file.</short>>
|
||||||
|
</element>
|
||||||
|
|
||||||
|
<element name="dxe_header">
|
||||||
|
<short>Record with header of DXE file</short>
|
||||||
|
<descr>
|
||||||
|
The <var>dxe_header</var> record describes the header of a DXE file. It is used to
|
||||||
|
determine the magic number of the DXE file and number of relocations that
|
||||||
|
must be done when the object file is loaded in memory.
|
||||||
|
</descr>
|
||||||
|
</element>
|
||||||
|
|
||||||
|
<element name="dxe_load">
|
||||||
|
<short>Load DXE file in memory</short>
|
||||||
|
<descr>
|
||||||
|
<p>
|
||||||
|
<var>dxe_load</var> loads the contents of the file <var>filename</var> into memory.
|
||||||
|
It performs the necessary relocations in the object code, and returns then
|
||||||
|
a pointer to the entry point of the code.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
For an example, see the <link id="#rtl.emu387">emu387</link> unit in the RTL.
|
||||||
|
</p>
|
||||||
|
</descr>
|
||||||
|
<errors>
|
||||||
|
If an error occurs during the load or relocations, <var>Nil</var> is returned.
|
||||||
|
</errors>
|
||||||
|
</element>
|
||||||
|
|
||||||
|
</module>
|
||||||
|
</package>
|
||||||
|
</fpdoc-descriptions>
|
82
docs/emu387.xml
Normal file
82
docs/emu387.xml
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
<?xml version="1.0" encoding="ISO8859-1"?>
|
||||||
|
<fpdoc-descriptions>
|
||||||
|
<!--
|
||||||
|
|
||||||
|
$Id$
|
||||||
|
This file is part of the FPC documentation.
|
||||||
|
Copyright (C) 1997, by Michael Van Canneyt
|
||||||
|
|
||||||
|
The FPC documentation is free text; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Library General Public License as
|
||||||
|
published by the Free Software Foundation; either version 2 of the
|
||||||
|
License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The FPC Documentation is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Library General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Library General Public
|
||||||
|
License along with the FPC documentation; see the file COPYING.LIB. If not,
|
||||||
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||||
|
Boston, MA 02111-1307, USA.
|
||||||
|
-->
|
||||||
|
<package name="rtl">
|
||||||
|
<module name="emu387">
|
||||||
|
<short>Load coprocessor emulation support</short>
|
||||||
|
<descr>
|
||||||
|
<p>
|
||||||
|
The <file>emu387</file> unit was written by Pierre Mueller for dos. It
|
||||||
|
sets up the coprocessor emulation for FPC under dos. It is not necessary to
|
||||||
|
use this unit on other OS platforms because they either simply do not run on
|
||||||
|
a machine without coprocessor, or they provide the coprocessor emulation
|
||||||
|
themselves.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
It shouldn't be necessary to use the function in this unit, it should be
|
||||||
|
enough to place this unit in the <var>uses</var> clause of your program to
|
||||||
|
enable the coprocessor emulation under dos. The unit initialization
|
||||||
|
code will try and load the coprocessor emulation code and initialize it.
|
||||||
|
</p>
|
||||||
|
</descr>
|
||||||
|
|
||||||
|
<element name="npxsetup">
|
||||||
|
<short>Set up coprocessor emulation.</short>
|
||||||
|
<descr>
|
||||||
|
<p>
|
||||||
|
<var>npxsetup</var> checks whether a coprocessor is found. If not, it loads the
|
||||||
|
file <file>wmemu387.dxe</file> into memory and initializes the code in it.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If the environment variable <var>387</var> is set to <var>N</var>, then the emulation
|
||||||
|
will be loaded, even if there is a coprocessor present. If the variable
|
||||||
|
doesn't exist, or is set to any other value, the unit will try to detect
|
||||||
|
the presence of a coprocessor unit.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The function searches the file <file>wmemu387.dxe</file> in the following way:
|
||||||
|
</p>
|
||||||
|
<ol>
|
||||||
|
<li> If the environment variable <var>EMU387</var> is set, then it is assumed
|
||||||
|
to point at the <file>wmemu387.dxe</file> file.
|
||||||
|
</li>
|
||||||
|
<li> if the environment variable <var>EMU387</var> does not exist, then the
|
||||||
|
function will take the path part of <var>prog_name</var> and look in that
|
||||||
|
directory for the file <file>wmemu387.dxe</file>.
|
||||||
|
</li>
|
||||||
|
</ol>
|
||||||
|
<p>
|
||||||
|
It should never be necessary to call this function, because the
|
||||||
|
initialization code of the unit contains a call to the function with
|
||||||
|
as an argument <var>paramstr(0)</var>. This means that you should deliver the
|
||||||
|
file <var>wmemu387.dxe</var> together with your program.
|
||||||
|
</p>
|
||||||
|
</descr>
|
||||||
|
<errors>
|
||||||
|
If there is an error, an error message is printed to standard error, and
|
||||||
|
the program is halted, since any floating-point code is bound to fail anyhow.
|
||||||
|
</errors>
|
||||||
|
</element>
|
||||||
|
</module>
|
||||||
|
</package>
|
||||||
|
</fpdoc-descriptions>
|
Loading…
Reference in New Issue
Block a user