I will switch to NASM, if MASM falls, but I think I should have used NASM for my 68000 emulator, hate to stray off topic, but for some weird reason if my LIB project goes over a certain size, all my offsets and variables are set to 00000000?!!?!? I have no idea why this happens, is the output executable limited to 3 million bytes or what?
Posted on 2005-02-26 18:52:58 by x86asm
Thanks for that link MazeGen. It's just what I've been looking for... :) :) :)
Posted on 2005-02-26 23:20:22 by S/390

HLA is hardly a replacement for MASM.

Hi Donkey,

As you know, the next generation HLA, V2.0 will be able to emit COFF object files. Plus, HLA is coming with very sophisticated macro features. I think this tool has a chance to replace MASM.

Hi Vortex,

I was unaware that HLA v2 would be capable of emitting 64 bit code, I thought it was 32 bit only. We are talking about MASM64 here after all, MASM32 has all of the features already. If HLA v2 is capable of 64 bit then yes, it could possibly be a replacement for MASM64.

Just to set the record straight...

HLA v2.0 will still be a 32-bit assembler. A 64-bit version will become the priority shortly after HLA v2.0 is released and it achieves a modicum of stability. As everyone should know by now, HLA is *primarily* intended for use as an educational tool for learning assembly language. Yes, it is very powerful and stands on its own as an assembly language (and HLA v2.0 will address the myriad of "nonsensical" complaints directed at HLA, such as it doesn't generate object code directly), but the fact remains that HLA is an educational tool. As such, I don't feel any pressure to rush to 64 bits as 64-bit computing is still years away for the average person learning assembly programming.  Yep, some early adopters are probably writing 64-bit code today and bragging about it; but only a few people can run 64-bit code today (and it takes a lot more than a 64-bit CPU to do this, you also need a 64-bit OS).

Personally, I have no desire to "lead the way" on the 64-bit trail. We've already seen what has happened with the Itanium and I have no desire to be out on the bleeding edge and discover that I made the wrong choice about which chip to support. While the AMD scheme looks like it's going to win, don't forget that the Itanium was looking pretty good for a while, too.

HLA v2.0 is a *significant* product in terms of code size and development effort (as was HLA v1.x) and I can only afford one major rewrite on this product. That rewrite *is* HLA v2.0 (rewritten from HLA v1.x).

BTW, HLA64 (the 64-bit version) will be a *different* program than HLA v2.0. Sure, they will largely use the same source code base, but HLA64 will be written specifically for 64-bit code, much like HLA is written to specifically produce 32-bit code. You won't switch between the two using compiler directives or command-line parameters. There is no need for this in HLA64 as the 64-bit instruction set is (mostly) a superset of the 32-bit set. I don't want to allow it in the 32-bit edition because it can create problems for students learning assembly on a 32-bit machine (e.g., "why can't I use R10 in my program?").

As a further note, I've just about finished all the declaration code for HLA v2.0 (over 90,000 lines of code), which means that work on instructions and code generation should begin fairly soon. All that's left right now is to get the code compiled and running under Linux (a day or two's worth of work) and then I can get started on code generation.

Randy Hyde
Posted on 2005-03-22 21:05:39 by rhyde

but for some weird reason if my LIB project goes over a certain size, all my offsets and variables are set to 00000000?!!?!?

Sounds like the COFF relocation limitation... are you doing one big .asm file or multiple smaller ones?
Posted on 2005-03-24 09:28:00 by f0dder
I did do one big huge ASM file, but I then later figured out that I probably was hitting a limit so I split it up to numerous files, its quite strange I was running XP with no SP when this was happening and for some weird reason my NTFS got corrupted (I know this was some ahrdware problem, maybe I shouldnt push my PCI bus too far next time :p) and now I'm running 2000 SP4 and I am not getting the problem :S
Posted on 2005-03-24 09:41:55 by x86asm
what is MASM ?

better use Tasm  :P
one windows product on my pc (OS) is enough  ;)

possible on the end of masm, whe have the end of some hundred script kids coding "remote tools" and stuff like this.
take a look in google for masm sources and tasm sources, look the differences...or grab some "names" from this board and look then in google for the programmes.

i know its not hard to port a masm/tasm source, but no one life forever.
thats my small meaning.

anyway good luck on your way.
Posted on 2005-05-19 12:41:41 by xanthos
I like MASM32,i like simple & easy to control.
Posted on 2005-05-20 00:35:09 by 13800