> Maybe it is context sensitive in TASM, 0 in .data and nop in .code?
> I believe NASM has a whole range of ways to align things, including
> "pad with user-specified value" and "pick a multi byte noop machine
> code instruction where appropriate" but you would have to check the
> docs which is selected when and which syntax overrides. As for the
> MASM implementation - dunno, too long since I last used MASM ;-).
What Nasm does is not that interesting for a Masm-compatible tool. I changed
JWasm to the Masm behavior, that is, for 16-bit, NOP, MOV AX,AX and MOV
CS:AX,AX are used to pad 1,2 or 3 bytes.
> About the "direction" of same-op and xchg instructions: Can you
> add a syntax for the "reverse" variant? Afair NASM has this, to
> make it possible for users to control the byte-exact machine
> language generated as some exotic apps may need that...
Currently it's not the time to implement additional options. But I will check
what Masm does and adjust JWasm accordingly.
>>> - 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.
> I think this would be pretty useful - the word sized variant
> of that is popular for self modifying code where "constants"
> are updated later...
It's fixed in v1.8.
>>> - macro options can be of type "rest" and "vararg" only in TASM
>> Masm syntax allows VARARG as a parameter qualifier:
> Okay then it seems JWasm does not allow it yet ;-)
It does. However, I don't know whether Masm's VARARG implementation matches
> Check the jw-* files in the ctmouse jwasm port: TASM seems to
> let you write constants as combinations of variable names and
> lists of elements to fill in for their bitfield. Elements can
> be skipped and can have default values, as in ",,1,0,,3". You
> can also write lists of elementname=value to describe the value
> of a bitfield variable, it seems. With JWasm, you get either an
> error message or the value 0 in most cases I believe ;-). Good
> examples are the out_ macro invocations I had to replace...
Indeed. I couldn't imagine anyone using bitfields seriously, because there are
some stupid design flaws. Nevertheless default values and initializers for
RECORD items are implemented in v1.8.
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
Freedos-user mailing list