Somedays I think if I didn't get slapped up side my head, I would walk around all day looking at everything from an angle. It's a human condition. :P
Posted on 2002-07-17 12:40:12 by bitRAKE
somedays I think I was born with only half a brain
yoo lucki, /me know breyn. :grin:
Posted on 2002-07-17 12:48:26 by stryker

Maverick, I like it when you defend a cause that you find interesting, it can be felt the enthusiasm coming out of the monitor, that's why I knew you had to be italian or meridional, the passion of your arguments.

Thank you for your words.. I don't think that my defects and qualities have much to do with the place where I was born, but anyway. ;)

But let?s give credit to the great wizard that coded FASM:

flat assembler version 1.31
Copyright (c) 1999-2002, Tomasz Grysztar
All rights reserved.

This is the version that I?m using, and I?m also waiting forward to v. 1.4. It?s great having the sources... it should be a "conditio sine qua non" of programming etiquette.
At least of "high" programming, that is, Operating Systems, Compilars, Kernels, and all that stuff. With the other stuff... well, I guess anyway lusers don?t really care about the code of their M$ Office or whatever, and I think Billy has kids to bring up.

By the way, Maverick, who is this "Privalov" you talk about?
As bitRAKE said, it's the nickname used by the author of FASM. :)
Posted on 2002-07-17 13:09:04 by Maverick
Maverick, of course, it?s a quality...

I know you use your own High Level Assembler, is it like the Amiga one you talked about?
Is it somewhere available?

I know of a teacher in California that uses some kind of HLA, he?s the guy that wrote the famous Art of Assembly .pdf book.
I think he can be reached at

Can you give more details about your own assembler?
That sounds very interesting.

Greets to you too.
Posted on 2002-07-17 13:25:28 by slop
hi fjrp2:

The PC version is inspired from the old (1994) Amiga one, but has also a lot of (for me impressive, but then again they were made for my very weird needs) improvements.. mostly in the field of object orientment (but in a quite original way, without any overhead.. or even less, considering that I make use of dynamic/run_time linking which lets me avoid a lot of indirect pointers and speed things up even more).

As for my Amiga HLA and Randall Hyde's HLA, it's just a coincidence, both the name and the form of the language (mine was older, but he claims (and I have no problems to believe him) to have got that name from an even older IBM mainframe assembler of which I didn't know the existance of, though).
My HLA was born as a high level assembler, true, but then (still retaining all of its assembly and extended assembly support) I added tons of comfortable HLL stuff.

I wrote a couple of commercial games with it. If I recall well, I even publicly released the source code of the first of them (Virtual Karting) on Aminet, but I don't recall if it was the HLA source code, or its assembly output (with or without HLA code as asm comments). I may release the old Amiga compiler, why not, it's on a dead HD of which fortunately I have a backup somewhere on CD's, I shall do it but it would be a lot of work to do (fix things and write documentation) right now, that I'm full of a lot of urgent work to finish.

Some, not much, info on my language is sparse on Usenet (7 years old threads), but they're generally flame wars with C++ worshippers who hated asm, so no big pleasure to read. ;)

I do code a lot also in C/C++, for job reasons, and I find this language very limiting and archaic in many aspects. But that's just my personal opinion, I don't want to offend anybody. ;)

Finally, my PC language is not named HLA.. but I preferred to not disclose the internal name I use simply because I was a bit angry when I saw an HLA for PC (not that I ever really meant to publicly release my own development tools.. but you never know, someday..) so I was a bit pissed to see that somebody "stole" its name. :) Randall didn't steal anything, but to avoid that others do, or just to be sure it's again a coincidence, I learnt not to disclose too much anymore (besides some sparse info here and there). Also, I learnt that a serious person has to prove his claims, even if he knows to be in perfect good faith, so I tend to not claim anything anymore so that I don't feel forced to disclose important "proprietary informations".
I know, I sound very "closed" and egoist maybe, but I think my most important development tools are my own creatures, and often they're very original and follow my own mentality on coding and not the one of most other people, which maybe are academical and despise me for being a "darn assembly k0der" (not on this forum fortunately :) but that's why I remained here), so my isolation has lead me to believe in my own ideas and tools, and consider them really "my own".. as an extention of my brain.
Said that, I've always strongly encouraged others to make their own development tools (and not following my own ideas, but theirs.. so it would even be against my philosophy to offer a ready to use product, which then becomes simply just another "standard tool" and thus limiting for somebody else with other needs than mine.. going against my very philosophy that one has to go through the effort to create his own development tools following his own very personal needs and style).. but other than encouraging others to follow their own roads, I am also glad to give theoretical and practical help in the development of their own development tools. So, compatibly with my job engagements, I'm always more than happy to help others making their own languages, compilers, debuggers and other development tools.

