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