No description
Find a file
H. Peter Anvin bb72f7f111 Un-special-case "xchg rax,rax"; disassemble o64
Un-special-case "xchg rax,rax"; allow it to be encoded as 48 90 for
orthogonality's sake.  It's a no-op, to be sure, but so are many other
instructions.

"xchg eax,eax" is still special-cased in 64-bit mode since it is not a
no-op; unadorned opcode 90 is now simply "nop" and nothing else.

Make the disassembler detect unused REX.W and display them as an "o64"
prefix.
2007-11-12 22:56:07 -08:00
doc Update documentation for stack relative directives. 2007-11-10 21:55:19 -08: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
lib Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
misc No binary files left in the source distro; unbreak release script 2007-11-08 20:21:41 -08:00
Mkfiles Run "make alldeps" 2007-10-30 01:13:27 -07:00
output BR 1709392: Fix alignment handling in Mach-O format 2007-11-12 22:11:46 -08:00
perllib Use the crc64 we already use as the perfect hash function prehash 2007-10-02 17:40:00 -07:00
rdoff Actually shut up the warning in rdfload.c 2007-10-28 23:10:34 -07:00
test Un-special-case "xchg rax,rax"; disassemble o64 2007-11-12 22:56:07 -08:00
.gitignore Anchor filename locations in .gitignore 2007-10-19 13:17:24 -07:00
aclocal.m4 Cleaner way to add gcc options 2007-04-15 22:45:25 +00:00
assemble.c Fix disassembly of XCHG 2007-11-12 21:02:33 -08:00
assemble.h Prepare for 64-bit instruction lengths 2007-11-06 18:27:23 -08: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 Better handling of platforms which hide "extended" functionality 2007-10-26 18:49:29 -07:00
configure.in Better handling of platforms which hide "extended" functionality 2007-10-26 18:49:29 -07:00
COPYING NASM 0.98.30 2002-04-30 21:09:12 +00:00
crc64.c Portability fixes 2007-10-02 21:53:51 -07:00
disasm.c Un-special-case "xchg rax,rax"; disassemble o64 2007-11-12 22:56:07 -08:00
disasm.h Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
eval.c Upgrade label functions to 64-bit 2007-11-05 17:19:32 -08:00
eval.h Change cloc_t to struct location, and reorder the members 2007-10-03 21:30:57 -07:00
exprlib.c Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
float.c float.c: all warnings and errors are pass 1 only 2007-11-12 18:26:31 -08:00
float.h Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
hashtbl.c Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
hashtbl.h Use the crc64 we already use as the perfect hash function prehash 2007-10-02 17:40:00 -07:00
insns.dat Un-special-case "xchg rax,rax"; disassemble o64 2007-11-12 22:56:07 -08:00
insns.h Support __float*__ for floating-point numbers in expressions 2007-09-24 12:30:54 -07:00
insns.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
INSTALL INSTALL: MSVC++ compilation instructions 2007-09-16 22:27:07 -07:00
install-sh NASM 0.98.30 2002-04-30 21:09:12 +00:00
labels.c Upgrade label functions to 64-bit 2007-11-05 17:19:32 -08:00
labels.h Upgrade label functions to 64-bit 2007-11-05 17:19:32 -08:00
LICENSE LICENSE: Break long line 2007-10-05 17:01:15 -07:00
listing.c Don't combine type and size into a single argument 2007-11-09 14:44:02 -08:00
listing.h Apply Nindent to all .c and .h files 2005-01-15 22:15:51 +00:00
macros.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
Makefile.in Run "make alldeps" 2007-10-30 01:13:27 -07:00
mkdep.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
names.c Fixed distinction between char and int8_t data types. 2007-04-13 16:47:53 +00:00
nasm.1 modified: nasm.1 to add newer command line options 2007-09-30 22:15:36 -07:00
nasm.c Upgrade RAA functions to hold 64-bit data. 2007-11-07 19:03:46 -08:00
nasm.h Fix handling of XCHG in 64-bit mode 2007-11-12 20:18:05 -08:00
nasm.spec.in Modernize nasm.spec.in and make it closer to the Fedora version 2007-10-19 10:52:31 -07:00
nasmlib.c nasmlib.c: prefix_name(): use the elements() macro 2007-11-08 19:34:01 -08:00
nasmlib.h Move elements() to nasmlib.h 2007-11-08 19:30:22 -08:00
ndisasm.1 Update manual pages 2007-09-19 21:41:27 -07:00
ndisasm.c Suppress signedness warnings in disassembler 2007-10-18 21:17:20 -07:00
outform.c Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07: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 Permit opcode names as labels as long as they are followed by a colon 2007-11-04 21:10:42 -08:00
parser.h Change cloc_t to struct location, and reorder the members 2007-10-03 21:30:57 -07: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 Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
preproc.c Add flat64 to %stacksize choices 2007-11-08 22:11:14 -08: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 Fix handling of XCHG in 64-bit mode 2007-11-12 20:18:05 -08:00
regs.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
standard.mac Comma-separate contents of __FLOAT__ 2007-10-16 14:42:32 -07:00
stdscan.c Support binary and octal floating-point 2007-10-22 17:34:10 -07:00
stdscan.h Finishing touches on perfect hash tokenizer; actually turn the thing on 2007-08-30 22:35:34 +00:00
sync.c Portability fixes 2007-10-02 21:53:51 -07: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 Use a 32-bit floating-point limb size; support 8-bit float 2007-10-29 20:20:12 -07:00
tokhash.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -07:00
version NASM 0.99.06 2007-10-31 23:37:35 -07:00
version.pl Formatting: kill off "stealth whitespace" 2007-10-19 14:42:29 -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.