📄 as_en.html
字号:
</TR>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT><B> Directory LIB</B></TH>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT></TH>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT><B> Directory MAN</B></TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT></TD>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>ASL.1<BR>
PLIST.1<BR>
PBIND.1<BR>
P2HEX.1<BR>
P2BIN.1</TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>quick reference for AS<BR>
quick reference for PLIST<BR>
quick reference for PBIND<BR>
quick reference for P2HEX<BR>
quick reference for P2BIN</TD>
</TR>
</TABLE></CENTER>
</CENTER>
<P><CENTER>Table 2.3: Standard Contents of a Binary Distribution - Part 3<A
NAME="ref_TabCommonPackageList3"></A>
</CENTER><P>
<P>
Depending on the platform, a binary distribution however may contain
more files to allow operation, like files necessary for DOS
extenders. In case of the DOS DPMI version, the extensions listed in
table <A HREF="#ref_TabDPMIPackageList">2.4</A> result. Just to
mention it: it is perfectly O.K. to replace the tools with their
counterparts from a DOS binary distribution; on the on hand, they
execute significantly faster without the extender's overhead, and on
the other hand, they do not need the extended memory provided by the
extender.
<P>
<CENTER>
<P><CENTER><TABLE SUMMARY="No Summary" BORDER=1 CELLPADDING=5>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>File</TH>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>Function</TH>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT><B> Directory BIN</B></TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT></TD>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>DPMI16BI.OVL<BR>
RTM.EXE</TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>DPMI server for the assembler<BR>
runtime module of the extender</TD>
</TR>
</TABLE></CENTER>
</CENTER>
<P><CENTER>Table 2.4: Additional Files in a DPMI Binary Distribution<A
NAME="ref_TabDPMIPackageList"></A>
</CENTER><P>
<P>
An OS/2 binary distribution contains in addition to the base files a
set of DLLs belonging to the runtime environment of the emx compiler
used to build AS (table <A HREF="#ref_TabOS2PackageList">2.5</A>). In
case you already have these DLLs (or newer versions of them), you may
delete these and use your ones insted.
<P>
<CENTER>
<P><CENTER><TABLE SUMMARY="No Summary" BORDER=1 CELLPADDING=5>
<TR ALIGN=LEFT>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>File</TH>
<TH VALIGN=TOP NOWRAP ALIGN=LEFT>function</TH>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT><B> Directory BIN</B></TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT></TD>
</TR>
<TR ALIGN=LEFT>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>EMX.DLL<BR>
EMXIO.DLL<BR>
EMXLIBC.DLL<BR>
EMXWRAP.DLL</TD>
<TD VALIGN=TOP NOWRAP ALIGN=LEFT>runtime libraries for AS and<BR>
its tools<BR>
<BR>
</TD>
</TR>
</TABLE></CENTER>
</CENTER>
<P><CENTER>Table 2.5: Additional Files in an OS/2 binary distribution<A
NAME="ref_TabOS2PackageList"></A>
</CENTER><P>
<P>
<H2><A NAME="sect_2_3_">2.3. Installation</A></H2>
<P>
There is no need for a special installation prior to usage of AS. It
is sufficient to unpack the archive in a fitting place and to add a
few minor settings. For example, this is an installation a user used
to UNIX-like operating systems might choose:
<P>
Create a directory c:\as an (I will assume in the following that you
are going to install AS on drive C), change to this directory and
unpack the archiv, keeping the path names stored in the archive (when
using PKUNZIP, the command line option -d is necessary for that). You
now should have the following directory tree:
<PRE>
c:\as
c:\as\bin
c:\as\include
c:\as\lib
c:\as\man
c:\as\doc
c:\as\demos
</PRE>
Now, append the directory c:\as\bin to the<TT> PATH</TT> statement in
your<TT> AUTOEXEC.BAT</TT>, which allows the system to find AS and
its tools. With your favourite text editor, create a file named<TT>
AS.RC</TT> in the<TT> lib</TT> directory with the following contents:
<PRE>
-i c:\as\include
</PRE>
This so-called<EM> key file</EM> tells AS where to search for its
include files. The following statement must be added to your<TT>
AUTOEXEC.BAT</TT> to tell AS to read this file:
<PRE>
set ASCMD=@c:\as\lib\as.rc
</PRE>
There are many more things you can preset via the key file; they are
listed in the following section.
<P>
The installation of the DPMI version should principally take the same
course as for the pure DOS version; as soon as the PATH contains
the<TT> bin</TT> directory, the DOS extender's files will be found
automatically and you should not notice anything of this mechanism
(except for the longer startup time...). When working on an
80286-based computer, it is theoretically possible tha you get
confronted with the following message upon the first start:
<PRE>
machine not in database (run DPMIINST)
</PRE>
Since the DPMIINST tool ins not any more included in newer versions
of Borland's DOS extender, I suppose that this is not an item any
more...in case you run into this, contact me!
<P>
The installation of the OS/2 version can generally be done just like
for the DOS version, with the addition that the DLLs have to be made
visible for the operating system. In case you do not want to extend
the<TT> LIBPATH</TT> entry in your<TT> CONFIG.SYS</TT>, it is of
course also valid to move the DLLs into a directory already listed
in<TT> LIBPATH</TT>.
<P>
As already mentioned, the installation instructions in this section
limit themselves to binary distributions. Since an installation under
Unix is currently alway a source-based installation, the only hint I
can give here is a reference to appendix <A
HREF="#ref_ChapSource">I</A>.
<P>
<H2><A NAME="sect_2_4_">2.4. Start-Up Command, Parameters</A></H2>
<A NAME="ref_SectCallConvention"></A>
<P>
AS is a command line driven program, i.e. all parameters and file
options are to be given in the command line.
<P>
A couple of message files belongs to AS (recognizable by their
suffix<TT> MSG</TT>) AS accesses to dynamically load the messages
appropriate for the national language. AS searches the following
directories for these files:
<UL>
<LI> the current directory;</LI>
<LI> the EXE-file's directory;</LI>
<LI> the directory named in the<TT> AS_MSGPATH</TT> environment variable,
or alternitavely the directories listed in the<TT> PATH</TT>
environment variable;</LI>
<LI> the directory compiled into AS via the<TT> LIBDIR</TT> macro.</LI>
</UL>
These files are<EM> indispensable</EM> for a proper operation of AS,
i.e. AS will terminate immediately if these files are not found.
<P>
The language selection (currently only German and English) is based
on the<TT> COUNTRY</TT> setting under DOS and OS/2 respectively on
the<TT> LANG</TT> environment variable under Unix.
<P>
In order to fulfill AS's memory requirements under DOS, the various
code generator modules of the DOS version were moved into an overlay
which is part of the EXE file. A separate OVR file like in earlier
versions of AS therefore dose not exist any more, AS will however
still attempt to reduce the overlaying delays by using eventually
available EMS or XMS memory. In case this results in trouble, you may
suppress usage of EMS or XMS by setting the environment variable<TT>
USEXMS</TT> or<TT> USEEMS</TT> to<TT> n</TT>. E.g., it is possible to
suppress the using of XMS by the command:
<PRE>
SET USEXMS=n
</PRE>
Since AS performs all in- and output via the operating system (and
therefore it should run also on not 100% compatible DOS-PC's) and
needs some basic display control, it emits ANSI control sequences
during the assembly. In case you should see strange characters in the
messages displayed by AS, your<TT> CONFIG.SYS</TT> is obviously
lacking a line like this:
<PRE>
device=ansi.sys
</PRE>
but the further functions of AS will not be influenced hereby.
Alternatively you are able to suppress the output of ANSI sequences
completely by setting the environment variable<TT> USEANSI</TT>
to<TT> n</TT>.
<P>
The DOS extender of the DPMI version can be influenced in its memory
allocation strategies by a couple of environment variables; if you
need to know their settings, you may look up them in the file<TT>
DPMIUSER.DOC</TT>. ASX is additionally able to extend the available
memory by a swap file. To do this, set up an environment variable<TT>
ASXSWAP</TT> in the following way:
<PRE>
SET ASXSWAP=<size>[,file name]
</PRE>
The size specification has to be done in megabytes and<B> has</B> to
be done. The file name in contrast is optional; if it is missing, the
file is named<TT> ASX.TMP</TT> and placed in the current directory.
In any case, the swap file is deleted after program end.
<P>
The command line parameters can roughly be divided into three
categories: switches, key file references (see below) and file
specifications. Parameters of these two categories may be arbitrarily
mixed in the command line. The assembler evaluates at first all
parameters and then assembles the specified files. From this follow
two things:
<UL>
<LI> the specified switches affect all specified source files. If several
source files shall be assembled with different switches, this has
to be done in separate runs.</LI>
<LI> it is possible to assemble more than one file in one shot and to
bring it to the top, it is allowed that the file specs contain
wildcards.</LI>
</UL>
Parameter switches are recognized by AS by starting with a slash (/)
or hyphen (-). There are switches that are only one character long
and additionally switches composed of a whole word. Whenever AS
cannot interpret a switch as a whole word, it tries to interprete
every letter as an individual switch. For example, if you write
<PRE>
-queit
</PRE>
instead of
<PRE>
-quiet
</PRE>
AS will take the letters<TT> q, u, e, i</TT>, and<TT> t</TT> as
individual switches. Multiple-letter switches additionally have the
difference to single-letter switches that AS will accept an arbitrary
mixture of upper and lower casing, whereas single-letter switches may
have a different meaning depending on whether upper or lower case is
used.
<P>
At the moment, the following switches are defined:<A
NAME="index_SHARED_1"></A>
<UL>
<LI> <TT>l</TT>: sends assembler listing to console terminal (mostly
screen). In case several passes have to be done, the listing of
all passes will be send to the console (in opposite to the next
option).</LI>
<LI> <TT>L</TT>: writes assembler listing into a file. The list file will
get the same name as the source file, only the extension is
replaced by<TT> LST</TT>. Except one uses...</LI>
<LI> <TT>OLIST</TT>: with a fiel name as argument allows to redirect the
listing to a different file or a different path. This option may
be used multiple times in case multiple files are assembled with
one execution.</LI>
<LI> <TT>o</TT>: Sets the new name of the code file generated by AS. If
this option is used multiple times, the names will be assigned,
one after the other, to the source files which have to be
assembled. A negation (see below) of this option in connection
with a name erases this name from the list. A negation without a
name erases the whole list.</LI>
<LI> <TT>SHAREOUT</TT>:ditto for a SHARE file eventually to be
created.</LI>
<LI> <TT>c</TT>: SHARED-variables will be written in a format which
permits an easy integration into a C-source file. The extension
of the file is<TT> H</TT>.</LI>
<LI> <TT>p</TT>: SHARED-variables will be written in a format which
permits easy integration into the CONST-block of a Pascal
program. The extension of the file is<TT> INC</TT>.</LI>
<LI> <TT>a</TT>: SHARED-variables will be written in a format which
permits easy integration into an assembler source file. The
extension of the file is<TT> INC</TT>.</LI>
</UL>
Concerning effect and function of the SHARED-symbols please see
chapters <A HREF="#ref_ChapShareMain">2.13</A> resp. <A
HREF="#ref_ChapShareOrder">3.9.1</A>.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -