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:

   07/24/2008, v1.9:

   -  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
      is ignored.
   -  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
      OFFSET operator.
   -  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
      "constant expected".
   -  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
      wasn't done.
   -  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
      separate package.
   -  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
      symbol-table listing.
   -  for /coff, default library names are now enclosed in double quotes
      only if the name contains a space (some linkers have problems with
      the quotes).
   -  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.
   -  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

Reply via email to