Ah, I missed the difference between the 9x vs. NT versions of GoBug :/
Posted on 2006-04-18 13:53:04 by f0dder
One more thing - Jeremy (author of GoAsm) is really good to work with.  Drop him an email and see what he says.

If you use RadAsm as your IDE combined with GoAsm/GoLink/GoBug - you will not find an easier to use package for your needs, IMHO.

For me - I would pay the $47 if it came to that.

Posted on 2006-04-18 13:54:16 by bushpilot
Thanks Greg.  I guess I will try to get a hold of Jeremy and see if he can cut our school a break since it is for educational purposes.  I'm sure the school would not mind buying a site license for the computer labs. I just don't want to force all the students to buy $50 of software on top of the book.

Speaking of book... Maybe Jeremy has a suggestion for that too. It looks like the go tools site has lots of examples, but something with lessons could be valuable.

Posted on 2006-04-18 13:58:31 by AngryLlama
One more thing - Although I recommend GoAsm, another option - especially since you need a book, is to use HLA (High Level Assembler) and the corresponding book "Art of Assembly".  Randy hyde, the author of the book and the creator is of HLA frequents these forums often.

Randy states the purpose of his assembler and book is to teach Assembly language.  Randy supports it very well from what I can tell.  Google it and see what you think.

I cannot personally vouch for it.  Some folks love it, and others don't.  You should at least explore it. 


Posted on 2006-04-18 14:26:09 by bushpilot
Just realize that HLA is a *very* special assembly syntax (and some people even claim it's not "real" assembly - I'll leave them to that). If you learn HLA you won't necessarily be able to write "raw" assembly, since it contains a bunch of high-level constructs (HLA == High Level Assembler, iirc). But it's definitely worth a look, and Randall Hyde is a decent and skilled guy.
Posted on 2006-04-18 14:31:50 by f0dder
Sounds like an oxy-moron
Posted on 2006-04-18 23:49:41 by AngryLlama

Sounds like an oxy-moron

It kind of is, but it is designed to take those comfortable with High-Level constructs/languages and slowly expose them to Low-Level ones. The concept f0dder stated is no different from the general *macro* convention found in many assemblers, HLA just does it differently and/or more specialized.

Personally for those type of students comfortable with High-Level concepts, I would suggest starting with C and slowly integrating in-line assembly language into the programs more and more, and then exposting them to programs written entirely in assembly language (DOS/COM/BIOS/Win32ASM).

In my experience with helping people, it is easier to relate the high-level logical concepts as if/for/while/etc... to assembly language instead of trying to teach them the language from scratch. Learning is all about association :)
Posted on 2006-04-19 00:31:55 by SpooK
AngryLlama, RosAsm comes with:

* 2 Megas of Documentions, and a complete integrated Help System.

* The Interactive Visual Tutorials.

* Many Examples and Demos.

* Integrated Sources Level Debugger.

* Integrated Disassembler re-Assembler.

* Editors for Sources and Resources.

* 3 Megas of GPLed Sources.

* ... and tons of Tools and features, that you cannot see at a first quick look, like the Right-Cick ones.

All of this, for free, of course.


Posted on 2006-04-19 04:24:35 by Betov

Sounds like an oxy-moron

To have a good idea of what HLA is or is not, it would probably be a good idea to go directly to the source.

Posted on 2006-04-19 09:17:17 by Odyssey
I've looked at it.  The professor says that he would rather not use HLA to teach the class.
Posted on 2006-04-20 09:06:37 by AngryLlama
If you can't strike a good deal with Jeremy Gordon on GoBug, you could consider using MS's WinDbg debugger - it's free and pretty powerful. A bit cumbersome to work with, but nowhere near as bad as, say, GNU GDB. I'm pretty fond of OllyDbg myself, but haven't really looked into doing symbolic/source-level debugging with it.
Posted on 2006-04-20 09:10:56 by f0dder
For me I have never done source-level debugging before.  ;)
Posted on 2006-04-22 01:38:59 by roticv

For me I have never done source-level debugging before.  ;)

Same here, I take so long to make something that it never has to be debugged :P
Posted on 2006-04-22 04:42:24 by SpooK
Same here.  After years of professional programming, no debugger.  That does not mean there are no errors, it just means they are easily found and corrected.  A debugger, to me, is a waste of valuable time.
Posted on 2006-04-22 04:52:08 by PBrennick
HangryLlama, you are right with wanting an Assembler with a Source Level Debugger: In Assembly; like in any other Language, a good Source Level Debugger is a "must have", and, unless you would also have something against the Open Source Mouvement, there is no serious choice but RosAsm.