PS: where are you from? and where are you to? :grin: (I read in your avatar that you're moving ;) ).
Posted on 2002-07-18 03:31:15 by Maverick
Hi and where are you to? (I read in your avatar that you're moving ).

Well, that?s because the avatar is moving, running, I think ;)

I totally agree with you, maybe I agree too much... I wish some day I?ll have my own tools. Until then I?m hear learning from wizards like you.

By the way, it sound like if you are familiar with Randall, ever met him?
( I mean, he?s an old guy, and you seem young like me ;) )

I'm always more than happy to help others making their own languages, compilers, debuggers and other development tools.

Thank you a lot for that too.
Posted on 2002-07-18 12:08:37 by slop
Okay, then I tryed to e-mail you, but you have it disallowed, PM is sort of "fuzzy" (just 10 messages allowed, included carbon copy of sent messages), so I decided that if I post it here you are most surely going to get it.
And anyway, who else is gonna read it? I can?t see nobody else ;)
This was the message:
(warning: If you?r not Maverick, please jump to here)
"Hi, Maverick,
I was going to send you the following e-mail, luckily I read your answer to one late thread.
I totally agree with you. Actually I'd do the same, create my own tools... if I could.
Maybe if I keep on learning from wizards like you ;)
This was the old e-mail (everything applyes, except for the asking of your "own" language):

I have just read from an old thread by you:
"Even worse, today I use more and more my own assembler (built in my language's compiler)"

Then you have created your own language?
See, I have this theory of languages vs. coders: the most interesting the programmer is, the more interesting his language.
So coming from you it has to be AWESOME.
Can you give me a hint, or a small snippet of example about it?
I?m really interested about it.
How do you call it?
Will you release it?
If I can help you in anything just tell me.
My background is mainly electrical engineering, but I?m learning quickly with your good advices and examples.
Also, if you ever visit Spain, you are invited to my place (Ok, your girl-friend also, but I hope that won?t be too big a distraction ;) )

here-->Looking forward to hearing from you soon,
sloppy (this is my new nick)

(ANd now, that I re-read the whole thing, wow, there are inner loops and like 3 or four hierarchical levels... I thought that couldn't be done with language... what a sloppy technique ;) )
Posted on 2002-07-18 12:31:05 by slop
Yester day I donwloaded the latest version of NASM, can't access the official home page so I had to google (can you access it?). Any way I also downloaded the manual, and after some more googleing, a few examples as well (code analysis is very good if you want to learn a programming language, at least that my opinion).

The thing is: Posted on 2002-07-18 14:56:00 by scientica
Hola fjrp2/sloppy :)
Your moving avatar ;) reminds me Turrican.. an old Amiga game (there may exist also a PC conversion, IIRC).

Having his own tools is something that one can do at any level of experience. In fact it's not prohibitive, for example, to write a small program (either in asm or, why not, in Basic or C or Pascal) that gets in input a text file, checks for some known string, and outputs another text file. You can use it to make a very rudimental compiler, but it's a start, and a very important one.
Then your compiler can only grow, day after day. ;) You simply code your programs, and whenever you need a new feature that your assembler didn't have (or that was not too good), you implement it in your small asm source files processor. It's like a macro system, a preprocessor. Nothing complex really.
We all began this way and, very important, the "do it yourself" philosophy may seem harder at the begin, but gives you the experience that makes your future easier and not only in the regard of your compiler, but in any program you may want to write. If programming is fun (and sure it is), then "do it yourself" and "reinventing the wheel" other than fun make you grow up a lot as experience and intuition, and being accustomed to reinvent the wheel every time (as opposed to open a book and copy an algorithm) will make you invent, someday, wheels that didn't exist before. The "hard" way is the funniest and certainly the one that pays back more, perhaps much more.
I have never met Randall Hyde, but I had quite an intense exchange of emails when I was complaining about he using the HLA name. He's a nice person, and has given much of his work to the x86 community, surely much more than I did. So far here I gave very, very little, so it's not easy for me to explain why (apparently) I have such a good name.
Yup (again in reply to your question ;) ), I'm not too old, I recently turned 28. Time really passes quickly, though. :rolleyes:

