Go to file
H. Peter Anvin cde08292d6 Define a proper hash table library
Define a proper hash table library, instead of the current ad hoc stuff
used for both labels and macros.  This only implements the actual
library; it is not yet used.

We use a CRC64 as a prehash.  This is almost certainly overkill,
although it is rather efficient (except, arguably, the table lookup)
on 64-bit platforms, and not all that bad on 32-bit platforms.  All we
really need is a function which produces two independent 32-bit
results which are used as the primary and secondary hash
respectively.  Either way, the prehash function is easily replacable
if/when we have a quicker alternative.
2007-09-14 09:24:38 -07:00
doc Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
inttypes Add _MIN and _MAX macros for the fixed-size types. 2007-08-20 20:09:11 +00:00
lcc Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
misc release script: fix final cleanup 2007-09-13 12:25:32 -07:00
Mkfiles Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
output Provide 64-bit support for ORG directive 2007-09-04 01:29:43 +00:00
perllib phash: Tell the user when the graph is OK 2007-09-12 16:55:57 +00:00
rdoff Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
test Simple performance benchmarks: label, macro and token lookups 2007-09-13 18:13:20 -07:00
aclocal.m4 Cleaner way to add gcc options 2007-04-15 22:45:25 +00:00
assemble.c Add (untested!) SSSE3, SSE4.1, SSE4.2 instructions 2007-09-12 21:58:51 -07:00
assemble.h General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
AUTHORS Accept responsibility for support of outelf64.c 2007-04-30 22:26:58 +00:00
autogen.sh autogen.sh script to create configure, et al. 2007-04-12 16:25:58 +00:00
ChangeLog General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
CHANGES General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
compiler.h AIf we have config.h, we should actually include it!! 2007-04-13 20:06:41 +00:00
configure.in Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
COPYING
crc64.c Define a proper hash table library 2007-09-14 09:24:38 -07:00
disasm.c Add (untested!) SSSE3, SSE4.1, SSE4.2 instructions 2007-09-12 21:58:51 -07:00
disasm.h Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
eval.c Allow '!' to be used in expressions with same meaning as in C. 2007-05-02 04:21:26 +00:00
eval.h Apply Nindent to all .c and .h files 2005-01-15 22:15:51 +00:00
float.c Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
float.h Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
hashtbl.c Define a proper hash table library 2007-09-14 09:24:38 -07:00
hashtbl.h Define a proper hash table library 2007-09-14 09:24:38 -07:00
insns.dat Fix literal F2 and F3 prefixes 2007-09-12 22:02:06 -07:00
insns.h Add (untested!) SSSE3, SSE4.1, SSE4.2 instructions 2007-09-12 21:58:51 -07:00
insns.pl Support r/m operands for non-integer types 2007-09-12 21:04:39 -07:00
INSTALL
install-sh
labels.c Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
labels.h Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
LICENSE *** empty log message *** 2007-04-13 00:38:29 +00:00
listing.c c99 printf/fprintf compliance. 2007-04-14 00:10:59 +00:00
listing.h Apply Nindent to all .c and .h files 2005-01-15 22:15:51 +00:00
macros.pl Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
Makefile.in Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
mkdep.pl
names.c Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
nasm.1
nasm.c Finishing touches on perfect hash tokenizer; actually turn the thing on 2007-08-30 22:35:34 +00:00
nasm.h Add (untested!) SSSE3, SSE4.1, SSE4.2 instructions 2007-09-12 21:58:51 -07:00
nasm.spec.in Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
nasmlib.c Minor cleanup; remove duplication of names.c 2007-08-31 00:16:10 +00:00
nasmlib.h Use a perfect hash to look up preprocessor directives 2007-09-12 01:29:43 +00:00
ndisasm.1 Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
ndisasm.c Clean up the 64-bitification of regs.dat for 64-bit ndisasm support 2007-04-15 23:12:17 +00:00
outform.c Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
outform.h Allow ELF32 to be invoked either as -f elf or -f elf32 2007-04-29 00:28:24 +00:00
parser.c Support r/m operands for non-integer types 2007-09-12 21:04:39 -07:00
parser.h Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
phash.pl Make the perfect hash generator an includable module 2007-08-30 20:15:25 +00:00
pptok.dat Use a perfect hash to look up preprocessor directives 2007-09-12 01:29:43 +00:00
pptok.pl pptok.c: don't insist on C99 compiler behaviour 2007-09-13 11:06:42 -07:00
preproc.c preproc.c: adjust whitespace 2007-09-12 04:20:08 +00:00
preproc.h Use a perfect hash to look up preprocessor directives 2007-09-12 01:29:43 +00:00
README General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
regs.dat Add (untested!) SSSE3, SSE4.1, SSE4.2 instructions 2007-09-12 21:58:51 -07:00
regs.pl Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00
standard.mac Add standard macro for [default] directive 2007-08-29 16:40:26 +00:00
stdscan.c Minor cleanup; remove duplication of names.c 2007-08-31 00:16:10 +00:00
stdscan.h Finishing touches on perfect hash tokenizer; actually turn the thing on 2007-08-30 22:35:34 +00:00
sync.c sync.c: change ULONG_MAX to UINT32_MAX 2007-08-20 20:10:04 +00:00
sync.h General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
TODO General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
tokens.dat Simplify tokens.dat slightly 2007-09-11 22:00:34 +00:00
tokhash.pl Use enumerations where practical to ease debugging 2007-09-12 20:27:41 -07:00
version update "version" to 0.99.02 2007-05-30 21:22:33 +00:00
version.pl Remove $Id$ tags (useless with git) 2007-09-12 21:05:06 -07:00

              NASM, the Netwide Assembler.

Many many developers all over the net respect NASM for what it is
- a widespread (thus netwide), portable (thus netwide!), very
flexible and mature assembler tool with support for many output
formats (thus netwide!!).

Now we have good news for you: NASM is licensed under LGPL.
This means its development is open to even wider society of
programmers wishing to improve their lovely assembler.

The NASM project is now situated at SourceForge.net, the most
popular Open Source development site on the Internet.

Visit our website at http://nasm.sourceforge.net/ and our
SourceForge project at http://sourceforge.net/projects/nasm/

See the file CHANGES for the description of changes between revisions.

                                                   With best regards,
                                                           NASM crew.