I have an idea, that as we people are splattering our brains trying our best to extend the ease of use and functionality of asm, why dont we just come up with a new language, which is as fast as asm, gives you as much control, but has a much easier syntax

We develop it rightOver Here on this forum itself. We can start a thread and keep posting our problems and developments through it. This way we would have the full forum taking part in the design. This would be the most unique way anyone has ever developed something and if some of the 'old masters' agree, we can start the thread right away.

Now i know, that most of us our very busy with their daily lives and other projects that they might me coding (as for me even i am busy coding a custom edit control). This is where the forum can help all of us. We dont need to know anything from before, anyone passing by can drop his tios or dieas or code or algo or whatever on the 'thread'.

Most of us(including me:grin: ) dont know how to make a language from scratch. Now this is where some the gurus can help explain matters. Also i think searching on the web can also prov ide some results.

Let me give you an example, when i started coding my edit control, i didnt know a thing as to how to go about it. I posted that on this forum. People replied with their very useful tipa nad through that i had a basic idea of how to go coding it and searching for info on it. Then i got a few example codes, which made my work easier. Now it might not be so simple in the case of desiging a new language from scratch, but then again i always trust that on this very froum, someone or the other always has the answers to your problems.

Even if we dont succeed in creating a very good programming language, i think it would be a great learning experience. I would like the gurus to take a look at this thread and give some positive replies , so that we can carry on ahead with this project. :)
Posted on 2001-07-30 10:34:04 by MovingFulcrum
That is exactly the direction that betov took with SpASM - have you tried it? I like the idea of redesigning the syntax, or creating another language. Terse is another attempt at redesigning assembler syntax.

Personally, I'd just like a more features in the macro language and I'd be happy. Too bad that some person at microsoft hasn't posted the source code to MASM somewhere. Then I could just go and make a couple edits and be done with it.
Posted on 2001-07-30 11:25:23 by bitRAKE
Can u send me you exemple of custom edit control. I'm trying to write one at this moment.... not easy.
For the moment, I can display text (with some colors) as long as it fit on the screen width (if not... strange things :)).


Posted on 2001-07-30 13:16:40 by (scalp)
I remember of a guy (in x286 times) who was proud to say that
he had written an Assembler in one week. This was not a joke
he really did it.

I begun my very first experiments 4 years ago and really started
SpAsm writting 3 years ago. As i am retired, when i say that i
have written for 3 years, i really mean 3 years, no week-end, no
hollidays, short nights... no girls (too old), just some excess
of wine -not the Software, the GodWare-.

So, a serious developement for a full featured Assembler is not
a little thing. (SpAsm source, without the resources:
1,844,191 octets long today -can't be in the records book because
of Bodgan-).

Now, SpAsm main features are almost written (i finish the last
one this week). After this, i will begin a 2 years period for
improvements, finalisations, toys, and so on.

Knowing that Asm is not as well designed for groups works as C
is, i didn't searched much help and contributions from others
and did it all, at my own wishes only. This have had the advantage
of not wasting any time at no end discussion and sterile opinions
about what the syntax should be or should not be. I simply tried
to keep as close as possible to the actual standard, NASM. When i
have new basic stuff to implement, i contact NASM programmers to
take some agreament on what the syntax will be, in order to have
a basic common convention. That's all.

This have too, now, the disadvantage that my choices can not
please everyone (in order to partially solve this, i wrote a
little pre-Parser for some alternates syntaxes).

Now that all the main parts of SpAsm are designed and, more
or less, 'working', with a reasonable amount of bugs, i am
going to make a great clean-up of it all, and then, open the
doors to contributors, if any.

Most parts of SpAsm are supposed to possibily be either
re-written or, at least, improved, modified, extended. I have
very little hope that anyone, here, will ever raise his hand up
for contributing anyway... But, who knows... Many things can be
done, at many knowledge level, and with very various time and
consistancy requirement. Examples:

