⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.src

📁 汇编编译器的最新版本的源码.买了自己动手写操作系统这本书的人一定要下
💻 SRC
📖 第 1 页 / 共 4 页
字号:

\b Lots of Makefile updates and bug fixes.

\b New \c{%ifmacro} directive to test for multiline macros.

\b Documentation updates.

\b Fixes for 16-bit OBJ format output.

\b Changed the NASM environment variable to NASMENV.


\S{cl-0.98.30} Version 0.98.30

\b Changed doc files a lot: completely removed old READMExx and
  Wishlist files, incorporating all information in CHANGES and TODO.

\b I waited a long time to rename zoutieee.c to (original) outieee.c

\b moved all output modules to output/ subdirectory.

\b Added 'make strip' target to strip debug info from nasm & ndisasm.

\b Added INSTALL file with installation instructions.

\b Added -v option description to nasm man.

\b Added dist makefile target to produce source distributions.

\b 16-bit support for ELF output format (GNU extension, but useful.)


\S{cl-0.98.28} Version 0.98.28

\b Fastcooked this for Debian's Woody release:
Frank applied the INCBIN bug patch to 0.98.25alt and called
it 0.98.28 to not confuse poor little apt-get.


\S{cl-0.98.26} Version 0.98.26

\b Reorganised files even better from 0.98.25alt


\S{cl-0.98.25alt} Version 0.98.25alt

\b Prettified the source tree. Moved files to more reasonable places.

\b Added findleak.pl script to misc/ directory.

\b Attempted to fix doc.


\S{cl-0.98.25} Version 0.98.25

\b Line continuation character \c{\\}.

\b Docs inadvertantly reverted - "dos packaging".


\S{cl-0.98.24p1} Version 0.98.24p1

\b FIXME: Someone, document this please.


\S{cl-0.98.24} Version 0.98.24

\b Documentation - Ndisasm doc added to Nasm.doc.


\S{cl-0.98.23} Version 0.98.23

\b Attempted to remove rdoff version1

\b Lino Mastrodomenico's patches to preproc.c (%$$ bug?).


\S{cl-0.98.22} Version 0.98.22

\b Update rdoff2 - attempt to remove v1.


\S{cl-0.98.21} Version 0.98.21

\b Optimization fixes.


\S{cl-0.98.20} Version 0.98.20

\b Optimization fixes.


\S{cl-0.98.19} Version 0.98.19

\b H. J. Lu's patch back out.


\S{cl-0.98.18} Version 0.98.18

\b Added ".rdata" to "-f win32".


\S{cl-0.98.17} Version 0.98.17

\b H. J. Lu's "bogus elf" patch. (Red Hat problem?)


\S{cl-0.98.16} Version 0.98.16

\b Fix whitespace before "[section ..." bug.


\S{cl-0.98.15} Version 0.98.15

\b Rdoff changes (?).

\b Fix fixes to memory leaks.


\S{cl-0.98.14} Version 0.98.14

\b Fix memory leaks.


\S{cl-0.98.13} Version 0.98.13

\b There was no 0.98.13


\S{cl-0.98.12} Version 0.98.12

\b Update optimization (new function of "-O1")

\b Changes to test/bintest.asm (?).


\S{cl-0.98.11} Version 0.98.11

\b Optimization changes.

\b Ndisasm fixed.


\S{cl-0.98.10} Version 0.98.10

\b There was no 0.98.10


\S{cl-0.98.09} Version 0.98.09

\b Add multiple sections support to "-f bin".

\b Changed GLOBAL_TEMP_BASE in outelf.c from 6 to 15.

\b Add "-v" as an alias to the "-r" switch.

\b Remove "#ifdef" from Tasm compatibility options.

\b Remove redundant size-overrides on "mov ds, ex", etc.

\b Fixes to SSE2, other insns.dat (?).

\b Enable uppercase "I" and "P" switches.

\b Case insinsitive "seg" and "wrt".

\b Update install.sh (?).

\b Allocate tokens in blocks.

\b Improve "invalid effective address" messages.


\S{cl-0.98.08} Version 0.98.08

\b Add "\c{%strlen}" and "\c{%substr}" macro operators

\b Fixed broken c16.mac.

\b Unterminated string error reported.

\b Fixed bugs as per 0.98bf


\S{cl-0.98.09b with John Coffman patches released 28-Oct-2001} Version 0.98.09b with John Coffman patches released 28-Oct-2001

Changes from 0.98.07 release to 98.09b as of 28-Oct-2001