A good Source Level Debugger is wishable from two points of view:

* There is no simpler, easier and faster way for learning Assembly than by stepping through your Source, and to watch, in the Debugger window, what is going on with the Registers, Flags, and so on... and no Documentation will ever win on this so simple experiment, for learning the basics of Assembly.

* When Asmers write small Routines to be nested into HLL coding, Demos, or even small Applications, they may live without any Debugger, and ignore the waste of time. But, over 100Kb, it become more and more evident that a Source Level Debugger is a massive time saver and helper for the Developments.


Posted on 2006-04-22 06:13:05 by Betov
Betov you seem to advertise your assembler pretty alot. Would you mind to elaborate a bit about it's main features? For example on what levels does it differ from MASM/FASM/GoAsm/etcetera, what advantages/disadvantages (if any) does it have over those assemblers?. The information provided on the main website is rather superficial and I guess there is some people who would like to know more about a product before trying it.

On another note,
While I totally agree that after some point of experience debugger becomes quiet unnecessary, it's still in-avoidable in some case. Especially when writing complex algorithms. There are some times when with a debugger you could locate the problem in mere seconds, instead of having hours of fun doing it _manually_.
And besides it's still a very valuable accessory when learning assembly, as it allows you better apprehend the code flow.
Posted on 2006-04-22 07:09:13 by arafel
RosAsm is an all-in-one tool. If you like the way it works, I guess there's no way to beat it. The all-in-one approach does mean, though, that you cannot link with static libraries, cannot write your programs in multiple modules (must use "monofile" approach), etc. Works for some, not for others.
Posted on 2006-04-22 07:12:47 by f0dder
Arafel, If you think i am advertising RosAsm "pretty a lot", you should enter this name into the Box, and count how many Topics you can point out, to help you making this "alot" a mark of a very personal form of humour. And for the "your Assembler", RosAsm is collective development, since about 10 years (actualy 5 volunteers, if i do not miss any).

About the Web presentation Page of a Tool like RosAsm, it can evidently not enumerate all of its features and capacities. The B_U_Asm 2 Megas of materials are there for this.

About the "advantages/disadvantages" this is not a possible discussion. But, if you have been able to click on a Page Link, i can suppose that some others will make one more step, and also click upon the RosAsm Icon, to see what it does and does not. So said, i have never seen any such question, being asked to the authors of FASM, of GoAsm, or of the avalanche of IDEs for MASM, which came into the game, years after the RosAsm innovations.


Posted on 2006-04-22 09:36:36 by Betov
Betov, I still think you should have made B_U_Asm in HTML instead of your own viewer - it's not very comfortable navigating around.
Posted on 2006-04-22 09:48:58 by f0dder
Fodder, HTML would have been my second choice, if, at the time of the decision, we had have the actual HTML Viewer Demo, written in RosAsm Assembly. The actual Help System mimics nothing but what a MicroSoft .hlp Format would do (just missing the Dictionary, for now...), with the considerable advantage of saving me from having to learn the MicroSoft Help Factory monstruosity.

Now, given the amount of work still to be done every here and there, quite frankely, i have better things to do than porting the two Megas of documentations, with no-end lists of Links, to another Format. Not considering that i hate to write HTML, and that i prefer having a TreeView, on the left side, for quick and easy navigation, which would be a real pain (at least to me) to simulate, with HTML.


PS. For your information, RosAsm assumes Modular Programming, through an implementation, which is more intelligent and more sophisticated than the old fashion stupid "include" thingie, and the IDE assumes the division of big Sources into Modules, in a way that makes no difference with a multiple-windows-editor, but the one of being easier and more secure to use.

I personally never used this type of Modules inclusion (only the TITLEs divisions), but i can make sure that it works pretty well, because the fellow who wrote this implementation uses it, on a dayly basis, and is rather impressively productive.

And for the Libraries topic, - even though there is no real reason to use this, instead of DLLs, under Win32, and particulary not, in the Open Source Mouvement -, there are actually two volunteers working on an integrated LibScanner Tool, that will, at the end, Disassemble the .Lib and .Obj Files, in order to recover their contents, with Symbols, and all.

Not that this would have any interrest for Programming in Assembly, but because this will encrease the scope of the Disassembler, which is the actual important development work, as long as, in its area of a Two-Clicks Disassembler-Re-Assembler, also, RosAsm has no competitor, and will not have any before several years, if ever.

Posted on 2006-04-22 12:23:06 by Betov