From: Charles A. Crayne on 23 Aug 2005 02:06 On 22 Aug 2005 21:49:30 -0700 "JGCASEY" <jgkjcasey(a)yahoo.com.au> wrote: :MASM appears to be the best/fastest way :of achieving that *because it has the examples and :tutorials* lacking in the other assemblers. In the general case, I agree with you, however, in your specific case, it appears that FASM has the example which is closest to what you want to do.
From: hutch-- on 23 Aug 2005 02:17 John, It terms of true assembler beginner data, it would be very had to beat Randy Hyde's HLA as he has te experience not only at teaching students but is also a well known author in technical books on assembler. The masm32 project I maintain has never been targeted at true beginners and the website makes that point clear. MASM is a very good tool for what it is designed to do but it was never for the faint of heart and can be an intractable pig if you start into it the wrong way. The reason for a library, prototypes, structures and the API include files and macros is to provide what most compilers already have, a runtime library, something that is competely missing in MASM in line with what is normal for an assembler. Generally writing a runtime library is beyond people who have just started in assembler programming and I have seen a large number of people fail just trying to put something on the screen and make sense of it. DOS was simple and fun but win32 is far larger and more complex to make sense of and you must understand the minimum code to get anything to work. Then you have to put something on the screen and get it to work if GUI apps are what you have in mind. While any of the decent assemblers for Windows have a support network to make many of these things easier, there is a big learning curve to write Windows software at low level which you are stuck with. I would not be afrad to have a good look at GoAsm as Jeremy is a very good programer and he has produced some excellent tools for his suite of binaries for creating assembler applications. Regards, hutch at movsd dot com
From: Evenbit on 23 Aug 2005 02:20 JGCASEY wrote: > Well of course I do use HLLs. As someone who once > used assembler I wanted to spend some time trying > to understand Windows from an assembler point > of view. MASM appears to be the best/fastest way > of achieving that *because it has the examples and > tutorials* lacking in the other assemblers. Like > the VHS vs. Beta it may not be, according to some, > the better product but it does have more of what > a beginner needs. You really have a hard time trying to pick an analogy that matches the concept, don't you? Perhaps you might drop the analogy attempts and focus on simplifying the concept? MASM *is* a high quality product. And MASM *is* a popular product -- the most popular, in fact. Sony released the high quality Beta format, and then they later released the lower quality VHS format to diversify the product line {perhaps Donkey will chime in to touch on how companies actually make more $$$ by "competing against themselves"}. Now, by the time of the VHS release, all these Video Rental stores started popping into existence. And what types of products sell really well in a brick & mortar store? The "New" technologies do (not necessarily the better, but to a consumer, "new" is an abbreviation for "new and improved") so the Rental stores put there emphasis on VHS offerings. That is why VHS became popular. Now, take a look at audio tapes -- 8-track cartridge -vs- standard cassette. The 8-track offered MORE -- more storage, accessability, etc. But the cassette was less bulky. In this instance, it was the consumers who made the decision -- they didn't want to pay the bulkiness price for all those extra features that they really didn't need for how they tended to listen to music anyway. Bottom Line - it comes down to matching the product choice with your intended use and/or with what is important to you. If it is important for you to feel like you are "part of the 'in crowd'", then go with MASM as it is more popular. [just be warry that Facism was once "popular" too] If it is important for you to feel like you are "part of the 'fringe crowd'", then go with RosAsm. Now, MASM is a fully fleshed-out compiler that has kept-up with the times so that it includes all the academically-approved features that all the high-level languages have. It is also the more robust product. But if you feel that an assembly language compiler has no business "pretending to be an HLL" with all those extra features, and you are comfortable using a less-tested product, then the RosAsm compiler is for you. [just a side note: RosAsm's IDE puts the Windows API at your fingertips] Anyways, I look forward to seeing your GAS code... Nathan.
From: Evenbit on 23 Aug 2005 02:40 JGCASEY wrote: > But you still recommend spending a few months > with MASM before attempting GoAsm? The little > projects I want to do don't require high level > constucts or even macros. Depends on what you really intend to accomplish. If you are just wanting to extend the functionality of that FASM example, then all you really need to do is get a Windows API Reference book (the front sections usually explain a lot about Windows programming concepts and give plenty of C source examples that can be converted) and focus on understanding FASM examples inside-and-out. However, if you intend to develop your own version of the Eclipse IDE and write your own children's assembly language compiler [how long did it take Randy to develop HLA?], then listen to what these people are telling you. Nathan.
From: JGCASEY on 23 Aug 2005 05:43
Evenbit wrote: >JGCASEY wrote: >> But you still recommend spending a few months >> with MASM before attempting GoAsm? The little >> projects I want to do don't require high level >> constucts or even macros. > > > Depends on what you really intend to accomplish. > If you are just wanting to extend the functionality > of that FASM example, then all you really need to > do is get a Windows API Reference book (the front > sections usually explain a lot about Windows > programming concepts and give plenty of C source > examples that can be converted) and focus on > understanding FASM examples inside-and-out. > However, if you intend to develop your own version > of the Eclipse IDE and write your own children's > assembly language compiler [how long did it take > Randy to develop HLA?], then listen to what these > people are telling you. Like most assembler programmers I did write a simple Editor/Assembler for the C64 and even toyed with a simple BASIC-like HLL. However I would now leave that to those dedicated to that type of project and do something completely different. I have taken note of everything suggested in the reply posts. And I have found some beginner type explanations. Remember I am not going into this cold as I can do assembler DOS and have some idea of how Windows works. >From Jeremy Gordon's GoAsm site, "If you have only previously tried assembler in 16 bit and hated it - . . . " No, I have previously used (not simply tried) assembler in 16 bit and *loved* it! " . . . give it another try. Using assembler in 32 bits, particularly in the Windows environment, is easy, clean and fun." More fun than fun DOS so there you go! He also wrote: "Win32+assembler is becoming more and more popular, you can use a low level language (assembler) together with a very high level language (the Windows API) - a perfect combination!" John. |