News:

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

Going forward or backward

Started by jbullard, October 31, 2006, 10:00:20 AM

Previous topic - Next topic

jbullard

I have been religiously learning a lot of different ASM coding techniques and have come to a point where I really don't know what to do.  My biggest concern right now is getting experience without holding myself back if I don't really need it.  I recently purchase a book "The Art of Assembly Language" and was wondering why is this really pertinent information if it just converts everything that I am writing into MASM based code.  It just seems like it is nothing new to me except when I open the .asm file and look at all of the code in there and I get really lost.  So, experts what do you think?  Do you think I should continue learning this?  Thanks for any advice.

Jason

TNick

Hello, jbullard!

Well, I don't like to give advices but I can tell you about myself. For me reading is good, but to write my own stuff, that's best. And when I find a thing I don't know I go back to reading.

Regards,
Nick

jbullard

Thanks TNick.  I completely agree with you on reading more stuff.  My biggest problem is that I have already written programs in MASM.  I understand the basics, but not the intermediate to advanced code.  However, with HLA, it seems like I am taking a step back and it is very hard to concentrate on learning when it just compiles everything into MASM or TASM.  I am going to keep reading and writing with AoA, but I guess I am more or less looking for reassurance.   :lol

I hope this will not just be something I did for no reason.   :dazzled:

Thanks

TNick

I see! Well, it can't hurt to read it, I think. I  know little about HLA, but, if I remember correctly, it was designed to improve the time spent to write code. If this is true, you're definitely going forward.

Regards,
Nick

pro3carp3

Jason,

I started with AoA when I began learning assembly language and can testify that it was a great foundation.  I read through the online version several times, each time picking up more.  Once I understood the concepts of how the CPU worked and the assembly architecture, it was very easy to switch to MASM.  I know code exclusively wit GoAsm.  I suggest that you avail yourself of the intermediate and advanced portions of AoA as it clearly explains a lot of things that you will never learn from a tutorial.

My two cents worth...

LGC
LGC

u

I never went back to reading AoA a second time. Instead, I often look at the Opcodes.hlp
I had anyway skipped all bit-operations and introductions in AoA, since I had years of experience in microelectronics (where you think in binary anyway...)
I also skipped the DOS-related stuff, since Win32 tutorials are the launchpad for going forward.
Please use a smaller graphic in your signature.

Zest

Hi,
I just want to say that we have two versions of AOA.
One is Online version and it contains the assembly language standard to Microsoft Specifications.
The assembly code  that ML.exe can assemble lonely.
Most of the guys here are taliking about this verison of AOA.
Which is here:

http://maven.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html

The second version is the one you can buy as a HARD COPY on a BOOK.
It's not compatible with Ml.EXE and Microsoft Specifications.
This is a new language made by Randall Hyde  that you  need a special Assembler and linker to be able to assemble your codes.
It's something totally different.
It's here:
http://www.amazon.com/Art-Assembly-Language-Randall-Hyde/dp/1886411972/sr=1-3/qid=1162405170/ref=pd_bbs_sr_3/102-4140849-7245726?ie=UTF8&s=books
Quote
The Art of Assembly Language (Paperback)
by Randall Hyde
Product Details

    * Paperback: 928 pages
    * Publisher: No Starch Press; 1 edition (September 2003)
    * Language: English
    * ISBN: 1886411972


But if you need a book which explains asembly in 16 and 32 bit with some advanced topics in pogramming and electronics check this book

http://www.amazon.com/80X86-IBM-Compatible-Computers-Interfacing/dp/013061775X/sr=1-1/qid=1162405219/ref=pd_bbs_sr_1/102-4140849-7245726?ie=UTF8&s=books
Quote
80X86 IBM PC and Compatible Computers: Assembly Language, Design, and Interfacing, Vols. 1 and 2, Fourth Edition (Hardcover)
by Muhammad Ali Mazidi, Janice Gillispie-Mazidi
Product Details

    * Hardcover: 1024 pages
    * Publisher: Prentice Hall; 4 edition (August 21, 2002)
    * Language: English
    * ISBN: 013061775X

It's very complete but it doesn't explain 32 bit assemblt FLAT MODEL which is the assembly you use in Windows.


If you need a book for 32 bit assembly FLAT MODEL programming which  complies with Windows,you can check this book:

http://www.amazon.com/Assembly-Language-Intel-Based-Computers-CD-Rom/dp/0132383101/sr=1-1/qid=1162405170/ref=pd_bbs_sr_1/102-4140849-7245726?ie=UTF8&s=books
Quote
Assembly Language for Intel-Based Computers, Book and CD-Rom (5th Edition) (Hardcover)
by Kip Irvine

Product Details

    * Hardcover: 752 pages
    * Publisher: Prentice Hall; 5 edition (June 16, 2006)
    * Language: English
    * ISBN: 0132383101

Now,if you already know all of these information and you want to try ADVANCED TOPICS in assembly,
you might check this book:

http://www.amazon.com/Assembly-Programming-Master-Book/dp/1931769362/sr=1-1/qid=1162406193/ref=pd_bbs_sr_1/102-4140849-7245726?ie=UTF8&s=books

QuoteThe Assembly Programming Master Book (Paperback)
by Vlad Pirogov

Product Details

    * Paperback: 600 pages
    * Publisher: A-List Publishing (September 28, 2004)
    * Language: English
    * ISBN: 1931769362
    * Product Dimensions: 9.3 x 7.4 x 1.5 inches

Hope that clears everything.

Best Regards,
Zest.









jbullard

Zest,

Thanks for that very descriptive reply.  I am using the AoA Hard Copy, or paperback book, which uses hla, but also needs the MASM files in order to compile.  I will be taking a look at the online version as that may be what I am looking for.  If so, then I will be using that to get a better basis, because this book is really simple and to me is way to easy.  I know it explains that it was written for beginners, and I do look at myself that way, but I have be programming in other languages using API's, Interrupts, and stacks for years so that is nothing new to me.  Just the language itself.  Hopefully, this AoA version is what I am looking for.

Thanks again guys.  5 star help as always.   :U

jbullard

Thank you, Thank you.  That was exactly what I was looking for.  However, I think I am also going to keep up with this other AoA version as it might prove itself useful.  Just seems like you are using another high level assembly language in order to get to the low level assembly language programs.  Could just be me though.