- Rewrite the Main Icon Editor.
- Fullfill the Asm Mnemonics List with very short examples.
- Control all of the mnemonics encodages.
- Extend the source Editor Features.
- Write a Macros tester.
- Implement the auto-completion of Api calls.
- Providing Clip Snippets.
- Writing the missing saving routines for all Resources.
and so on.

Bye, Betov.

Damned Rickey:

I will never understand what matter of beast you are ;)
Posted on 2001-07-30 13:17:15 by Betov
I looked at the sPasm syntax and found the masm one better :grin:
Also somewhere on this board i think betove or someone had posted a bit of code written in sPasm syntax, it had lots of '?' characters in it. Now to type this char '?' , i have to press Alt+789 on my keyboard. Betov, i really dont think this is good syntax. Also you could do a lot of improvement of the editor.

here is a link to one custom edit control source - link

Though this is an example of how you should not write an editor. This one goes very slow if even if you open a moderatly sized file in it(like its own source, for example;) ).

bitRake AND betov,
I am not talking about expanding any current language but creating a new from scratch.

betov, as you have already done this kind of work, if you could write a tutorial on this it would be very helpful.

Also now if anyone could give more ideas as to how should we go about this , it would be quite helpful.

Posted on 2001-07-30 14:19:25 by MovingFulcrum
Well, if your really set on designing your own language then start at the begining. :) What is the purpose of the language? How I did it was just start typing a programming in a made up language (created as I typed). If you know many computer languages this is not such a hard thing - you take what you like for each language. Then I worked my way backward trying to find problems with the syntax. The reasoning for this was that I wanted a language that was intuitive to me. (I'm sure that betov did something similar.) My language only exists in that little file that is too abstract for any assembler or compiler that currently exists. Maybe I'll finish creating it someday. :)
Posted on 2001-07-30 16:27:16 by bitRAKE
>I looked at the sPasm syntax and found the masm one better
>Also somewhere on this board i think betove or someone had
>posted a bit of code written in sPasm syntax, it had lots of
>'?' characters in it. Now to type this char '?' , i have to
>press Alt+789 on my keyboard. Betov, i really dont think this
>is good syntax. Also you could do a lot of improvement of the

MovingFulcrum, before i started SpAsm, i carefylly STUDIED
NASM, MASM, TASM, A86, ASM32 syntaxes (and some others).
The more weird syntax i have seen in all these Assemblers,
the more confusing, and less possible to defend, is the one
of MASM. Maybe it would be a good thing for you to read, at
least, a couple of lines of SpAsm Manual before stating such
stupidities, and rejecting years of work after having, as you
say, 'looked at'... Before having fancyfull great ideas,
learn with a bit of serious.

Today, i have received a mail from a guy who downloaded SpAsm
this morning. Here is the feedBack part of this mail:


I will give you a list of points that I like and dislike:

+) small download size
+) easy installation (only unpacking is needed)
+) very fast compiler
+) MACROS!!!!
+) converted tuts from ICZELION's page are available on your website
+) RightClick on a mmenomic(system function) will tell its syntax <-
very GOOD and very professional (where did you get the informations from?)
+) every value that is mandatory is in SpASM itself (no more need of an
include file like win32.inc)
+) Tree of the source (for easy jumping)
+) released under GPL (death for Micro$oft and co)
+) nice helpfile (very good helpfile, I would like to get more about
+) compiling and linking in one click (YEAH, faster than light)
+) case insensitve (how often did I get an error of undefined names
within C++)

