H. Peter Anvin d7ed89eac9 NASM 0.94
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:51:53 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:51:32 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:52:08 +00:00
2002-04-30 20:51:32 +00:00

This is a distribution of NASM, the Netwide Assembler. NASM is a
prototype general-purpose x86 assembler. It will currently output
flat-form binary files, a.out, COFF and ELF Unix object files,
Microsoft 16-bit DOS and Win32 object files, the as86 object format,
and a home-grown format called RDF.

Also included is NDISASM, a prototype x86 binary-file disassembler
which uses the same instruction table as NASM.

To install NASM on Linux, type `make', and then when it has finished
copy the file `nasm' (and maybe `ndisasm') to a directory on your
search path (maybe /usr/local/bin, or ~/bin if you don't have root
access). You may also want to copy the man page `nasm.1' (and maybe
`ndisasm.1') to somewhere sensible.

To rebuild the DOS sources, various makefiles are provided:
- Makefile.dos, the one I build the standard releases from, designed
  for a hybrid system using Microsoft C and Borland Make (don't ask
  why :-)
- Makefile.bor (for Borland C)
- Makefile.bc2 (also for Borland C, contributed by Fox Cutter
  <lmb@comtch.iea.com>, may work better than Makefile.bor in some
  cases).
- Makefile.wc, for Watcom C, compiling to a 32-bit extended DOS
  executable. Contributed by Dominik Behr.
- Makefile.wcw, also for Watcom C, compiling to a Win32 command-
  line application. Also contributed by Dominik Behr.

I don't guarantee that any of those, other than Makefile.dos, work,
since I don't have the compilers to test them myself. Also be
warned: I have had various conflicting reports regarding building
NASM using Borland C. Several people have informed me that it
doesn't work except under Huge model, and one or two have said that
it doesn't work under Huge model either.

Dominik Behr has also contributed the file misc/pmw.bat, which is a
batch file to turn the output from Makefile.wc (NASM.EXE and
NDISASM.EXE) into standalone executables incorporating Tran's
PMODE/W DOS extender, rather than depending on an external extender
program.

If you're trying to unpack the DOS (.ZIP format) archive under Unix
instead of using the .tar.gz version, you can save some time by
doing `unzip -aL', which will convert the DOS-format text files to
Unix and also convert all names to lower case.

If you want to build a restricted version of NASM containing only
some of the object file formats, you can achieve this by adding
#defines to `outform.h' (see the file itself for documentation), or
equivalently by adding compiler command line options in the
Makefile.

There is a machine description file for the `LCC' retargetable C
compiler, in the directory `lcc', along with instructions for its
use. This means that NASM can now be used as the code-generator back
end for a useful C compiler.

Michael `Wuschel' Tippach has ported his DOS extender `WDOSX' to
enable it to work with the 32-bit binary files NASM can output: the
original extender and his port `WDOSX/N' are available from his web
page, http://www.geocities.com/SiliconValley/Park/4493.

Matt Mastracci has written a document explaining how to write
assembly language modules in DJGPP programs using NASM: it's on his
web site at http://www.ucalgary.ca/~mmastrac/djgppasm.doc.

The `misc' directory contains `nasm.sl', a NASM editing mode for the
JED programmers' editor (see http://space.mit.edu/~davis/jed.html
for details about JED). The comment at the start of the file gives
instructions on how to install the mode. This directory also
contains a file (`magic') containing lines to add to /etc/magic on
Unix systems to allow the `file' command to recognise RDF files.

The `rdoff' directory contains sources for a linker and loader for
the RDF object file format, to run under Linux, and also
documentation on the internal structure of RDF files.

For information about how you can distribute and use NASM, see the
file Licence. We were tempted to put NASM under the GPL, but decided
that in many ways it was too restrictive for developers.

For information about how to use NASM, see `nasm.doc'. For
information about how to use NDISASM, see `ndisasm.doc'. For
information about the internal structure of NASM, see
`internal.doc'. (In particular, _please_ read `internal.doc' before
writing any code for us...)

Bug reports (and patches if you can) should be sent to
<jules@dcs.warwick.ac.uk> or <anakin@pobox.com>.
Description
No description provided
Readme BSD-2-Clause 10 MiB
Languages
Assembly 61.7%
C 31.7%
Perl 3.2%
Makefile 0.8%
M4 0.7%
Other 1.9%