home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / nasmos2.zip / README < prev    next >
Text File  |  1997-03-31  |  4KB  |  90 lines

  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.
  6.  
  7. Also included is NDISASM, a prototype x86 binary-file disassembler
  8. which uses the same instruction table as NASM.
  9.  
  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.
  15.  
  16. To rebuild the DOS sources, various makefiles are provided:
  17. - Makefile.dos, the one I build the standard releases from, designed
  18.   for a hybrid system using Microsoft C and Borland Make (don't ask
  19.   why :-)
  20. - Makefile.bor (for Borland C)
  21. - Makefile.bc2 (also for Borland C, contributed by Fox Cutter
  22.   <lmb@comtch.iea.com>, may work better than Makefile.bor in some
  23.   cases).
  24. - Makefile.wc, for Watcom C, compiling to a 32-bit extended DOS
  25.   executable. Contributed by Dominik Behr.
  26. - Makefile.wcw, also for Watcom C, compiling to a Win32 command-
  27.   line application. Also contributed by Dominik Behr.
  28.  
  29. I don't guarantee that any of those, other than Makefile.dos, work,
  30. since I don't have the compilers to test them myself. Also be
  31. warned: I have had various conflicting reports regarding building
  32. NASM using Borland C. Several people have informed me that it
  33. doesn't work except under Huge model, and one or two have said that
  34. it doesn't work under Huge model either.
  35.  
  36. Dominik Behr has also contributed the file misc/pmw.bat, which is a
  37. batch file to turn the output from Makefile.wc (NASM.EXE and
  38. NDISASM.EXE) into standalone executables incorporating Tran's
  39. PMODE/W DOS extender, rather than depending on an external extender
  40. program.
  41.  
  42. If you're trying to unpack the DOS (.ZIP format) archive under Unix
  43. instead of using the .tar.gz version, you can save some time by
  44. doing `unzip -aL', which will convert the DOS-format text files to
  45. Unix and also convert all names to lower case.
  46.  
  47. If you want to build a restricted version of NASM containing only
  48. some of the object file formats, you can achieve this by adding
  49. #defines to `outform.h' (see the file itself for documentation), or
  50. equivalently by adding compiler command line options in the
  51. Makefile.
  52.  
  53. There is a machine description file for the `LCC' retargetable C
  54. compiler, in the directory `lcc', along with instructions for its
  55. use. This means that NASM can now be used as the code-generator back
  56. end for a useful C compiler.
  57.  
  58. Michael `Wuschel' Tippach has ported his DOS extender `WDOSX' to
  59. enable it to work with the 32-bit binary files NASM can output: the
  60. original extender and his port `WDOSX/N' are available from his web
  61. page, http://www.geocities.com/SiliconValley/Park/4493.
  62.  
  63. Matt Mastracci has written a document explaining how to write
  64. assembly language modules in DJGPP programs using NASM: it's on his
  65. web site at http://www.ucalgary.ca/~mmastrac/djgppasm.doc.
  66.  
  67. The `misc' directory contains `nasm.sl', a NASM editing mode for the
  68. JED programmers' editor (see http://space.mit.edu/~davis/jed.html
  69. for details about JED). The comment at the start of the file gives
  70. instructions on how to install the mode. This directory also
  71. contains a file (`magic') containing lines to add to /etc/magic on
  72. Unix systems to allow the `file' command to recognise RDF files.
  73.  
  74. The `rdoff' directory contains sources for a linker and loader for
  75. the RDF object file format, to run under Linux, and also
  76. documentation on the internal structure of RDF files.
  77.  
  78. For information about how you can distribute and use NASM, see the
  79. file Licence. We were tempted to put NASM under the GPL, but decided
  80. that in many ways it was too restrictive for developers.
  81.  
  82. For information about how to use NASM, see `nasm.doc'. For
  83. information about how to use NDISASM, see `ndisasm.doc'. For
  84. information about the internal structure of NASM, see
  85. `internal.doc'. (In particular, _please_ read `internal.doc' before
  86. writing any code for us...)
  87.  
  88. Bug reports (and patches if you can) should be sent to
  89. <jules@dcs.warwick.ac.uk> or <anakin@pobox.com>.
  90.