\b More closely compatible with 0.98 when -O0 is implied
or specified.  Not strictly identical, since backward 
branches in range of short offsets are recognized, and signed
byte values with no explicit size specification will be
assembled as a single byte.

\b More forgiving with the PUSH instruction.  0.98 requires
a size to be specified always.  0.98.09b will imply the size
from the current BITS setting (16 or 32).

\b Changed definition of the optimization flag:

        -O0     strict two-pass assembly, JMP and Jcc are
                handled more like 0.98, except that back-
                ward JMPs are short, if possible.

        -O1     strict two-pass assembly, but forward
                branches are assembled with code guaranteed
                to reach; may produce larger code than
                -O0, but will produce successful assembly
                more often if branch offset sizes are not
                specified.

        -O2     multi-pass optimization, minimize branch
                offsets; also will minimize signed immed-
                iate bytes, overriding size specification.

        -O3     like -O2, but more passes taken, if needed


\S{cl-0.98.07 released 01/28/01} Version 0.98.07 released 01/28/01

\b       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


\b       Cosmetic modifications to nasm.c, nasm.h,
        AUTHORS, MODIFIED


\S{cl-0.98.06f released 01/18/01} Version 0.98.06f released 01/18/01


\b       - Add "metalbrain"s jecxz bug fix in insns.dat
        - alter nasmdoc.src to match - version "0.98.06f"


\S{cl-0.98.06e released 01/09/01} Version 0.98.06e released 01/09/01


\b       Removed the "outforms.h" file - it appears to be
        someone's old backup of "outform.h". version "0.98.06e" 

01/09/01

\b 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...

\b Nelson Rush resigns from the group. Big thanks to Nelson for
  his leadership and enthusiasm in getting these changes
  incorporated into Nasm!

\b fbk - [list +], [list -] directives - ineptly implemented, should
        be re-written or removed, perhaps.

\b Brian Raiter / fbk - "elfso bug" fix - applied to aoutb format
                       as well - testing might be desirable...

08/07/00

\b James Seter - -postfix, -prefix command line switches.

\b Yuri Zaporogets - rdoff utility changes.


\S{cl-0.98p1} Version 0.98p1

\b GAS-like palign (Panos Minos)

\b FIXME: Someone, fill this in with details


\S{cl-0.98bf (bug-fixed)} Version 0.98bf (bug-fixed)

\b Fixed - elf and aoutb bug - shared libraries
        - multiple "%include" bug in "-f obj"   
        - jcxz, jecxz bug
        - unrecognized option bug in ndisasm 

