NASM 0.98p3.7
[nasm.git] / MODIFIED
blobeb4de364e2626d39566d3eb27a8944d007d689a6
1 This is a modified version of NASM, modified and released by H. Peter
2 Anvin <hpa@zytor.com>; it is not the original form released by the
3 NASM authors.
5 For release 0.98p3.7:
7 * (Hopefully) fixed the canned Makefiles to include the outrdf2 and
8   zoutieee modules.
9 * Renamed changes.asm to changed.asm.
11 For release 0.98p3.6:
13 * Fixed a bunch of instructions that were added in 0.98p3.5 which had
14   memory operands, and the address-size prefix was missing from the
15   instruction pattern.
17 For release 0.98p3.5:
19 * Merged in changes from John S. Fine's 0.98-J5 release.  John's based
20   0.98-J5 on my 0.98p3.3 release; this merges the changes.
21 * Expanded the instructions flag field to a long so we can fit more
22   flags; mark SSE (KNI) and AMD or Katmai-specific instructions as
23   such.
24 * Fix the "PRIV" flag on a bunch of instructions, and create new
25   "PROT" flag for protected-mode-only instructions (orthogonal to if
26   the instruction is privileged!) and new "SMM" flag for SMM-only
27   instructions.
28 * Added AMD-only SYSCALL and SYSRET instructions.
29 * Make SSE actually work, and add new Katmai MMX instructions.
30 * Added a -p (preferred vendor) option to ndisasm so that it can
31   distinguish e.g. Cyrix opcodes also used in SSE.  For example:
33         ndisasm -p cyrix aliased.bin
34         00000000  670F514310        paddsiw mm0,[ebx+0x10]
35         00000005  670F514320        paddsiw mm0,[ebx+0x20]
36         ndisasm -p intel aliased.bin
37         00000000  670F514310        sqrtps xmm0,[ebx+0x10]
38         00000005  670F514320        sqrtps xmm0,[ebx+0x20]
39 * Added a bunch of Cyrix-specific instructions.
41 For release 0.98p3.4:
43 * Made at least an attempt to modify all the additional Makefiles (in
44   the Mkfiles directory).  I can't test it, but this was the best I
45   could do.
46 * DOS DJGPP+"Opus Make" Makefile from John S. Fine.
47 * changes.asm changes from John S. Fine.
50 For release 0.98p3.3:
52 * Patch from Conan Brink to allow nesting of %rep directives.
53 * If we're going to allow INT01 as an alias for INT1/ICEBP (one of
54   Jules 0.98p3 changes), then we should allow INT03 as an alias for INT3
55   as well.
56 * Updated changes.asm to include the latest changes.
57 * Tried to clean up the <CR>s that had snuck in from a DOS/Windows
58   environment into my Unix environment, and try to make sure than
59   DOS/Windows users get them back.
60 * We would silently generate broken tools if insns.dat wasn't sorted
61   properly.  Change insns.pl so that the order doesn't matter.
62 * Fix bug in insns.pl (introduced by me) which would cause conditional
63   instructions to have an extra "cc" in disassembly, e.g. "jnz"
64   disassembled as "jccnz".
67 For release 0.98p3.2:
69 * Merged in John S. Fine's changes from his 0.98-J4 prerelease; see
70   http://www.csoft.net/cz/johnfine/
71 * Changed previous "spotless" Makefile target (appropriate for distribution)
72   to "distclean", and added "cleaner" target which is same as "clean"
73   except deletes files generated by Perl scripts; "spotless" is union.
74 * Removed BASIC programs from distribution.  Get a Perl interpreter
75   instead (see below.)
76 * Calling this "pre-release 3.2" rather than "p3-hpa2" because of
77   John's contributions.
78 * Actually link in the IEEE output format (zoutieee.c); fix a bunch of
79   compiler warnings in that file.  Note I don't know what IEEE output
80   is supposed to look like, so these changes were made "blind".
83 For release 0.98p3-hpa:
85 * Merged nasm098p3.zip with nasm-0.97.tar.gz to create a fully
86   buildable version for Unix systems (Makefile.in updates, etc.)
87 * Changed insns.pl to create the instruction tables in nasm.h and
88   names.c, so that a new instruction can be added by adding it *only*
89   to insns.dat.
90 * Added the following new instructions: SYSENTER, SYSEXIT, FXSAVE,
91   FXRSTOR, UD1, UD2 (the latter two are two opcodes that Intel
92   guarantee will never be used; one of them is documented as UD2 in
93   Intel documentation, the other one just as "Undefined Opcode" --
94   calling it UD1 seemed to make sense.)
95 * MAX_SYMBOL was defined to be 9, but LOADALL286 and LOADALL386 are 10
96   characters long.  Now MAX_SYMBOL is derived from insns.dat.
97 * A note on the BASIC programs included: forget them.  insns.bas is
98   already out of date.  Get yourself a Perl interpreter for your
99   platform of choice at:
101         http://www.cpan.org/ports/index.html