Hi,

thanks for posting your results!

> - TASM evendata pads with 0, JWASM even pads with 0fch
>   I do not know how to change this, I just used "db 0".

this is indeed hard-coded in the source and will be used only if a 16-bit CODE 
segment has to be padded by 1 byte. The reason why not just 0x00 bytes are 
used is because "runnable" code must be generated, as it can be seen in the 
following example:

     mov cx,8000
     align 4
nextitem:
     xor ax,[bx]
     add bx,2
     loop nextitem
     ...

Using 0xFC, however, is a bad idea because it is the CLD instruction, which 
isn't a noop.

> - sbb ch,ch xchg dx,si xchg cl,bh xchg si,di sbb al,al
>   xchg dh,bl xchg cx,si xchg cx,bx xchg dl,al xchg dl,ah
>   xchg dx,si xchg ah,al (but not ALL "xchg" instructions)
>   all swap the arguments when compiled with JWASM as
>   compared to compiled with TASM - I used "db ..." here.

Since someone has made big efforts to implement these "optimizations" in the 
Wasm source, I didn't touch them, although I have no idea whether they are 
useful.

> - cmp ax, valuebelow128 uses "cmp ax,word" in TASM but
>   I cannot make JWASM do that - it uses "cmp ax,byte"

 > - adc ax,0 has the same problem as cmp ax,4 ...

Masm allows "cmp ax,word ptr 0" to force it to use the non-sign-extended 
version, but this doesn't work yet in JWasm.

> - macro options can be of type "rest" and "vararg" only in TASM

Masm syntax allows VARARG as a parameter qualifier:

m1  macro p1, p2:VARARG
     ...

> - JWASM seems to have pretty bad support for "record" bitfields,
>   I had to remove most references to them to avoid broken code

Please provide more details. JWasm copies Masm, and Masm's implementation of 
bitfields isn't very "intuitive".

> - JWASM uses only 8 instead of 16 bytes for "foo db 8 dup (?,?)"

That's a severe bug. It occurs if a question mark is the last of multiple 
items in a DUP argument.

>   Instead of ".model use16 tiny"
>   I had to use the JWASM -mt command line option.

valid Masm syntax is ".model tiny".

> - you cannot say ERRIF in JWASM

there are various .ERRxx directives in Masm.



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to