Hi, starting a new thread for that update :-)
On Fri, 25 Jul 2008, Japheth wrote:
> > Note that JWASMD, a WASM variant with MASM .asm support, needs
> > the HDPMI32 DOS extender in your PATH. See www.japheth.de ;-).
> there's now JWasm v1.9 available, which contains a stand-alone DOS binary.
> download: http://www.japheth.de/JWasm.html
> changelog: http://www.japheth.de/JWasm/history.txt
Actually the changelog is pretty impressive, quoting the 1.9 part:
- bugfix: a forward jump to a PROC label which wasn't reachable with
a short jump might have caused invalid code to be generated.
- bugfix: for OMF, if a starting address was specified, there was
a MODEND record emitted anyway, but for 32bit segments it must
be a MODE32 record, else the highwword of the address' offset
- bugfix: if a data item contained a label offset and the item's size
was >= 4, there was a 32bit fixup record generated, no matter what
the label's segment was telling about the offset's magnitude.
- bugfix: an equate with format <name> EQU <override>:[number], that
is, the value is an address without a symbol, caused an exception.
- bugfix: "nested" procedures are no longer supported (actually, they
never were, but now an error is displayed).
- bugfix: opcode PUSHAW was missing.
- bugfix: PUSHA always generated the 16-bit form. In Masm PUSHA will
generate PUSHAW in 16-bit segments and PUSHAD in 32-bit segments.
- bugfix: procedure parameters which were function pointers weren't
accepted by INVOKE.
- bugfix: if a label was defined which had an associated EXTERNDEF,
the optional language specifier of the EXTERNDEF wasn't used.
- bugfix: optional simple expression after .UNTILCXZ was ignored.
- bugfix: if the difference of two offsets was calculated, it wasn't
ensured that the two labels are in the same segment.
- bugfix: operator LROFFSET was accepted, but handled just like the
- bugfix: parameters for OPTION directive weren't expanded.
- bugfix: if the RVALUE of a '=' directive wasn't a constant number,
error message "undefined symbol" was displayed. Changed to message
- bugfix: literal character operator ('!') wasn't handled the way Masm
does. So sometimes a '!' in a literal got "lost".
- bugfix: padding a struct with bytes because of alignment didn't work
- bugfix: an undefined segment in a group wasn't flagged as error.
- bugfix: || operator in .WHILE didn't work reliable.
- bugfix: if a start label is emitted undecorated in /coff and its
language type is NONE, the underscore prefix must be omitted which
- bugfix: syntax errors in control-flow directives (.IF, .WHILE, ...)
weren't noticed sometimes.
- bugfix: if an assembly error occured in a line which contained a %s
and -Fl switch was set, a GPF might have occured.
- bugfix: .model parameter FARSTACK didn't set text equate @stack to
- bugfix: stack segment was added to DGROUP even if .model parameter
FARSTACK was set.
- bugfix: changing language with <OPTION language> didn't update
assembly time variable @Interface.
- if instruction is RET[F] <value> and <value> is 0 (and it is not
external, it's now optimized to the one-byte short RET[F].
- EXTERNDEF's type comparison was too rigid for arbitrary types.
Now a symbol type conflict will be reported only if the base types
- type modifiers for DWORD data items containing label addresses will
now affect code generation.
- reserved words EQU2, .XMM2 and .XMM3 (all WASM specific) removed.
- error message texts no longer stored as string resources.
- there's now a JWasm binary for Linux available, distributed in a
- speed optimisation: the second and further passes will no longer
scan the full source.
- the DOS binary JWASMD.EXE now includes the HDPMI DOS extender code,
making it a stand-alone binary.
- directives ELSEIF1, ELSEIF2, .ERR1 and .ERR2 supported.
- -Zi option added (currently it's a no-op).
- better syntax check for the NAME directive to help to avoid using
this reserved name as an identifier.
- IMAGEREL and SECTIONREL operators supported for /coff.
- previous versions allowed instruction names used as labels. This
has been deactivated.
- -Zp[n] option added.
- structure fields are displayed in standard listing, not just in
- for /coff, default library names are now enclosed in double quotes
only if the name contains a space (some linkers have problems with
- OPTION NOKEYWORD now works with all reserved words.
- improved syntax check for parameters of OPTION directive.
- ELF output format supported.
- OPTION NOREADONLY and OPTION NOOLDMACROS accepted (dummies).
- cmdline option -G<c|d|z> implemented.
- PUSHCONTEXT/POPCONTEXT implemented.
- level of warning 'cannot access label with segment registers'
changed from 3 to default level 2.
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
Freedos-user mailing list