\S{cl-0.98.03 with John Coffman's changes released 27-Jul-2000} Version 0.98.03 with John Coffman's changes released 27-Jul-2000

\b Added signed byte optimizations for the 0x81/0x83 class
of instructions: ADC, ADD, AND, CMP, OR, SBB, SUB, XOR:
when used as 'ADD reg16,imm' or 'ADD reg32,imm.'  Also
optimization of signed byte form of 'PUSH imm' and 'IMUL
reg,imm'/'IMUL reg,reg,imm.'  No size specification is needed.

\b Added multi-pass JMP and Jcc offset optimization.  Offsets
on forward references will preferentially use the short form,
without the need to code a specific size (short or near) for
the branch.  Added instructions for 'Jcc label' to use the
form 'Jnotcc $+3/JMP label', in cases where a short offset
is out of bounds.  If compiling for a 386 or higher CPU, then
the 386 form of Jcc will be used instead.

This feature is controlled by a new command-line switch: "O",
(upper case letter O).  "-O0" reverts the assembler to no
extra optimization passes, "-O1" allows up to 5 extra passes,
and "-O2"(default), allows up to 10 extra optimization passes.

\b Added a new directive:  'cpu XXX', where XXX is any of: 
8086, 186, 286, 386, 486, 586, pentium, 686, PPro, P2, P3 or
Katmai.  All are case insensitive.  All instructions will
be selected only if they apply to the selected cpu or lower.
Corrected a couple of bugs in cpu-dependence in 'insns.dat'.

\b Added to 'standard.mac', the "use16" and "use32" forms of
the "bits 16/32" directive. This is nothing new, just conforms
to a lot of other assemblers. (minor)

\b Changed label allocation from 320/32 (10000 labels @ 200K+) 
to 32/37 (1000 labels); makes running under DOS much easier.
Since additional label space is allocated dynamically, this
should have no effect on large programs with lots of labels.
The 37 is a prime, believed to be better for hashing. (minor)


\S{cl-0.98.03} Version 0.98.03

"Integrated patchfile 0.98-0.98.01.  I call this version 0.98.03 for
historical reasons: 0.98.02 was trashed." --John Coffman
<johninsd@san.rr.com>, 27-Jul-2000

\b Kendall Bennett's SciTech MGL changes

\b Note that you must define "TASM_COMPAT" at compile-time
to get the Tasm Ideal Mode compatibility.

\b All changes can be compiled in and out using the TASM_COMPAT macros,
and when compiled without TASM_COMPAT defined we get the exact same
binary as the unmodified 0.98 sources.

\b standard.mac, macros.c: Added macros to ignore TASM directives before
first include

\b nasm.h: Added extern declaration for tasm_compatible_mode

\b nasm.c: Added global variable tasm_compatible_mode

\b Added command line switch for TASM compatible mode (-t)

\b Changed version command line to reflect when compiled with TASM additions

\b Added response file processing to allow all arguments on a single
line (response file is @resp rather than -@resp for NASM format).

\b labels.c: Changes islocal() macro to support TASM style @@local labels.

\b Added islocalchar() macro to support TASM style @@local labels.

\b parser.c: Added support for TASM style memory references (ie: mov
[DWORD eax],10 rather than the NASM style mov DWORD [eax],10).

\b preproc.c: Added new directives, \c{%arg}, \c{%local}, \c{%stacksize} to directives
table

\b Added support for TASM style directives without a leading % symbol.

\b Integrated a block of changes from Andrew Zabolotny <bit@eltech.ru>:

\b A new keyword \c{%xdefine} and its case-insensitive counterpart \c{%ixdefine}.
They work almost the same way as \c{%define} and \c{%idefine} but expand
the definition immediately, not on the invocation. Something like a cross
between \c{%define} and \c{%assign}. The "x" suffix stands for "eXpand", so
"xdefine" can be deciphered as "expand-and-define". Thus you can do
things like this:

\c      %assign ofs     0
\c
\c      %macro  arg     1
\c              %xdefine %1 dword [esp+ofs]
\c              %assign ofs ofs+4
\c      %endmacro

\b Changed the place where the expansion of %$name macros are expanded.
Now they are converted into ..@ctxnum.name form when detokenizing, so
there are no quirks as before when using %$name arguments to macros,
in macros etc. For example:

\c      %macro  abc     1
\c              %define %1 hello
\c      %endm
\c
\c      abc     %$here
\c      %$here

    Now last line will be expanded into "hello" as expected. This also allows
    for lots of goodies, a good example are extended "proc" macros included
    in this archive.

\b Added a check for "cstk" in smacro_defined() before calling get_ctx() -
    this allows for things like:

\c      %ifdef %$abc
\c      %endif

    to work without warnings even in no context.

\b Added a check for "cstk" in %if*ctx and %elif*ctx directives -
    this allows to use \c{%ifctx} without excessive warnings. If there is
    no active context, \c{%ifctx} goes through "false" branch.

\b Removed "user error: " prefix with \c{%error} directive: it just clobbers the
    output and has absolutely no functionality. Besides, this allows to write
    macros that does not differ from built-in functions in any way.

\b Added expansion of string that is output by \c{%error} directive. Now you
    can do things like:

\c      %define hello(x) Hello, x!
\c
\c      %define %$name andy
\c      %error "hello(%$name)"

    Same happened with \c{%include} directive.

\b Now all directives that expect an identifier will try to expand and
    concatenate everything without whitespaces in between before usage.
    For example, with "unfixed" nasm the commands

\c      %define %$abc hello
\c      %define __%$abc goodbye
\c      __%$abc

    would produce "incorrect" output: last line will expand to

\c      hello goodbyehello

    Not quite what you expected, eh? :-) The answer is that preprocessor
    treats the \c{%define} construct as if it would be

\c      %define __ %$abc goodbye

    (note the white space between __ and %$abc). After my "fix" it
    will "correctly" expand into

\c      goodbye

    as expected. Note that I use quotes around words "correct", "incorrect"
    etc because this is rather a feature not a bug; however current behaviour
    is more logical (and allows more advanced macro usage :-).

    Same change was applied to:
        \c{%push},\c{%macro},\c{%imacro},\c{%define},\c{%idefine},\c{%xdefine},\c{%ixdefine},
        \c{%assign},\c{%iassign},\c{%undef}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -