summaryrefslogtreecommitdiff
path: root/MODIFIED
blob: 4e0ddb159c0ef7da078c150344c68a2249edeba9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
This is a modified version of NASM, modified and released by H. Peter
Anvin <hpa@zytor.com>; it is not the original form released by the
NASM authors.

For release 0.98p3.5:

* Merged in changes from John S. Fine's 0.98-J5 release.  John's based
  0.98-J5 on my 0.98p3.3 release; this merges the changes.
* Expanded the instructions flag field to a long so we can fit more
  flags; mark SSE (KNI) and AMD or Katmai-specific instructions as
  such.
* Fix the "PRIV" flag on a bunch of instructions, and create new
  "PROT" flag for protected-mode-only instructions (orthogonal to if
  the instruction is privileged!) and new "SMM" flag for SMM-only
  instructions.
* Added AMD-only SYSCALL and SYSRET instructions.
* Make SSE actually work, and add new Katmai MMX instructions.
* Added a -p (preferred vendor) option to ndisasm so that it can
  distinguish e.g. Cyrix opcodes also used in SSE.  For example:

	ndisasm -p cyrix aliased.bin
	00000000  670F514310        paddsiw mm0,[ebx+0x10]
	00000005  670F514320        paddsiw mm0,[ebx+0x20]
	ndisasm -p intel aliased.bin
	00000000  670F514310        sqrtps xmm0,[ebx+0x10]
	00000005  670F514320        sqrtps xmm0,[ebx+0x20]
* Added a bunch of Cyrix-specific instructions.

For release 0.98p3.4:

* Made at least an attempt to modify all the additional Makefiles (in
  the Mkfiles directory).  I can't test it, but this was the best I
  could do.
* DOS DJGPP+"Opus Make" Makefile from John S. Fine.
* changes.asm changes from John S. Fine.


For release 0.98p3.3:

* Patch from Conan Brink to allow nesting of %rep directives.
* If we're going to allow INT01 as an alias for INT1/ICEBP (one of
  Jules 0.98p3 changes), then we should allow INT03 as an alias for INT3
  as well.
* Updated changes.asm to include the latest changes.
* Tried to clean up the <CR>s that had snuck in from a DOS/Windows
  environment into my Unix environment, and try to make sure than
  DOS/Windows users get them back.
* We would silently generate broken tools if insns.dat wasn't sorted
  properly.  Change insns.pl so that the order doesn't matter.
* Fix bug in insns.pl (introduced by me) which would cause conditional
  instructions to have an extra "cc" in disassembly, e.g. "jnz"
  disassembled as "jccnz".


For release 0.98p3.2:

* Merged in John S. Fine's changes from his 0.98-J4 prerelease; see
  http://www.csoft.net/cz/johnfine/
* Changed previous "spotless" Makefile target (appropriate for distribution)
  to "distclean", and added "cleaner" target which is same as "clean"
  except deletes files generated by Perl scripts; "spotless" is union.
* Removed BASIC programs from distribution.  Get a Perl interpreter
  instead (see below.)
* Calling this "pre-release 3.2" rather than "p3-hpa2" because of
  John's contributions.
* Actually link in the IEEE output format (zoutieee.c); fix a bunch of
  compiler warnings in that file.  Note I don't know what IEEE output
  is supposed to look like, so these changes were made "blind".


For release 0.98p3-hpa:

* Merged nasm098p3.zip with nasm-0.97.tar.gz to create a fully
  buildable version for Unix systems (Makefile.in updates, etc.)
* Changed insns.pl to create the instruction tables in nasm.h and
  names.c, so that a new instruction can be added by adding it *only*
  to insns.dat.
* Added the following new instructions: SYSENTER, SYSEXIT, FXSAVE,
  FXRSTOR, UD1, UD2 (the latter two are two opcodes that Intel
  guarantee will never be used; one of them is documented as UD2 in
  Intel documentation, the other one just as "Undefined Opcode" --
  calling it UD1 seemed to make sense.)
* MAX_SYMBOL was defined to be 9, but LOADALL286 and LOADALL386 are 10
  characters long.  Now MAX_SYMBOL is derived from insns.dat.
* A note on the BASIC programs included: forget them.  insns.bas is
  already out of date.  Get yourself a Perl interpreter for your
  platform of choice at:

	http://www.cpan.org/ports/index.html