-) no warnings about saving file before opening/creating a new project
-) no >save as...< function (no more need of closing SpASM, opening
Explorer and renaming the file)
-) no marking with SHIFT+ARROWS
-) crashes when opening files and compiling with errors
-) no use of scroll button of the mouse
-) pressing PageUp/PageDown key will make the cursor jump on top/bottom
of the screen, not scrolling up/down. For scrolling you must press
PageUp/PageDown again.
-) more tutorials in the package (especially for graphics, sound, game
programming. This will impress the users!!!!!)
-) excuse me, but SpASM is a really silly name (you remember SPASM means
'crampe' and that is what you don't want to get from the tool, or?)

This guy *DID* 'looked at', Fulcrum!

Bye, spoiled enough time with you. Betov.
Posted on 2001-07-30 20:11:09 by Betov
While I do side a wee bit with betov, before i read his reply... as MovingFulcrum seemed a bit innocent with his earier post, i have to say that was a bit harsh...

We all know Spasm... Its a impressive feat to have reached so far.. but you wont win over new comers to the wonderful world of ASM by beating on the little guy who said too much at once... I would think that was to say "a bit unprofessional". Even though you are correct with your feelings (in my oppinion).

The guy is fresh full of Ideas, even if he has not the experience with your personal work. So if he steps on your toes give him a break...

If he dances on your toes l8r, then tear into him by all means :)...

I Bet your probably a wee bit angerred at me now, for sounding so pompous (after all im a new-be myself), but i think this is needs to be said (in the spirit of what this community is about ~ that last thing i want to see is some new guy telling his friends to "be carefull about what you post" outa shrere lack of knowledge...)

NaN :rolleyes:
Posted on 2001-07-31 00:34:26 by NaN
Old bad dogs like me can no more be improved, Nan,
but young foolish ones learn quick when mangled.


Posted on 2001-07-31 01:34:40 by Betov
Issues are many.
If you use various compilers like I do (every micro has it own compiler/ide and while we use C to get some sort of portability, we often drop to ASM in it's various forms to get some speed.
With "std" ASM it is reasonbly easy even with its varoius dialects, however with high level "ASM" it becomes quite hard and you end up learning "another lingo" with limited, if any, productivity.
The author might get sick of it and move on. Since most projects are driven by one person it becomes a bit of a gamble if it is worth learning something 'Unknown'.
Obviuosly betow does an outstanding job but there are few like him with the dedication AND time.
When using debuggers and looking at the dissasmbled file it shows it in ASM so you need to understand this anyway.
I feel that something like goosee for ASM could be more worthwhile
Rhapsody from www.ilogix.com (trail version 14 days free, but huge 2 x 25mb dl.
Great forum btw.

Just my 2 bobs worth

Posted on 2001-07-31 04:57:08 by fiddler
You seem in your previuos post like a child with a badly hurt ego ;)

When I said I found that I found the MASM syntax better, it was my personal opinion about it, and everyone has the right to his personal opinion. I understand that it sound bitter to you, but when I say that I found the MASM syntax better I don't mean that you have done a wasted effort. You have tried your best to overcome all the bad things about the syntax in masm,nasm,tasm,etc but i still feel more comfortable with using the masm syntax maybe cause i am used to it. If you would care to notice, there is a grinning smiley near that statement which denotes its casual nature. I do appreciate the amount of hard work put in by you in creating it but then again everyone has his own choices and preferences. What may sound amazingly good to you may sound utter trash to me.

Also I never said that all the syntax of spasm is bad. I just didn't find the ? thing too appealing.
Now I had spasm version 2.18 at the time of wirting this code.I have just downloaded version 3. So the problem below that I state of ? or $ sign holds true in that context.
In the manual of version 2.18 there is no heading as "Alternates_Syntaxes" which lists that i can also use Dword Ptr instead of ? or $.

Now I personally don't like to type ? or $ in my code. I still prefer to type the longer DWORD PTR or BYTE PTR. The reason for this is maybe cause I hate pressing and holding keys while typing. You have found a way to reduce the no of typed characters but its easier to keep on typing in one go rather than stopping and moving your hands to the numpad or the top of the keyboard with the Alt or Shift key pressed and then press the chars.
Now what you say also holds true in one case that I didn't have the latest version of spasm.

Also I don't like the set of icons you provide with spasm.

As for the editor, again I never said that it is bad .You have done a nice job with it and tried to create a very functional IDE there.What I said that it could do improvement to catch up with the other editors. Here is a small list of what I would like in it -
- How about a toolbar
- You have done an amazing job with mouse buttons, but still I find there to be no substitute for scrollbars. I would like to see them.
- A macro feature does come in handy
- Column selection
- Displaying line numbers
- Mdi
- Font selection (only fixed-pitch fonts needed). I would like using Courier instead of System

Now you might just quote something from this post also then we can go on having a war.Well, to prevent that , I would like to make my intentions clear that I don't have any grudge against you or you assembler. Nor do I want to have a fight with you or anyone on this forum.I accept that i was a bit harsh towards your assembler in that last mail of mine. So I once again extend a hand of friendship towards you. Now its upon you to accept it or not. But if you don't , thinking than I am way too young or stupid for you (sorry for the use of harsh language) , well then so be it! I have apologized for the harsh wordings I used in my previous post and even clarified them.

P.S. - The next time someone says something bad about your assembler, don't just start using rude language. This is not a way you can promote you assembler and it will only bring it more down. SO the next time try being a bit more polite in your replies even if somebody has said something harsh.

Also keep in mind that anything that you do, don't expect there to be people who only say good things about it. There will be always be criticism for any work done. Don't try to overcome that criticism by being harsh and rude to those people. You would only end up making the situation worse.
Take for example , there are so many people who say so many bad things about microsoft products. Most of them are stupid. But then again we don't always have a ms official coming and poking at them for what they have said.

Btw, I think if someone says anything bad about my product, I would feel only good about it. It signifies to me that the job I have done is not perfect. It still lacks that professional touch.

You have constantly kept on calling me young and stupid. But after this post one can see who is being childish and foolish.

Btw, this forum has suddenly started going extrrrrremly slow for me for the past few days. Is anyone else experiencing the same problem? ;)
Posted on 2001-07-31 06:04:58 by MovingFulcrum
i'm the foolish and childish one here. who wants to be next?

