Is JWASM a total open source replacement for Masm currently? I've been looking though the source code recently trying to figure out how the whole thing works ( I wish they would have used Allman style indenting rather than K & R :bg ). Can I move seamlessly from Masm to Jwasm? Whats the history of JWASM? Thanks for any info......
Yes, I only have one small thing that isn't working in JWasm.
(Personally, I wish it was written in assembly)
Hi cman,
Quote
JWasm is a fork of Open Watcom's Wasm and is intended to be a Masm v6 compatible assembler. It's released under the Sybase Open Watcom Public License 1.0. JWasm can be used for virtually any purpose, unlike Microsoft's free download of Masm v8, which is for non-commercial use only.
http://japheth.de/JWasm.html
JWasm v2.0 virtually covers Masm v8: instructions up to SSSE3 and x86-64.
What's missing is symbolic debugging info in Codeview v8 format, but that's relevant for 64bit only.
> I've been looking though the source code recently trying to figure out how the whole thing works
Good! However, it's a 50,000 lines project by now, so you'll probably have to invest a few hours more... :toothy
think I found a bug, I typically break up my code into different source files and jwasm seems to be erroring about not being able to include some source files. Which Masm reads fine, here's how its broke down
main.asm
include functions.asm
functions.asm
include kingdom\animals.inc
animals.inc
include carnivores\existing\bear.asm
the error
functions.asm(140): Included by
main.asm(126): Main line code
animals.Inc(153) : Error A2105: Cannot open include file 'carnivores\existing\bear.asm'
all folders and files exist
Also another error is this function
testfunction proc
.if eax == 0
.elseif
.if
.if
.endif
.elseif
.if
.if
.endif
.else
.endif
.endif
.endif
ret
testfunction endp
Says "Syntax error in control-flow directive"
ugh I can't compile most my sources, hopefully jwasm gets better.
MASM created by a team, JWASM created by a single fighter, bug should be expected.
Japhet:
It would be good if you find another person who really understand about this sophiscated tech. There should be a man who sophiscticated among your fans.
JWasm bug reports here in a Campus thread is off-topic and not allowed, please read the forum rules!
> MASM created by a team, JWASM created by a single fighter, bug should be expected.
I disagree, but please don't discuss this in this thread!
Most of the code samples that don't work on Jwasm are either weird masm syntax intricacies, uber-weird macros from masm hell or specific syntax juggling to *make* assembling fail.
Japheth is a one-man army by the way !
Cube,
Try this, you had .IF statements without conditions to test.
testfunction proc
.if eax == 0
.elseif
.if eax == 1
.if eax == 2
.endif
.elseif
.if eax == 3
.if eax == 4
.endif
.else
.endif
.endif
.endif
ret
testfunction endp
Quote from: japheth on October 30, 2009, 09:44:46 AM
JWasm bug reports here in a Campus thread is off-topic and not allowed, please read the forum rules!
> MASM created by a team, JWASM created by a single fighter, bug should be expected.
I disagree, but please don't discuss this in this thread!
I dont know if you misunderstood my message, I mean, bug is something common. Did I miss arranging words again? Or you got team?
Quote from: Farabi on October 30, 2009, 10:04:04 AM
I dont know if you misunderstood my message, I mean, bug is something common. Did I miss arranging words again? Or you got team?
No, I don't misunderstood, IMO you overestimate the valuie which is added by a "team". Bugs occur in software, regardless of a team or a single person has developed it. As I did mention, the JWasm project has 50,000 lines. This is a quantity which is very well maintainable by one person. However, it's also a quantity which requires an automated test suite ( also called "regression test" ), to ensure a certain level of product quality. The regression test supplied with JWasm v2.0 is still very rudimentary and requires some work (this has high priority).
With a good and well-designed test suite it is very well possible for a single person to maintain a 250,000 lines project.
Quote from: BlackVortex on October 30, 2009, 09:45:44 AM
Most of the code samples that don't work on Jwasm are either weird masm syntax intricacies, uber-weird macros from masm hell or specific syntax juggling to *make* assembling fail.
I can fully confirm that. JWasm is really stable, and almost everything I throw at it, including my über-weird MasmBasic macros, assembles flawlessly. But of course, rubbish in, garbage out...
There is always going to be a boundary to compatibility with a product that has been around as long as MASM. The current version started life about 1990 Masm 6.0, was knife and forked about 1996 then patched to 32 bit. Odd bits and pieces fell into disuse, others have been changed, some bits left out and so on. While modern MASM is a good tool that many understand, JWASM has long ago achieved very good compatibility but there must come a time when it is treated as an assembler in its own right and have code developed for it.
What is wrong with developing consistent reliable macros for JWASM in its own right ?
Quote from: japheth on October 30, 2009, 09:44:46 AM
JWasm bug reports here in a Campus thread is off-topic and not allowed, please read the forum rules!
> MASM created by a team, JWASM created by a single fighter, bug should be expected.
I disagree, but please don't discuss this in this thread!
This thread is about assemblers, (even ones that abanoned this forum), so we have every right to talk about em. JWASM on linux looks pretty promising.
Quote from: E^cube on November 06, 2009, 10:16:20 AM
Quote from: japheth on October 30, 2009, 09:44:46 AM
JWasm bug reports here in a Campus thread is off-topic and not allowed, please read the forum rules!
> MASM created by a team, JWASM created by a single fighter, bug should be expected.
I disagree, but please don't discuss this in this thread!
This thread is about assemblers, (even ones that abanoned this forum), so we have every right to talk about em.
Please feel absolutely free to post whatever you like. Even better if it's off-topic. I always love to read your little gems. :U
Quote from: FarabiIt would be good if you find another person who really understand about this sophiscated tech. There should be a man who sophiscticated among your fans.
I think japheth is sufficiently sophisticated.
Let's just clone japheth !
*digs out replication macros*
Japheth QWORD 2 dup (?)