* yasm_arch.xml, yasm_arch.7: Add new man page describing architectures.
* yasm.xml, yasm.1: Reference yasm_arch(7).
* Makefile.am: Add build rules for .7 man pages.
* modules/arch/Makefile.inc: Build yasm_arch.7.
svn path=/trunk/yasm/; revision=1140
if BUILD_MAN
.xml.1:
$(XMLTO) -o $(@D) man $<
+.xml.7:
+ $(XMLTO) -o $(@D) man $<
else
.xml.1:
@echo "Not rebuilding man page from $<"
cp `test -f $*.1 || echo '$(srcdir)/'`$*.1 $@
+.xml.7:
+ @echo "Not rebuilding man page from $<"
+ cp `test -f $*.7 || echo '$(srcdir)/'`$*.7 $@
endif
BUILT_SOURCES += $(man_MANS)
.TP
\fB\-a \fIarch\fR\fR or \fB\-\-arch=\fIarch\fR\fR
-Selects the target architecture\&. The default architecture is ``x86'', which supports both the IA\-32 and derivatives and AMD64 instruction sets\&. To print a list of available architectures to standard output, use ``help'' as \fIarch\fR\&.
+Selects the target architecture\&. The default architecture is ``x86'', which supports both the IA\-32 and derivatives and AMD64 instruction sets\&. To print a list of available architectures to standard output, use ``help'' as \fIarch\fR\&. See \fByasm_arch\fR(7) for more details\&.
.TP
\fB\-p \fIparser\fR\fR or \fB\-\-parser=\fIparser\fR\fR
.TP
\fB\-m \fImachine\fR\fR or \fB\-\-machine=\fImachine\fR\fR
-Selects the target machine architecture\&. Essentially a subtype of the selected architecture, the machine type selects between major subsets of an architecture\&. For example, for the ``x86'' architecture, the two available machines are ``x86'', which is used for the IA\-32 and derivative 32\-bit instruction set, and ``amd64'', which is used for the 64\-bit instruction set\&. This differentiation is required to generate the proper object file for relocatable object formats such as COFF and ELF\&. To print a list of available machines for a given architecture to standard output, use ``help'' as \fImachine\fR and the given architecture using \fB\-a \fIarch\fR\fR\&.
+Selects the target machine architecture\&. Essentially a subtype of the selected architecture, the machine type selects between major subsets of an architecture\&. For example, for the ``x86'' architecture, the two available machines are ``x86'', which is used for the IA\-32 and derivative 32\-bit instruction set, and ``amd64'', which is used for the 64\-bit instruction set\&. This differentiation is required to generate the proper object file for relocatable object formats such as COFF and ELF\&. To print a list of available machines for a given architecture to standard output, use ``help'' as \fImachine\fR and the given architecture using \fB\-a \fIarch\fR\fR\&. See \fByasm_arch\fR(7) for more details\&.
.SH "WARNING OPTIONS"
.SH "SEE ALSO"
.PP
-\fBas\fR(1), \fBld\fR(1), \fBnasm\fR(1)
+\fBas\fR(1), \fBld\fR(1), \fBnasm\fR(1), \fByasm_arch\fR(7)
.SH "BUGS"
.PP
-When using the ``x86'' architecture, it is over\-easy to generate AMD64 code (using the \fBBITS 64\fR directive) and generate a 32\-bit object file (by failing to specify \fB\-m amd64\fR on the command line)\&. Similarly, specifying \fB\-m amd64\fR does not default the BITS setting to 64\&.
+When using the ``x86'' architecture, it is overly easy to generate AMD64 code (using the \fBBITS 64\fR directive) and generate a 32\-bit object file (by failing to specify\fB\-m amd64\fR on the command line)\&. Similarly, specifying\fB\-m amd64\fR does not default the BITS setting to 64\&.
.SH AUTHOR
Peter Johnson <peter@tortall\&.net>.
<listitem>
- <para>Selects the target architecture. The default
- architecture is <quote>x86</quote>, which supports both
- the IA-32 and derivatives and AMD64 instruction sets. To
- print a list of available architectures to standard
- output, use <quote>help</quote> as
- <replaceable>arch</replaceable>.</para>
+ <para>Selects the target architecture. The default
+ architecture is <quote>x86</quote>, which supports both
+ the IA-32 and derivatives and AMD64 instruction sets. To
+ print a list of available architectures to standard
+ output, use <quote>help</quote> as
+ <replaceable>arch</replaceable>. See <citerefentry>
+ <refentrytitle>yasm_arch</refentrytitle>
+ <manvolnum>7</manvolnum>
+ </citerefentry> for more details.</para>
</listitem>
</varlistentry>
<listitem>
- <para>Selects the target machine architecture. Essentially a
- subtype of the selected architecture, the machine type
- selects between major subsets of an architecture. For
- example, for the <quote>x86</quote> architecture, the two
- available machines are <quote>x86</quote>, which is used
- for the IA-32 and derivative 32-bit instruction set, and
- <quote>amd64</quote>, which is used for the 64-bit
- instruction set. This differentiation is required to
- generate the proper object file for relocatable object
- formats such as COFF and ELF. To print a list of available
- machines for a given architecture to standard output, use
- <quote>help</quote> as <replaceable>machine</replaceable>
- and the given architecture using <option>-a
- <replaceable>arch</replaceable></option>.</para>
+ <para>Selects the target machine architecture. Essentially a
+ subtype of the selected architecture, the machine type
+ selects between major subsets of an architecture. For
+ example, for the <quote>x86</quote> architecture, the two
+ available machines are <quote>x86</quote>, which is used
+ for the IA-32 and derivative 32-bit instruction set, and
+ <quote>amd64</quote>, which is used for the 64-bit
+ instruction set. This differentiation is required to
+ generate the proper object file for relocatable object
+ formats such as COFF and ELF. To print a list of
+ available machines for a given architecture to standard
+ output, use <quote>help</quote> as
+ <replaceable>machine</replaceable> and the given
+ architecture using <option>-a
+ <replaceable>arch</replaceable></option>. See
+ <citerefentry>
+ <refentrytitle>yasm_arch</refentrytitle>
+ <manvolnum>7</manvolnum>
+ </citerefentry> for more details.</para>
</listitem>
</varlistentry>
<citerefentry>
<refentrytitle>nasm</refentrytitle>
<manvolnum>1</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>yasm_arch</refentrytitle>
+ <manvolnum>7</manvolnum>
</citerefentry></para>
</refsect1>
<refsect1><title>Bugs</title>
- <para>When using the <quote>x86</quote> architecture, it is over-easy to
- generate AMD64 code (using the <userinput>BITS 64</userinput>
- directive) and generate a 32-bit object file (by failing to specify
- <option>-m amd64</option> on the command line). Similarly, specifying
- <option>-m amd64</option> does not default the BITS setting to
- 64.</para>
+ <para>When using the <quote>x86</quote> architecture, it is overly easy to
+ generate AMD64 code (using the <userinput>BITS 64</userinput>
+ directive) and generate a 32-bit object file (by failing to specify
+ <option>-m amd64</option> on the command line). Similarly, specifying
+ <option>-m amd64</option> does not default the BITS setting to
+ 64.</para>
</refsect1>
include modules/arch/x86/Makefile.inc
include modules/arch/lc3b/Makefile.inc
+
+man_MANS += modules/arch/yasm_arch.7
+EXTRA_DIST += modules/arch/yasm_arch.xml
CLEANFILES += lc3bid.c
EXTRA_DIST += modules/arch/lc3b/tests/Makefile.inc
-EXTRA_DIST += modules/arch/lc3b/README
EXTRA_DIST += modules/arch/lc3b/lc3bid.re
include modules/arch/lc3b/tests/Makefile.inc
+++ /dev/null
-Architecture to support the LC-3b ISA as used in the ECE 312 course at the
-University of Illinois, Urbana-Champaign.
-See http://courses.ece.uiuc.edu/ece312/ for more details.
CLEANFILES += x86id.c
EXTRA_DIST += modules/arch/x86/tests/Makefile.inc
-EXTRA_DIST += modules/arch/x86/README
EXTRA_DIST += modules/arch/x86/x86id.re
include modules/arch/x86/tests/Makefile.inc
+++ /dev/null
-Architecture to support Intel IA-32, AMD x86-64, and other extensions and
-derivatives of the x86 instruction set.
--- /dev/null
+.\"Generated by db2man.xsl. Don't modify this, modify the source.
+.de Sh \" Subsection
+.br
+.if t .Sp
+.ne 5
+.PP
+\fB\\$1\fR
+.PP
+..
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Ip \" List item
+.br
+.ie \\n(.$>=3 .ne \\$3
+.el .ne 3
+.IP "\\$1" \\$2
+..
+.TH "YASM_ARCH" 7 "September 2004" "YASM" "YASM Architectures"
+.SH NAME
+yasm_arch \- YASM Architectures
+.SH "SYNOPSIS"
+.ad l
+.hy 0
+.HP 5
+\fByasm\fR \fB\-a\ \fIarch\fR\fR [\fB\-m\ \fImachine\fR\fR] \fB\fI\&.\&.\&.\fR\fR
+.ad
+.hy
+
+.SH "DESCRIPTION"
+
+.PP
+The standard YASM distribution includes a number of loadable modules for different target architectures\&. Additional target architectures may be installed as third\-party modules\&. Each target architecture can support one or more machine architectures\&.
+
+.PP
+The architecture and machine are selected on the \fByasm\fR(1) command line by use of the \fB\-a \fIarch\fR\fR and \fB\-m \fImachine\fR\fR command line options, respectively\&.
+
+.SH "X86 ARCHITECTURE"
+
+.PP
+The ``x86'' architecture supports the IA\-32 instruction set and derivatives and the AMD64 instruction set\&. It consists of two machines: ``x86'' (for the IA\-32 and derivatives) and``amd64'' (for the AMD64 and derivatives)\&. The default machine for the ``x86'' architecture is the``x86'' machine\&.
+
+.SH "LC3B ARCHITECTURE"
+
+.PP
+The ``lc3b'' architecture supports the LC\-3b ISA as used in the ECE 312 (now ECE 411) course at the University of Illinois, Urbana\-Champaign, as well as other university courses\&. See \fIhttp://courses.ece.uiuc.edu/ece411/\fR for more details and example code\&. The ``lc3b'' architecture consists of only one machine: ``lc3b''\&.
+
+.SH "SEE ALSO"
+
+.PP
+\fByasm\fR(1)
+
+.SH "BUGS"
+
+.PP
+When using the ``x86'' architecture, it is overly easy to generate AMD64 code (using the \fBBITS 64\fR directive) and generate a 32\-bit object file (by failing to specify\fB\-m amd64\fR on the command line)\&. Similarly, specifying\fB\-m amd64\fR does not default the BITS setting to 64\&.
+
+.SH AUTHOR
+Peter Johnson <peter@tortall\&.net>.
--- /dev/null
+<?xml version="1.0"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+
+<!-- $Id$ -->
+
+<refentry id="yasm_arch">
+
+<refentryinfo>
+ <title>YASM Architectures</title>
+ <date>September 2004</date>
+ <productname>YASM</productname>
+ <author>
+ <firstname>Peter</firstname>
+ <surname>Johnson</surname>
+ <affiliation>
+ <address><email>peter@tortall.net</email></address>
+ </affiliation>
+ </author>
+
+ <copyright>
+ <year>2004</year>
+ <holder>Peter Johnson</holder>
+ </copyright>
+</refentryinfo>
+
+<refmeta>
+ <refentrytitle>yasm_arch</refentrytitle>
+ <manvolnum>7</manvolnum>
+</refmeta>
+
+<refnamediv>
+ <refname>yasm_arch</refname>
+ <refpurpose>YASM Architectures</refpurpose>
+</refnamediv>
+
+<refsynopsisdiv>
+ <cmdsynopsis>
+ <command>yasm</command>
+ <arg choice="plain">
+ <option>-a <replaceable>arch</replaceable></option>
+ </arg>
+ <arg choice="opt">
+ <option>-m <replaceable>machine</replaceable></option>
+ </arg>
+ <arg choice="plain">
+ <option><replaceable>...</replaceable></option>
+ </arg>
+ </cmdsynopsis>
+</refsynopsisdiv>
+
+<refsect1><title>Description</title>
+
+ <para>The standard YASM distribution includes a number of loadable modules
+ for different target architectures. Additional target architectures
+ may be installed as third-party modules. Each target architecture can
+ support one or more machine architectures.</para>
+
+ <para>The architecture and machine are selected on the <citerefentry>
+ <refentrytitle>yasm</refentrytitle> <manvolnum>1</manvolnum>
+ </citerefentry> command line by use of the <option>-a
+ <replaceable>arch</replaceable></option> and <option>-m
+ <replaceable>machine</replaceable></option> command line options,
+ respectively.</para>
+
+</refsect1>
+
+<refsect1><title>x86 Architecture</title>
+
+ <para>The <quote>x86</quote> architecture supports the IA-32 instruction
+ set and derivatives and the AMD64 instruction set. It consists of two
+ machines: <quote>x86</quote> (for the IA-32 and derivatives) and
+ <quote>amd64</quote> (for the AMD64 and derivatives). The default
+ machine for the <quote>x86</quote> architecture is the
+ <quote>x86</quote> machine.</para>
+
+</refsect1>
+
+<refsect1><title>lc3b Architecture</title>
+
+ <para>The <quote>lc3b</quote> architecture supports the LC-3b ISA as used
+ in the ECE 312 (now ECE 411) course at the University of Illinois,
+ Urbana-Champaign, as well as other university courses. See <ulink
+ url="http://courses.ece.uiuc.edu/ece411/"/> for more details and
+ example code. The <quote>lc3b</quote> architecture consists of only
+ one machine: <quote>lc3b</quote>.</para>
+
+</refsect1>
+
+<refsect1><title>See Also</title>
+
+ <para><citerefentry>
+ <refentrytitle>yasm</refentrytitle>
+ <manvolnum>1</manvolnum>
+ </citerefentry></para>
+
+</refsect1>
+
+<refsect1><title>Bugs</title>
+
+ <para>When using the <quote>x86</quote> architecture, it is overly easy to
+ generate AMD64 code (using the <userinput>BITS 64</userinput>
+ directive) and generate a 32-bit object file (by failing to specify
+ <option>-m amd64</option> on the command line). Similarly, specifying
+ <option>-m amd64</option> does not default the BITS setting to
+ 64.</para>
+
+</refsect1>
+
+</refentry>