hey betov, would you mind posting me a link (direct link) to spasm? i can't seemed to find it on this forum.

Fulcrum, it's not your fault that you get in trouble, it's misunderstood and how people interpret your words and assumed the wrong thing about you. i got my a ** kick plenty of many time because of sh * t misunderstood.

so, next time, place as many icon as possible.
Posted on 2001-07-31 09:18:29 by disease_2000
SpAsm Homepage:

Direct link to SpAsm 3.0:
Posted on 2001-07-31 10:01:12 by rir3760
i think u guys are not getting my idea. i dont want to design the compiler alone. i want everyone on the forum to participate and share their knowledge to make this one.
We all are very busy with our own works so each one doesnt have time to code a full compiler. Thats why if we all combine, then we have a better chance of completing the compiler.The project obviously would be open source.

So i would like a confirmation from the people of this board that this kind of a language would prove useful and that everyone agrees to help. Then only can we start taking concrete steps to develop the language.

It can also be a grrreat learning experience. this would be a very unique project.

I have yet to come across a language that was developed on a forum:grin:
Posted on 2001-07-31 11:05:48 by MovingFulcrum
I can help with ideas, and some coding. What assumptions can we make to start everybody brainstorming in a similar direction? What language is it to be programmed in (I assume assembler, but it has not been said)? What environment is it to run in (again, I assume Windows)? What are the goals of the language (just to learn, that leaves it too open a concept)? These are fairly basic questions - I don't know enough about the project to ask more specific ones.

If it's programmed in assembler, I'd like the environment limited to Pentium or greater processors in 32-bit assembly. I think windows is too restrictive an environment for a long term project. So the project should be modular with the user interface distinctly separate from the language compiler.

The goals of the language should be a low level that directly corsponds to machine instructions, and a high level macro language that allows the creation of scalable, optimized, object orientated abstraction layers. The macro language would encompass three levels of execution: preprocessing, code generation, and output. Therefor, the output formats will be programmable.

