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 reliably. - 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 'STACK'. - 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 differ. - 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. - 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 http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user