News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Advantages and Disadvantages of Using HJWasm

Started by habran, January 31, 2016, 03:43:58 PM

Previous topic - Next topic

jj2007

Quote from: johnsa on February 02, 2016, 11:45:43 PM

ife opattr SQWORD
   SQWORD equ QWORD   ; to make signed qwords available in MASM 6.15
endif


I've changed it to use switch -Zne instead of -Zg (seems more appropriate) and to work around the fact that i cannot (without immense effort) remove sqword as a reserved word based on a switch, i've specifically excluded SQWORD from the parser change to 0 when using -Zne , so SQWORD will still return 36 and the IFE block will bypass.

This means the source will assemble and be correct, but it's not ML 6.x compatible as that would opattr to 0 AND SQWORD wouldn't exist as a reserved word...
...
I've uploaded these changes to the site and git. JJ give that a try and see if that allows your block to assemble now.

With the exception of -dword ptr [ebx], it assembles now. Option -Zne (meaning what?) introduces another problem, though: immediates return zero for opattr.

johnsa

I'll have a look at immediates returning 0.

I believe -Zne is "strict masm compatibility" , from Jwasm command line options so it seems more logical to use for this than -Zg which is generated code should match masm's.

habran

GoneFishing, doing good job :t
Don't give up, they said that OW is able to create x64
I installed 64 bit on my laptop from that link yesterday, I hope that it was build with OW ::)
At the moment I am busy fixing some bugs in HJWasm, so I will relay on you for x64 build

Cheers!
Cod-Father

GoneFishing

Quote from: habran on February 03, 2016, 08:33:49 AM
..
Don't give up, they said that OW is able to create x64
I installed 64 bit on my laptop from that link yesterday, I hope that it was build with OW ::)
...
There's a possible misunderstanding here . OW v2 itself can be compiled to 64 bit with MSVC on Windows and maybe (!!!) GCC on Linux . From available prebuilt binaries we see that there's no Linux x64 installer . Most likely that GCC can't compile OW standard lib ( and that's true , I tried it with OW 1.9 ) .
Moreover I don't see specific x64 command line switches neither in WCC386 nor in WLINK .
Again , maybe I'm wrong in my guess

[EDIT] All OW v2 compiled binaries are 64 bit .
           Simple test was compiled and linked as 32 bit:
#include<stdio.h>

int main()
{
printf("Hello from OW v2 !\n");
return 0;
}


habran

Bad news :(
Did you check ntx64 folder in \open-watcom-v2-master\distrib\ow ?
Cod-Father

TWell


GoneFishing

Yes, it's there for creating of 64 bit installer .
distrib = distribution

Quote from: habran on February 03, 2016, 08:01:27 PM
Bad news :(
...

At the same time it's extremely good news.
That means Japheth was the first who made this big step forward and pushed obsolete OW toolchain ( not all of it, really, but the most significant tools - assembler and linker) to the big new world

habran

It is ridicules, creating 64 bit tolls to build 32 bit code :dazzled:
Cod-Father

ekce

I'm not sure if this is the right thread to ask this question in.

I'm taking a course in x86 (MASM) assembly at my university. It seems the students will be using Visual Studio on Windows. I'm wondering if the differences between HJWasm and MASM are large enough that I should avoid using HJWasm (on linux 64 bit)? If I were to follow my textbook (Kip Irvine - Assembly Language for x86 processors) and university coursework am I likely to run into trouble while trying to use HJWasm?