NASM 0.93
[nasm.git] / Readme
blob5033c58e11b6e3fb8f8a22bd7747d3bb9a4d9b2c
1 This is a distribution of NASM, the Netwide Assembler. NASM is a
2 prototype general-purpose x86 assembler. It will currently output
3 flat-form binary files, a.out, COFF and ELF Unix object files,
4 Microsoft 16-bit DOS and Win32 object files, the as86 object format,
5 and a home-grown format called RDF.
7 Also included is NDISASM, a prototype x86 binary-file disassembler
8 which uses the same instruction table as NASM.
10 To install NASM on Linux, type `make', and then when it has finished
11 copy the file `nasm' (and maybe `ndisasm') to a directory on your
12 search path (maybe /usr/local/bin, or ~/bin if you don't have root
13 access). You may also want to copy the man page `nasm.1' (and maybe
14 `ndisasm.1') to somewhere sensible.
16 To rebuild the DOS sources, three makefiles are provided:
17 Makefile.dos, the one the standard release is built from, designed
18 for a hybrid system using Microsoft C and Borland Make (don't ask
19 why :-), Makefile.bor (for Borland C) and Makefile.bc2 (also for
20 Borland C, contributed by Fox Cutter <lmb@comtch.iea.com>, may work
21 better than Makefile.bor in some cases).
23 If you want to build a restricted version of NASM containing only
24 some of the object file formats, you can achieve this by adding
25 #defines to `outform.h' (see the file itself for documentation), or
26 equivalently by adding compiler command line options in the
27 Makefile.
29 There is a machine description file for the `LCC' retargetable C
30 compiler, in the directory `lcc', along with instructions for its
31 use. This means that NASM can now be used as the code-generator back
32 end for a useful C compiler.
34 Michael `Wuschel' Tippach has ported his DOS extender `WDOSX' to
35 enable it to work with the 32-bit binary files NASM can output: the
36 original extender and his port `WDOSX/N' are available from his web
37 page, http://www.geocities.com/SiliconValley/Park/4493.
39 The `misc' directory contains `nasm.sl', a NASM editing mode for the
40 JED programmers' editor (see http://space.mit.edu/~davis/jed.html
41 for details about JED). The comment at the start of the file gives
42 instructions on how to install the mode. This directory also
43 contains a file (`magic') containing lines to add to /etc/magic on
44 Unix systems to allow the `file' command to recognise RDF files.
46 The `rdoff' directory contains sources for a linker and loader for
47 the RDF object file format, to run under Linux, and also
48 documentation on the internal structure of RDF files.
50 For information about how you can distribute and use NASM, see the
51 file Licence. We were tempted to put NASM under the GPL, but decided
52 that in many ways it was too restrictive for developers.
54 For information about how to use NASM, see `nasm.doc'. For
55 information about how to use NDISASM, see `ndisasm.doc'. For
56 information about the internal structure of NASM, see
57 `internals.doc'.
59 Bug reports (and patches if you can) should be sent to
60 jules@dcs.warwick.ac.uk or anakin@pobox.com.