Just some quick ideas to move the discussion away from a discussion about a discussion. :)
Posted on 2001-07-31 11:46:22 by bitRAKE
i think it's kinda stupid to create a lousy compiler in a group just because you want to ... hell, only god knows why :) believe me, you will learn faster if you write a project on your own. if you really want to make a asm compiler i would split the entire project in little parts. at first try to get a good grip on the mnemonics (little debugger?), then i would learn the pe layout and write some tiny pe-related stuff (pe analyser/...) mh, at last i would try to set up a string parsing routine. what the hell do you have if you only work on a single part of this ~huge~ project? nothing. but if you make and learn all this stuff alone you learned ALOT... your compiler would still be a very bad one but thats not the fact, the fact is that you're a experienced coder after all this hard work :) btw. if you (mfulcrum) would have overviewed spasm a little better you wouldn't say that the masm syntaxis is better than spasm's ... some things are beyond you personal taste.

please excuse my very bad english :)
Posted on 2001-07-31 11:58:41 by Unregistered
MovingFulcrum, this is a 10 years developement for a full featured
thing, at least 2 or 3 for a naked thing like MASM or TASM. Just
before you find 10 guys who agrea on the basics of syntax, you will
spend several months (not talking of the overall design...).

Another thing is that Asm is better design for individual works than
for groups works because of the lack of 'containement' convention.
(And if one succeed defining some containement convention, this will
no more be Assembly).

This is why i talked of SpAsm as an offer for an already established
base, giving an overall design and opened to contributions. If you
do not like SpAsm, there is FASM. It is not opened officially for
contribution, and is just offered with sources from a clever
programmer who wrote it for his own usage. His work is clean,
serious, and can serve as a sane base. FASM has also been 3 years
of developpement (at free time -not like SpAsm 3 years, which was
full time).

I insist to say that proposing this way, to rebuild all the world
without looking at others already done and offered job, is not

I Am afraid that believing it it, will not be enough.

Posted on 2001-07-31 12:07:03 by Betov
bitrake, you see, that's why i get my a** kick every now and then. due to misunderstood. :)

"it has nothing to do with competing" the msg wasn't direct to you. i was speaking in general.

and also, please don't misunderstood me for deleting post because you guy say those thing. i actually deleted before you even post that msg.

betov, we're not trying to rebuild the world. we're trying to rebuild our faith. anyway, that's enough talk for me.

farewelll. (we're not serious about making this, just learning and seeing what it's like. art is my background and game making is my future goal. i'm not going to sit and make stupid app for win32. that's just something i do for fun).
Posted on 2001-07-31 12:12:02 by disease_2000
disease_2000, I'm in too much of a hurry. :rolleyes: I should read more carefully. :)

betov, how many hundreds of man years of development do you think went into Windows? MASM? VC++? Office? DotNET? Yeah, the software has many problems and they want too much money for it, and that kind of market saturation induces a control that no one can manage -- but it is more than a thing onto itself. Also, what do you mean believing might not be enough? Do you believe in the path you have choosen? Do you say those words to yourself? :grin:

It is a slow struggle to learn, create, and build on the ideas of others. I don't see any shortcuts - I believe Unregistered is correct in his response to this thread. Except as to say that we would learn how to communicate and work together.
Posted on 2001-07-31 13:01:15 by bitRAKE
no problem bitrake. mistake is what life is all about (could be). :grin: who know!!

let me for once be nice and say that betov didn't really meant what he said on his post. it's really hard to describe to why he said that believing is not enough. but i've been there saying things like that once. therefore, i do know why, but not easy to explain.


another edit:

anyone here know how to interface with c/c++? i've been looking for this for 3 months now. no success... i finally know how to interface with microsoft visual c++. but that's not what i want.. i want to interface with PURE .C code.
such as Turbo C++ (which support c). in case you're curiuos to why i'm constantly looking for this info: i bough a big book on graphics programming and i need to fully study that book (i must) and there's alot of interfacing going on in that book.
Posted on 2001-07-31 13:42:42 by disease_2000