From: Charles A. Crayne on
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
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

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

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

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.

First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6
Prev: int 10h AX = 4F00h
Next: Iczelion's tutorials revisited.