Initial commit

This commit is contained in:
Eagle517
2025-02-17 23:17:30 -06:00
commit 7cad314c94
4726 changed files with 1145203 additions and 0 deletions

357
bin/nasm/Licence Executable file
View File

@ -0,0 +1,357 @@
Terms and Conditions for the use of the Netwide Assembler
=========================================================
Can I have the gist without reading the legalese?
-------------------------------------------------
Basically, NASM is free. You can't charge for it. You can copy it as
much as you like. You can incorporate it, or bits of it, into other
free programs if you want. (But we want to know about it if you do,
and we want to be mentioned in the credits.) We may well allow you
to incorporate it into commercial software too, but we'll probably
demand some money for it, and we'll certainly demand to be given
credit. And in extreme cases (although I can't immediately think of
a reason we might actually want to do this) we may refuse to let you
do it at all.
NASM LICENCE AGREEMENT
======================
By "the Software" this licence refers to the complete contents of
the NASM archive, excluding this licence document itself, and
excluding the contents of the `test' directory. The Netwide
Disassembler, NDISASM, is specifically included under this licence.
I. The Software is freely redistributable; anyone may copy the
Software, or parts of the Software, and give away as many copies as
they like to anyone, as long as this licence document is kept with
the Software. Charging a fee for the Software is prohibited,
although a fee may be charged for the act of transferring a copy,
and you can offer warranty protection and charge a fee for that.
II. The Software, or parts thereof, may be incorporated into other
freely redistributable software (by which we mean software that may
be obtained free of charge) without requiring permission from the
authors, as long as due credit is given to the authors of the
Software in the resulting work, as long as the authors are informed
of this action if possible, and as long as those parts of the
Software that are used remain under this licence.
III. Modified forms of the Software may be created and distributed
as long as the authors are informed of this action if possible, as
long as the resulting work remains under this licence, as long as
the modified form of the Software is distributed with documentation
which still gives credit to the original authors of the Software,
and as long as the modified form of the Software is distributed with
a clear statement that it is not the original form of the Software
in the form that it was distributed by the authors.
IV. The Software, or parts thereof, may be incorporated into other
software which is not freely redistributable (i.e. software for
which a fee is charged), as long as permission is granted from the
authors of the Software. The authors reserve the right to grant this
permission only for a fee, which may at our option take the form of
royalty payments. The authors also reserve the right to refuse to
grant permission if they deem it necessary. For further information
about who exactly the authors are, see clause XI below.
V. The Software may be incorporated, in its original archive form,
into software collections or archives which are not freely
redistributable, as long as it is clearly stated that the Software
itself remains freely redistributable and remains under this licence
and no other. Such collections are deemed not to fall under article
IV of this licence.
VI. Object files or programs generated by the Software as output do
not fall under this licence at all, and may be placed under any
licence the author wishes. The authors explicitly lay no claim to,
and assert no rights over, any programs written by other people and
assembled into object form by the Software.
VII. You may not copy, modify or distribute the Software except
under the terms given in this licence document. You may not
sublicense the Software or in any way place it under any other
licence than this one. Since you have not signed this licence, you
are not of course required to accept it; however, no other licence
applies to the Software, and nothing else grants you any permission
to copy, modify, sublicense or distribute the Software in any way.
These actions are therefore prohibited if you do not accept this
licence.
VIII. There is no warranty for the Software, to the extent permitted
by applicable law. The authors provide the Software "as is" without
warranty of any kind, either expressed or implied, including but not
limited to the implied warranties of merchantability and fitness for
a particular purpose. The entire risk as to the quality and
performance of the Software is with you. Should the Software prove
defective, you assume the cost of all necessary servicing, repair or
correction.
IX. In no event, unless required by applicable law or agreed to in
writing, will any of the authors be liable to you for damages,
including any general, special, incidental or consequential damages,
arising out of the use or the inability to use the Software,
including but not limited to loss of data or data being rendered
inaccurate or a failure of the Software to operate with any other
programs, even if you have been advised of the possibility of such
damages.
X. In addition to what this Licence otherwise provides, the Software
may be distributed in such a way as to be compliant with the GNU
General Public Licence, as published by the Free Software Foundation,
Cambridge, MA, USA; version 2, or, at your option, any later version;
incorporated herein by reference. You must include a copy of this
Licence with such distribution. Furthermore, patches sent to the
authors for the purpose of inclusion in the official release version
are considered cleared for release under the full terms of this
Licence.
XI. The authors of NASM are the original authors (Simon Tatham and
Julian Hall) and all those who the original authors feel have
contributed significantly to the overall project. If you wish to
contact the authors, Julian Hall (jules@earthcorp.com) should be your
first port of call.
XII. Should any part of this agreement be deemed unenforcable, it is
intended that the remainder of the agreement be held in force.
END OF LICENCE AGREEMENT

179
bin/nasm/Readme Executable file
View File

@ -0,0 +1,179 @@
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 Win32 and 16-bit DOS object files, OS/2 object files, the
as86 object format, and a home-grown format called RDOFF.
Also included is NDISASM, a prototype x86 binary-file disassembler
which uses the same instruction table as NASM.
To install NASM on UNIX or Linux, type `./configure', then `make', and
then either `make install', or 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. Note
that source and binaries are also available in RPM format; to install
an RPM on a system which uses this packaging format (mostly Linux
distributions) simply do "rpm -Uivh filename.rpm".
To install under DOS, if you don't need to rebuild from the sources,
you can just copy either nasm.exe and ndisasm.exe (32-bit DOS-extended
versions), nasmr.exe and ndisasmr.exe (16-bit classical DOS
executables), or nasmw.exe and ndisasmw.exe (Win32 console
applications - less likely to run out of memory), to somewhere on your
PATH.
The 32-bit applications require a DPMI server. If you're running
under plain DOS and don't have a DPMI server already, you can get
CSDPMI from ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2misc/.
To rebuild the DOS sources, various makefiles are provided:
- Makefile.dos, the one I build the standard 16-bit releases from,
designed for a hybrid system using Microsoft C and Borland Make
(don't ask why :-)
- Makefile.vc, for Microsoft Visual C++ compiling to a Win32
command-line application. This is the one I build the standard
Win32 release binaries from.
- Makefile.bor, for Borland C.
- Makefile.bc2, also for Borland C, contributed by Fox Cutter.
Reported to work better than Makefile.bor on some systems.
- Makefile.sc, for Symantec C++, compiling to a 32-bit extended DOS
executable.. Contributed by Mark Junker.
- Makefile.scw, also for Symantec C++, compiling to a Win32 command-
line application. Also contributed by Mark Junker.
- 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.
- Makefile.dj, for DJGPP, compiling to a 32-bit extended DOS
executable. Contributed by Dominik Behr.
- Makefile.lcc, for lcc-win32, compiling to a Win32 command line
application. (The lcc-win32 compiler and tools are available from
http://www.remcomp.com/lcc-win32/)
I can't guarantee that all of those makefiles work, because I don't
have all of those compilers. However, Makefile.dos and Makefile.vc
work on my system, and so do Makefile.bor and Makefile.bc2.
Be careful with Borland C: there have been various conflicting
reports about how reliable the Huge memory model is. If you try to
compile NASM in Large model, you may get DGROUP overflows due to the
vast quantity of data in the instruction tables. I've had reports
from some people that Huge model doesn't work at all (and also
reports from others that it works fine), so if you don't want to try
moving to Huge, you could try adding the option `-dc' to the
compiler command line instead, which causes string literals to be
moved from DGROUP to the code segments and might make Large model
start working. (Either solution works for me.)
To rebuild truly from scratch, or to make any changes to insns.dat or
standard.mac, you need a Perl interpreter installed. Perl
interpreters are available for a number of platforms, from:
http://www.cpan.org/ports/
For DOS you can also get one from:
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/
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.
Some of the Windows makefiles produce executables called nasmw.exe
and ndisasmw.exe, and some don't. Be prepared for either...
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 (version 4.0), 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, and
a zip file (`exasm.zip') containing the necessary files for syntax
highlighting in the Aurora DOS editor. (The Aurora files were
contributed by <U993847220@aol.com>; I haven't tested them as I
don't have Aurora.)
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 release 0.98 and later, the NASM source distribution contains the
following components:
Unix Windows, OS/2 DOS
nasm-X.XX.tar.gz nasm-X.XX.zip nasmXXXs.zip
Main archive: Contain all sources you need to build NASM,
plus the documentation source code. If you have a Perl
interpreter and (possibly) Winhelp compiler installed, you
don't need any additional files.
nasm-X.XX-xdoc.tar.gz nasm-X.XX-xdoc.zip nasmXXXd.zip
Documentation in HTML, INFO, text, and PostScript format.
You can compile these files yourself from the main archive
if you have a Perl interpreter installed.
N/A nasm-X.XX-whlp.zip N/A
Documentation in Windows help format. You can compile this
file yourself from the main archive if you have a Perl
interpreter and a Winhelp compiler installed.
The Unix, Windows-OS/2, and DOS versions differ in the following ways:
The Unix version uses the Unix line ending convention (LF), and long file
names with upper and lower case.
The Windows-OS/2 version uses the Microsoft line ending convention
(CR+LF), and long file names with upper and lower case.
The DOS version uses the Microsoft line ending convention (CR+LF),
with all filenames in 8.3 monocase.
For information about how to use NASM, see the various forms of
documentation in the `doc' directory: documentation is provided in
HTML, PostScript, plain text, Texinfo, and Windows Help formats. 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...)
The NASM web page is at http://www.cryogen.com/Nasm/
Bug reports (and patches if you can) should be sent to
<hpa@zytor.com>.

BIN
bin/nasm/nasmw.exe Executable file

Binary file not shown.

BIN
bin/nasm/ndisasmw.exe Executable file

Binary file not shown.