mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-02-17 17:19:35 +08:00
225 lines
9.5 KiB
Plaintext
225 lines
9.5 KiB
Plaintext
01/28/01 - fbk - added Stepane Denis' SSE2 instructions to a *working*
|
|
version of the code - some earlier versions were based on
|
|
broken code - sorry 'bout that. version "0.98.07"
|
|
|
|
01/28/01 - fbk - cosmetic modifications to nasm.c, nasm.h,
|
|
AUTHORS, MODIFIED
|
|
|
|
01/18/01 - fbk - "metalbrain"s jecxz bug fix in insns.dat
|
|
- alter nasmdoc.src to match - version "0.98.06f"
|
|
|
|
01/09/01 - fbk - removed the "outforms.h" file - it appears to be
|
|
someone's old backup of "outform.h". version "0.98.06e"
|
|
|
|
01/09/01 - fbk - finally added the fix for the "multiple %includes bug",
|
|
known since 7/27/99 - reported originally (?) and sent to
|
|
us by Austin Lunnen - he reports that John Fine had a fix
|
|
within the day. Here it is...
|
|
|
|
---- Nelson Rush resigns from the group. Big thanks to Nelson for
|
|
his leadership and enthusiasm in getting these changes
|
|
incorporated into Nasm!
|
|
|
|
---- fbk - [list +], [list -] directives - ineptly implemented, should
|
|
be re-written or removed, perhaps.
|
|
|
|
---- Brian Raiter / fbk - "elfso bug" fix - applied to aoutb format
|
|
as well - testing might be desirable...
|
|
|
|
08/07/00 - James Seter - -postfix, -prefix command line switches.
|
|
|
|
---- Yuri Zaporogets - rdoff utility changes.
|
|
|
|
John Coffman's changes:
|
|
For the JMP and other optimizations see the file README03.txt.
|
|
|
|
Kendall Bennett's changes:
|
|
For changes since the 0.98 release see the file scitech.txt. Note
|
|
that you must define "TASM_COMPAT" at compile-time
|
|
to get the Tasm Ideal Mode compatibility.
|
|
|
|
----------------------------------------------
|
|
... this is the 0.98 "modified" file ...
|
|
--------------------------------------------------
|
|
This file details changes since NASM 0.98p3. All the releases in this
|
|
file have been produced by H. Peter Anvin <hpa@zytor.com>.
|
|
|
|
For release 0.98:
|
|
* The documentation comment delimiter is \# not #.
|
|
* Allow EQU definitions to refer to external labels; reported by
|
|
Pedro Gimeno.
|
|
* Re-enable support for RDOFF v1; reported by Pedro Gimeno.
|
|
* Updated License file per OK from Simon and Julian.
|
|
|
|
For release 0.98p9:
|
|
* Update documentation (although the instruction set reference will
|
|
have to wait; I don't want to hold up the 0.98 release for it.)
|
|
* Verified that the NASM implementation of the PEXTRW and PMOVMSKB
|
|
instructions is correct. The encoding differs from what the Intel
|
|
manuals document, but the Pentium III behaviour matches NASM, not
|
|
the Intel manuals.
|
|
* Fix handling of implicit sizes in PSHUFW and PINSRW, reported by
|
|
Stefan Hoffmeister.
|
|
* Resurrect the -s option, which was removed when changing the
|
|
diagnostic output to stdout.
|
|
|
|
For release 0.98p8:
|
|
* Fix for "DB" when NASM is running on a bigendian machine.
|
|
* Invoke insns.pl once for each output script, making Makefile.in
|
|
legal for "make -j".
|
|
* Improve the Unix configure-based makefiles to make package
|
|
creation easier.
|
|
* Included an RPM .spec file for building RPM (RedHat Package Manager)
|
|
packages on Linux or Unix systems.
|
|
* Fix Makefile dependency problems.
|
|
* Change src/rdsrc.pl to include sectioning information in info
|
|
output; required for install-info to work.
|
|
* Updated the RDOFF distribution to version 2 from Jules; minor
|
|
massaging to make it compile in my environment.
|
|
* Split doc files that can be built by anyone with a Perl interpreter off
|
|
into a separate archive.
|
|
* "Dress rehearsal" release!
|
|
|
|
For release 0.98p7:
|
|
|
|
* Fixed opcodes with a third byte-sized immediate argument to not
|
|
complain if given "byte" on the immediate.
|
|
* Allow %undef to remove single-line macros with arguments. This
|
|
matches the behaviour of #undef in the C preprocessor.
|
|
* Allow -d, -u, -i and -p to be specified as -D, -U, -I and -P for
|
|
compatibility with most C compilers and preprocessors. This allows
|
|
Makefile options to be shared between cc and nasm, for example.
|
|
* Minor cleanups.
|
|
* Went through the list of Katmai instructions and hopefully fixed the
|
|
(rather few) mistakes in it.
|
|
* (Hopefully) fixed a number of disassembler bugs related to ambiguous
|
|
instructions (disambiguated by -p) and SSE instructions with REP.
|
|
* Fix for bug reported by Mark Junger: "call dword 0x12345678" should
|
|
work and may add an OSP (affected CALL, JMP, Jcc).
|
|
* Fix for environments when "stderr" isn't a compile-time constant.
|
|
|
|
For release 0.98p6:
|
|
|
|
* Took officially over coordination of the 0.98 release; so drop
|
|
the p3.x notation. Skipped p4 and p5 to avoid confusion with John
|
|
Fine's J4 and J5 releases.
|
|
* Update the documentation; however, it still doesn't include
|
|
documentation for the various new instructions. I somehow wonder if
|
|
it makes sense to have an instruction set reference in the assembler
|
|
manual when Intel et al have PDF versions of their manuals online.
|
|
* Recognize "idt" or "centaur" for the -p option to ndisasm.
|
|
* Changed error messages back to stderr where they belong, but add an
|
|
-E option to redirect them elsewhere (the DOS shell cannot redirect
|
|
stderr.)
|
|
* -M option to generate Makefile dependencies (based on code from Alex
|
|
Verstak.)
|
|
* %undef preprocessor directive, and -u option, that undefines a
|
|
single-line macro.
|
|
* OS/2 Makefile (Mkfiles/Makefile.os2) for Borland under OS/2; from
|
|
Chuck Crayne.
|
|
* Various minor bugfixes (reported by):
|
|
- Dangling %s in preproc.c (Martin Junker)
|
|
* THERE ARE KNOWN BUGS IN SSE AND THE OTHER KATMAI INSTRUCTIONS. I am
|
|
on a trip and didn't bring the Katmai instruction reference, so I
|
|
can't work on them right now.
|
|
* Updated the License file per agreement with Simon and Jules to
|
|
include a GPL distribution clause.
|
|
|
|
For release 0.98p3.7:
|
|
|
|
* (Hopefully) fixed the canned Makefiles to include the outrdf2 and
|
|
zoutieee modules.
|
|
* Renamed changes.asm to changed.asm.
|
|
|
|
For release 0.98p3.6:
|
|
|
|
* Fixed a bunch of instructions that were added in 0.98p3.5 which had
|
|
memory operands, and the address-size prefix was missing from the
|
|
instruction pattern.
|
|
|
|
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
|