You can email me at maverock at Thank you again for your very nice words, and.. if there is enough interest, we may even create a new forum talking about "Make your own programming language", which I could cure, please understand compatibly with the serious lack of free time that I have during these months. :(
Posted on 2002-07-19 01:52:41 by Maverick
scientica: true, NASM rocks :) but FASM is just that kind of assemblers, simply considerably better.. and with a future, too.. which NASM doesn't really seem to have. Honestly I can't think of a single feature of NASM that FASM v1.39+ doesn't have (for old FASM there were, IMHO, but Tomasz Grysztar a.k.a. Privalov (the father of FASM) has been very nice and supportive and has included all the features I asked him that I considered indispensible to switch from NASM to FASM).
So do yourself a favour, don't waste your time with the (anyway very good) NASM, and switch directly to the (excellent) FASM.
Posted on 2002-07-19 01:53:38 by Maverick
Regardless of the "which is best" convo, one thing that really interests me is the long term availability of the assembler.
Which one is going to be here in 5 years ?
Which one is supported by a company that will be here in 5 years ?

I certainly dont want to code stuff in one assembler, then find that when I need to change it, that assembler is no longer available or supported and now I have to re-code the app.

Thoughts ?

Posted on 2002-07-19 03:15:55 by James_Ladd
Actually the most supported one is FASM. The author adds features every day, and listens a lot to users' suggestions.

And even if it wasn't, it has the source code available.
Posted on 2002-07-19 03:32:17 by Maverick

MASM has been with us for many years, I have been using it since 1990 and it was around before that.

To answer your question, MASM is a current assembler and the most powerful on the market, it is backed up and upgraded by a BIG ugly software company and it is still legal freeware.

Some here don't like it because its not their style, didn't come from a MAC/Amiga, does not look like TASM/NASM but it was the standard before them, it is the current standard and it will be so for a long time to come because it can do it all.

Posted on 2002-07-19 06:03:33 by hutch--
Originally posted by Maverick
So do yourself a favour, don't waste your time with the (anyway very good) NASM, and switch directly to the (excellent) FASM.

Ok, I'll give FASM a try. BTW, where can I find a tutorial on FASM (currently only analyzing examples, maybie I'll miss something important) ?
Posted on 2002-07-19 09:18:09 by scientica
If you really want to start loving FASM, give a look at its source code. It is clear, self-explained (there are not comments and really there is no need for comments at all), clean, structured, self-assembled, your code will be assembled on dos, win32, linux, menuet....and the most important: You will have the TOTAL CONTROL over your creations.

FUTURE: The best guarantee is that you have the complete source that assembles your creations.

Regards and have fun...
Posted on 2002-07-19 12:20:36 by pelaillo
The availability of the source code for FASM is a good thing and can alay my fears of the tool dissapearing.
That said, there is also the availability of skills in the market place to consider. Since MASM has such a
large following, now or in the past, it seems like a logical place to be.

I have had a look at FASM and it certainly is very good. No doubt about it. However, the best technology does not always win
for a lot of reasons.

Im still undecided.

Posted on 2002-07-19 19:22:08 by James_Ladd
Let NoOne decide anything.

YOU decide what is best.

(also, what is right!!!!)

And its not that bad to be wrong, and later change your mind

Posted on 2002-07-19 19:41:43 by assant
For all who want better documentation/tutorials for FASM: please be patient. I'm working on a large documenation project (in PDF format) for fasm 1.40 (will be released soon) and I plan to add there also tutorials for every platform FASM runs on. I have written a lot yet, but still much more is to write, so I don't know when I'll finish it, please give me some time... ;)
Posted on 2002-07-20 17:52:19 by Tomasz Grysztar

A suggestion, the REAL action in writing an assembler is what it will do, documentation is important but the performance must take preference to tutorials.

What I would suggest is getting some of the people who use FASM to help you with the documentation so that you can concentrate on the actual assembler. This way more people will get more performance faster.

Posted on 2002-07-21 09:51:41 by hutch--
Yes, you're right. I was always saying that. But now - when I have a bit more time for it - I decided to finally write a good docs, because it seems I'm the only person who can do it right now, people continue to ask me how my macroinstructions work, why something work and something slightly modified doesn't etc. Current docs are definitely not enough. And with exception for tutorials, new docs will be finished soon, bacause I have already written the most important parts.
Posted on 2002-07-22 05:05:47 by Tomasz Grysztar