get it here
Hi folks, Most know here that I have been able to disagree with betov over many things, a sign of the age and my appropriate title but there has not been any debate about the enormous amount of work the betov has done to write a working assembler from scratch. It would be very useful to him while he is developing Spasm to have some assistance and feedback so that he can develop the assembler more quickly so if you have the time, experience and interest, download his latest version and try it out for him as good feedback really helps when you are developing something as complex as an assembler. Betov is writing the assembler under the GPL licencing system so its not as if its a quick and dirty effort for a quick buck but a project that he has already put a lot of effort into to pass an original idea on to other programmers. For programmers who like different and original ideas, this is a way to get into an ambitious project at the ground level and make a viable contribution to its development. Regards, email@example.com
I give him tons of feedback, I just need to write a DLL right now, so I don't need to use SpAsm right now :) Anyways, it's a great program. However, people underestimate the power because no one wants to get down and dirty and learn PURE assembly (no procs, and no local). I too disagree with you in alot of areas Hutch, however, I do respect both you and Betov because you guys BOTH are so good at writing code :)
Hutch (the same 'Hutch' ???...), the Chameleon Pre-Parser is going well, first draft version sould be available along next week, if i don't encount unexpected problems. Most routines are written, it just needs now a specific error checking (very difficult...). Kenny, HLL Macros are provided with SpAsm package (Base3A.exe / Base3B.exe). Local symbols are implemented. Local, as Stack variables declarations, is available, (like all other Proc Statements), in 3A/3B Macros sets. DLLs output in 6 months or so. Sorry, only 2 hands. betov.
lol betov, I'm not pushing you to get the DLL one out soon, I just wish I could help, but I don't know enough asm to help you out YET. I forgot about the HLL stuff. That stuff just confuses me more :) Oh, the chamelian parser thingie... I totally cannot wait! I might start writing something for SpAsm soon, but it all depends on how this next quarter of school goes :)
I'm curious about what Kenny mentioned: PURE ASM. What's PURE ASM? What's the difference? Pardon me for my ignorance, but what's the difference between MASM and Spasm? I believe that they serve different purposes.(should be, unless betov and Hutch are so log-headed such that betov want to "pull" away users from MASM32 of Hutch! :) )
I have always laughed at the idea of PURE assembler, even in the DOS days, most of the hardware access was done through DOS interrupts which were operating system functions where the parameters were passed in registers. Assembler is in fact a high level language, REAL low level code is written directly in opcodes but few are willing to try and write code this way as it is very slow and error prone. How you "assemble" binary is a matter of choice, the older and bigger assemblers are "macro" assemblers with many added facilities like library capacity, modules, additional directives etc ... Some of the newly developed versions are still in the stage where they are very basic and offer a range of direct control that many would not be familiar with. The people who will try out the newer assemblers and assist in their development will tend to be programmers who are reasonably experienced in writing assembler so its not a matter of competing interests, propgrammers will write in what they choose. It just happens to be a matter of fact that any binary file IS written in opcodes, compiled opcodes don't look much different to assembled opcodes so it is a matter of what best suits the task at hand. There are a few people who come into assembler with the idea that they can just write mnemonics without using operating system code at all but without operating system code, you cannot even write a program that runs. Instead of living a pipedream, it is better to start to learn the things necessary to write assembler which involves asm instructions, operating system functions, architecture, algorithms etc... In the normal sense of the term, there has never been and never will be a PURE assembler, REAL men write in HEX but not if they can get away with it. :) Regards, firstname.lastname@example.org
I think that Hutch represents most of what my views are, however what I was refering to was the way that SpAsm itself is written. It is written pretty well. Although betov could block a little more of the code into macros, it still runs very fast. HLL assembly uses things like while and if and other things like procs and local data, and things like that. Take a look at how the V2OS is written, and that to me is more 'pure.' Like hutch was saying, there really isn't such a thing (without writing in opcodes). I retract my statement :D P.S. I have written small programs on the Motorola 68HC11 microprocessor in hex opcodes :)
Hutch and betov, Why dont u put MASM32 and spasm on download.com? U will get a higher number of of users that way.
I agree with Moving Fulcrum. If u guys "advertise" your programs by putting them on more download sites, it would increase the number of users and in turn create more feedback on users. Also, it'll also create more newbie users :) So, there's nothing such as PURE ASM as you would have to mix them up with other commands and code like opcodes to have a program that can communicate with the computer and run. Is opcodes=operating system codes? What actually are opcodes? Are they like INT 21, etc codes that we also add into our .asm?
May be the expression i have choosen is not fully appropriated, but, i simply know what i mean with 'true Assembler'. I use this expression as opposed to 'C-Like Assembler'. What i mean is: C-like Assemblers do things in your back. Example, MASM replaces FIV, without parameters, by FDIVP, and so on. They also encourage to a programming style and manners, particulary, with the use of LIB files, that makes the components of an application nothing but black boxes. With 'TRUE', i mean too, a syntax that is fully according with x86 and PC Memory reality. Things like Typings, instructions like 'Assume',... , do not, at my opinion. As the very first purpose of an Assembler is to translate Mnemonics instructions in Hexa code, and user Symbols in Adresses (this is why we say it 'Symbolic Assembler), Hutch, I really do not understand how 'True Assembly' could mean 'writing Hexa Code'. Writing Hexa Code is hand encoding, not Assembly programming. This is one step logical level down. Now, talking of SpAsm, i have always claimed to maintain it a true Assembler because it includes zero HLL feature inside SpAsm code itself. All SpAsm HLL features are user Macros sets features. At a practical point of vue, this makes no difference, at first look. But you all perfectely know, at this Board, how many questions we have seen along these last years for, what does MASM do with this or that... All these questions couldn't have been asked with SpAsm, because user have just to Right-Click upon: .While to see what Macro it is (and what it does, in case he didn't wrote it by himself). Hutch, too, just a remark about one objection you did in another thread: This way for doing things is NOT because the Assembler is 'weak'. Believe me, i would have prefered hundread times to include the HLL features inside SpAsm Code instead of writing for months (close to one year), a Macros system powerfull enough to do this and simple enough at the user point of vue (you all know why MASM Macros are so few used... A great simplicity of use implies a great complexity in designing). This has been much more and much harder work for me. I just consider that this is not my job to choose (instead of user), what HLL Style he will have to use, while writing fancyfull features inside the Assembler. I remember a thread of Randy Hyde, somewhere else, where he said something like: Reality of HLL is in Assembler. Reality of Assembler is in Opcodes. Reality of Opcode is in electronic. Reality of electronic is is electricity. Reality of electricity is in electrons. Reality of.... Maybe God, for the ones who prefer believing in that instead of facing death and vacuum... For any programmer, at any level of programming, this is always usefull to know a bit of the downward level, in order to understand what's going on in his actual level. My use of 'True' just mean 'the lower possible state' for one level, but this approach does NOT reject going the reverse way with user Macros. I like a lot HLL too, as long as it does not close to me the doors to LLL. betov.
Guys, I will let you in on a little secret, MASM32 was written for programmers, not the mass download market. Its world wide use demonstrates that programmers have found a use for it and that the work was worth the effort. I have only ever posted it on my home site to ensure that it was never associated with any form of commercial dependence. I think most of the newbies here understand the amount of work that they have done to learn to write in assembler and this is why the package was never aimed at non-programmers, it was always aimed at experienced programmers who wanted to write assembler. I doubt that betov and I have much disagreement in the technical details of how a compiler or an assembler converts code to opcodes, what concerns me is that with the general drift to much higher languages, VB and variations, OOP etc .. that assembler is being left behind and if it was left to companies like Microsoft, it would have been. MASM bridges the gap from old style assembler to more modern ideas of languages while still retaining that full capacity to write very low level code. About 4 years ago the only people who were doing work in MASM were Sven Schreiber and Steve Gibson and the fashion at the time among the virus writers was TASM. Older programmers who wrote assembler in DOS will be more familiar with writing code in a HEX editor and it had its uses at the time, I still personally write custom DOS stub files in HEX as its the easiest way to do it but I mentioned this capacity because there is this tendency to view low level code on the basis of writing assembler where assembler with its mnemonics is a high level language that greatly simplifies opcode production. It really is a matter of picking how high a level you want to write, doing a win32 application in HEX would be very slow and would be available for release in about the year 3000. I think the assembler market is wide enough to handle different ideas and it is here where I see the work that Betov has done as an original idea that caters for people with a different approach to writing assembler. I have the same view with FASM and I think variation in range is useful. I make no apology for being a little short with some of the criticisms I hear of MASM, love it hate it, its still the most powerful assembler available at the moment and I am of the view that programmers will get the most out of using it until a better or later assembler takes its place. Regards, email@example.com
SIG: i'm not against anyone here. actually, i never attack people b- ecause they use certain tool to do what they want. The problem with using Visual Basic these day is that people comes and att- ack you, saying that it's crap. nonsense, dll are big ect... and that's not it. people still attack us for using assembly! complain and say that it's odd, useless, waste of time. so, my question is: what is the best language that you can use, so th- at others won't attack us? of course, the answer would be: "NONE" TASM has always been my favorite assembly compiler, still to t- hese day. Now, i'm using masm ever since i found this site. why? because it's powerful? no. because i want support. i don't have the time to sit and convert every masm statement into tasm which could be done easily, but then again, time to me is very important. in my world, nothing is powerful, the mind and how you go about using it is what i considered as POWER. the tools you use is - just a plug. i started programming since 1999, hutch started b- efore i was born. so i will not argue his point of view, he has been with masm more than 15 years i believe, so, why bother ar- guing? i don't know much about masm, what i know is that it can convert my asm code into binary so the cpu can understand it. and i think you guy shouldn't be sitting there and argue over - which masm is best. i know i have chose OpenGL not because peo- ple ask me to or think i should, i chose opengl because it fits my style. the mistake i made is when i chose directx - why? be- cause people told me and advise me to <--- after that mistake, i will never make another one again when comes to decision like that. you just have to do more research and experiment it your self. don't sit and listen to each others. and who know, spasm might take over masm oneday.. we just don't know. (and yes, i've heard that A86 is very powerful and compa- ct, why didn't i chase after it?) and i leave you all with one last quote of mine: "You might know the date for tomorrow, but you cannot define its temperature." farewell...
how's the download speed from that location?
very fast. it used up my max speed. :) (im on modem)
it's the location I reserved for the site to come
interesting! here's a truth: i was downloading an OpenGL example from some other location. and as i read your question on how the speed was, i click on it and test the download, and it used up my full speed. normally, when i have 2 or more download at once, the speed tend to break. it divide... but the download at your location didn't divide my speed in half.
In the normal sense of the term, there has never been and never will be a PURE assembler, REAL men write in HEX but not if they can get away with it. :)Come on, HEX? pffft..... a real programmer just needs a three key keyboard: "0", "1" and "ENTER" 01010111 01101001 01101110 00110011 00110010 01000001 1010011 01001101 00100000 01110010 01110101 01101100 01100101 01111010 00100001
bazik, you really believe in real programmer?
Bazik, I will let you in on a little secret, x86 processors work at a BYTE level, bit manipulation is done by indirect means. When you find a processor that can handle direct bit manipulation, you will use a 2 key keyboard, "0" and "1", who needs an ENTER key ? Until such time, REAL men will still write in HEX unless they can find an easier way. :) Regards, firstname.lastname@example.org