News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

Is GoAsm right for me?

Started by jetrii, May 10, 2008, 05:04:16 AM

Previous topic - Next topic

jetrii

I've been programming for around 6 years and while I've always wanted to learn assembly, I never really got the chance. I've made some attempts before but I always abandoned it due to work/not enough time to invest in it. I finally have enough free time to dive head first into Asm  :toothy

GoAsm seems like a great assembler but I have a few questions/concerns:
1.) What is the community support like? Are the tutorials listed in the Goasm thread the only ones available?
2.) How easy is it to move from GoAsm to Fasm/Masm and vice versa.
3.) I will be mainly programming Windows UI applications (OCing tools and monitors). Are there any alternatives to GoAsm that are better suited for this?

Thanks in advance :)

jorgon

#1
Hi jetrii

I think the main thing about assembler programming, particularly for Windows, is that it is fun.  And to me it is fun because it gives you complete control without silly baggage.  If you like that idea then the "Go" tools are for you, but other assemblers also do a similar job at making things fun eg. FASM, NASM.

To answer your specific questions:-

1. Community support is pretty good I think, everyone helps and I'm always here too.  If I'm ever not here for one reason or another I'll release the source.  The tutorials should be sufficient to get you going.  Once you've got the assembler basics, then that's about it - problems arising tend to be with Windows programming rather than with assembler.

2. Suppose you write a large project in GoAsm, the only reason it seems to me that you might want to translate the source to MASM would be if you want to sell on the source in MASM rather than in GoAsm.  It certainly can be done, since the basic syntax is really very similar.  You would need to do some find and replacing, for example you would change all "D[" in GoAsm to "DWORD PTR[" for MASM, and so on.  And you would need to declare all externals and procedures (create the MASM baggage), change FRAMES to PROCs etc.  The MASM error messages would guide you through.  Not sure about translating to FASM (since I don't use it) but I imagine it would be a similar process.  I originally wrote the GoAsm source in Eric Isaacson's A386, and then converted the source to GoAsm's own syntax which was a similar process, although A386 doesn't have baggage either and was therefore the source of much of my inspiration (it was not really suitable for Windows programming however which is why I had to write GoAsm).
If you are talking about just shifting your newly attained assembler expertise to FASM/MASM having learnt GoAsm, this won't be a problem at all since the basics are very similar.  The differences are just a few syntax things which (I think) make GoAsm easier and more fun to use.

3. In my opinion no.  GoAsm is specifically designed for the task.



Author of the "Go" tools (GoAsm, GoLink, GoRC, GoBug)

jetrii

Thanks for the reply. I've messed with GoAsm a bit more and I am really starting to get the hang of it :)

I guess I was just a little overwhelmed at first because although there are a lot of small tutorials, one is expected to stitch them together and make sense of them. I guess I should be getting a good ASM book.

donkey

Quote from: jetrii on May 10, 2008, 11:36:44 PM
Thanks for the reply. I've messed with GoAsm a bit more and I am really starting to get the hang of it :)

I guess I was just a little overwhelmed at first because although there are a lot of small tutorials, one is expected to stitch them together and make sense of them. I guess I should be getting a good ASM book.

Hi,

Large tutorials are a bit pointless since you spend more time tracing the code than understanding the concepts being demonstrated. I prefer the small single subject samples like the ones in the SDK especially when dealing with Windows UI components. As for GoAsm and assembly in general there are a lot of free online sources for programming, a good place to start is Iczelion and Mad Wizard, both of which offer a good introduction to 32 bit Windows programming in assembly (MASM). I have many tutorials on my website (GoAsm) that show how to incorporate specific UI components and functionality in your applications.

Donkey
"Ahhh, what an awful dream. Ones and zeroes everywhere...[shudder] and I thought I saw a two." -- Bender
"It was just a dream, Bender. There's no such thing as two". -- Fry
-- Futurama

Donkey's Stable