changeset 175:f8ec28ace0c6

Updated docs to reflect recent changes
author lost
date Tue, 03 Mar 2009 01:27:24 +0000
parents cc41ccee8f64
children 4b45b66e0767 3711cd1c01e2
files doc/manual.docbook.sgml
diffstat 1 files changed, 144 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/doc/manual.docbook.sgml	Tue Mar 03 00:42:47 2009 +0000
+++ b/doc/manual.docbook.sgml	Tue Mar 03 01:27:24 2009 +0000
@@ -304,6 +304,12 @@
 </para>
 
 <para>
+For compatibility with the output generated by some C preprocessors, LWASM
+will also ignore lines that begin with a #. This should not be used as a general
+comment character, however.
+</para>
+
+<para>
 The opcode is not treated case sensitively. Neither are register names in
 the operand fields. Symbols, however, are case sensitive.
 </para>
@@ -339,15 +345,17 @@
 <section>
 <title>Numbers and Expressions</title>
 <para>
-Numbers can be expressed in binary, octal, decimal, or hexadecimal.
-Binary numbers may be prefixed with a "%" symbol or suffixed with a
-"b" or "B". Octal numbers may be prefixed with "@" or suffixed with
-"Q", "q", "O", or "o". Hexadecimal numbers may be prefixed with "$" or
-suffixed with "H". No prefix or suffix is required for decimal numbers but
-they can be prefixed with "&amp;" if desired. Any constant which begins with
-a letter must be expressed with the correct prefix base identifier or be
-prefixed with a 0. Thus hexadecimal FF would have to be written either 0FFH
-or $FF. Numbers are not case sensitive.
+
+Numbers can be expressed in binary, octal, decimal, or hexadecimal. Binary
+numbers may be prefixed with a "%" symbol or suffixed with a "b" or "B".
+Octal numbers may be prefixed with "@" or suffixed with "Q", "q", "O", or
+"o". Hexadecimal numbers may be prefixed with "$", "0x" or "0X", or suffixed
+with "H". No prefix or suffix is required for decimal numbers but they can
+be prefixed with "&amp;" if desired. Any constant which begins with a letter
+must be expressed with the correct prefix base identifier or be prefixed
+with a 0. Thus hexadecimal FF would have to be written either 0FFH or $FF.
+Numbers are not case sensitive.
+
 </para>
 
 <para> A symbol may appear at any point where a number is acceptable. The
@@ -1238,9 +1246,12 @@
 <title>Linker Operation</title>
 
 <para>
-LWLINK takes one or more files in the LWTOOLS object file format and links
-them into a single binary. While the precise method is slightly different,
-linking can be conceptualized as the following steps.
+
+LWLINK takes one or more files in supported input formats and links them
+into a single binary. Currently supported formats are the LWTOOLS object
+file format and the archive format used by LWAR. While the precise method is
+slightly different, linking can be conceptualized as the following steps.
+
 </para>
 
 <orderedlist>
@@ -1381,6 +1392,127 @@
 
 </chapter>
 
+<chapter>
+<title>Libraries and LWAR</title>
+
+<para>
+LWTOOLS also includes a tool for managing libraries. These are analogous to
+the static libraries created with the "ar" tool on POSIX systems. Each library
+file contains one or more object files. The linker will treat the object
+files within a library as though they had been specified individually on
+the command line except when resolving external references. External references
+are looked up first within the object files within the library and then, if
+not found, the usual lookup based on the order the files are specified on
+the command line occurs.
+</para>
+
+<para>
+The tool for creating these libary files is called LWAR.
+</para>
+
+<section>
+<title>Command Line Options</title>
+<para>
+The binary for LWAR is called "lwar". Note that the binary is in lower
+case. The options lwar understands are listed below. For archive manipulation
+options, the first non-option argument is the name of the archive. All other
+non-option arguments are the names of files to operate on.
+</para>
+
+<variablelist>
+<varlistentry>
+<term><option>--add</option></term>
+<term><option>-a</option></term>
+<listitem>
+<para>
+This option specifies that an archive is going to have files added to it.
+If the archive does not already exist, it is created. New files are added
+to the end of the archive.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--create</option></term>
+<term><option>-c</option></term>
+<listitem>
+<para>
+This option specifies that an archive is going to be created and have files
+added to it. If the archive already exists, it is truncated.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--merge</option></term>
+<term><option>-m</option></term>
+<listitem>
+<para>
+If specified, any files specified to be added to an archive will be checked
+to see if they are archives themselves. If so, their constituent members are
+added to the archive. This is useful for avoiding archives containing archives.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--list</option></term>
+<term><option>-l</option></term>
+<listitem>
+<para>
+This will display a list of the files contained in the archive.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--debug</option></term>
+<term><option>-d</option></term>
+<listitem>
+<para>
+This option increases the debugging level. It is only useful for LWTOOLS
+developers.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--help</option></term>
+<term><option>-?</option></term>
+<listitem>
+<para>
+This provides a listing of command line options and a brief description
+of each.
+</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><option>--usage</option></term>
+<listitem>
+<para>
+This will display a usage summary.
+of each.
+</para>
+</listitem>
+</varlistentry>
+
+
+<varlistentry>
+<term><option>--version</option></term>
+<term><option>-V</option></term>
+<listitem>
+<para>
+This will display the version of LWLINK.
+of each.
+</para>
+</listitem>
+</varlistentry>
+
+</section>
+
+</chapter>
+
 <chapter id="objchap">
 <title>Object Files</title>
 <para>