Go to file
H. Peter Anvin (Intel) 367350319b rbtree: implement a "threaded LLRB tree"
Change the left-leaning red-black (LLRB) trees into left-leaning
threaded red-black trees. Instead of NULL pointers at leaf nodes, use
the otherwise unused field as a pointer to the lexical predecessor
(left) or successor (right). This allows fast previous/next
interator operation without needing to keep track of the root of the
tree at all times.

The additional metadata that needs to be kept can be done for "free"
simply by changing "bool red" into a flag field.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-29 23:23:51 -07:00
asm Merge tag 'nasm-2.15' 2020-06-27 15:36:59 -07:00
autoconf autoconf: update check for gcc inlines 2019-08-16 00:14:17 -07:00
common BR 3392409: idata_bytes() and resv_bytes() don't match their prototypes 2017-06-01 15:23:05 -07:00
config BR 3392667: more reasonable limit for expression descent 2020-06-01 13:21:05 -07:00
contrib contrib/MSVC6.txt: Add guide how to use nasm in MSVC6 2010-01-24 23:17:55 +03:00
disasm disam: explicitly change stdin to binary mode 2020-04-22 00:09:58 +00:00
doc doc: some more cleanups and detailed specifications 2020-06-27 16:50:56 -07:00
headers headers: Update year 2010-04-25 12:02:38 +04:00
include rbtree: implement a "threaded LLRB tree" 2020-06-29 23:23:51 -07:00
macros Drop unnecessary EXTERN symbols 2019-09-12 20:21:03 -04:00
misc Move <string.h> inclusion to compiler.h 2018-12-26 06:32:37 -08:00
Mkfiles Makefile: add warnings.src to perlreq; longer list of binary files 2020-06-27 16:04:38 -07:00
nasmlib rbtree: implement a "threaded LLRB tree" 2020-06-29 23:23:51 -07:00
nsis nsis: use /solid compression for smaller size 2017-04-07 11:05:09 -07:00
output outlib: add infrastructure for common section and symbol handling 2020-06-27 22:11:27 -07:00
perllib perl files: clean up warnings 2019-08-09 13:30:19 -07:00
rdoff error: replace nasm_verror() indirection with preproc callback 2019-08-28 19:02:47 -07:00
stdlib Remove #includes already provided by "compiler.h" 2018-12-27 12:45:44 -08:00
test Merge tag 'nasm-2.15' 2020-06-27 15:36:59 -07:00
tools Makefile: add warnings.src to perlreq; longer list of binary files 2020-06-27 16:04:38 -07:00
travis preproc, srcfile: much saner handling of %line directives 2020-06-14 20:09:11 -07:00
x86 insns.dat: Add Intel Control-Flow Enforcement Technology (CET) instructions 2020-06-27 16:12:37 -07:00
.gitignore .gitignore: add *.pdf.xz 2020-06-05 13:21:05 -07:00
.travis.yml travis: Disable osx for a while 2018-10-17 21:40:14 +03:00
AUTHORS Correct name spelling and email address 2015-01-18 20:21:14 +02:00
autogen.sh config/unconfig.h: eliminate #undef directives 2019-10-03 21:34:42 -07:00
ChangeLog Documention Changes for Release 2.00 2007-11-25 14:25:13 -08:00
CHANGES Move the revision history into the documentation 2008-07-14 02:45:57 -04:00
configure.ac BR 3392667: more reasonable limit for expression descent 2020-06-01 13:21:05 -07:00
INSTALL Update the INSTALL file to match current reality 2008-06-28 18:53:55 -07:00
LICENSE LICENSE: update year 2010-08-12 20:15:27 -07:00
Makefile.in Makefile: add warnings.src to perlreq; longer list of binary files 2020-06-27 16:04:38 -07:00
nasm.spec.in nasm.spec.in: need perl; .pdf.xz now build by standard Makefile 2020-06-04 17:17:28 -07:00
nasm.spec.sed nasm.spec: use a sed file to insert perl dependencies 2017-04-23 18:54:23 -07:00
nasm.txt Add group aliases for all prefixed warnings. 2019-06-06 20:53:17 -07:00
ndisasm.txt ndisasm: man -- Add missing -p option 2013-04-20 20:18:46 +04:00
README.md Add travis status into readme 2018-10-17 21:40:14 +03:00
SubmittingPatches Add SubmittingPatches file 2010-10-03 21:02:08 +04:00
version NASM 2.15.01 2020-06-27 16:15:25 -07:00
version.pl preproc: standard macros now C-safe, %aliases off, fix %? recursion 2019-08-27 16:42:41 -07:00

NASM, the Netwide Assembler

master

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 the "simplified" (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler.

Visit our nasm.us website for more details. We are gradually moving services away from Sourceforge. For our remaining Sourceforge services see here.

With best regards, the NASM crew.