The MASM Forum

General => The Campus => Topic started by: brown_sam on July 27, 2017, 10:47:09 PM

Title: Book Enquiry
Post by: brown_sam on July 27, 2017, 10:47:09 PM
Hi, just a quick question. I've found a book called Microsoft Macro Assembler Bible for a great price. However it was published in 1989. I'm just wondering if the concepts taught will still be relevant today? If not can anyone recommend any "in-depth" MASM books?

Thanks.
Title: Re: Book Enquiry
Post by: brown_sam on July 27, 2017, 10:48:18 PM
Just to add, it's x86 assembly I'm interested in learning.
Title: Re: Book Enquiry
Post by: hutch-- on July 27, 2017, 11:19:03 PM
Don't waste your money, its old 16 bit DOS junk.
Title: Re: Book Enquiry
Post by: aw27 on July 28, 2017, 12:49:32 AM
Try the Kip Irvine book which has a subforum in this site.  :bgrin:
I am serious, I read it, you may not find better if you know close to nothing at all.
Title: Re: Book Enquiry
Post by: hutch-- on July 28, 2017, 01:16:44 AM
Nah, its just as bad, non compliant win32 written for a single semester students.

Go to this page in the forum that is the best and properly up to date.

http://masm32.com/board/index.php?topic=3868.0
Title: Re: Book Enquiry
Post by: aw27 on July 28, 2017, 01:38:13 AM
Quote from: hutch-- on July 28, 2017, 01:16:44 AM
Nah, its just as bad, non compliant win32 written for a single semester students.

I don't think it is that bad.
The Kusswurm runs though the basics to cover more advanced stuff, MMX, SSE, AVX
Title: Re: Book Enquiry
Post by: hutch-- on July 28, 2017, 02:36:52 AM
> I don't think it is that bad

Non compliant Intel ABI code that is not functional in a working Windows environment. If you have had to see a large number of Irvine questions over time and seen the crap that gets posted you would probably change your mind. It is not an application capable system.
Title: Re: Book Enquiry
Post by: aw27 on July 28, 2017, 02:55:06 AM
Quote from: hutch-- on July 28, 2017, 02:36:52 AM
Non compliant Intel ABI code that is not functional in a working Windows environment.

Of course, you have your own reasons which I can't really figure out.
I read the book recently, it was the 7edition, and I found it very interesting and organized. Some parts, like unions and structures have probably the best coverage I have ever seen.
Title: Re: Book Enquiry
Post by: hutch-- on July 28, 2017, 03:52:37 AM
 :biggrin:

ALANG.HLP (dos version of MASM 6.0 [1990] ) handled structures and unions just fine. RECORDS are messy but they are rarely used in modern software. Still, the problem is that Irvine examples cannot build working Windows software as it is not ABI compliant in terms of its register usage. Try and build applications with non compliant register usage and the app goes BANG and the OS says horrible things about your level of competency.  :P
Title: Re: Book Enquiry
Post by: aw27 on July 28, 2017, 04:39:39 AM
Quote from: hutch-- on July 28, 2017, 03:52:37 AM
:biggrin:
Still, the problem is that Irvine examples cannot build working Windows software as it is not ABI compliant in terms of its register usage.

I have just had a look and there are not many examples of ASM being called from HLL in Irvine book.
Still, I got the impression that that it is not Irvine strongest point,  :badgrin: but I have not seen anything that may lead to a disaster. Actually he appears to act by redundancy, i.e, "let me save this register because we never know". For example he saves ecx on entry, which is not necessary - it is a caller save register not a callee save register.
Summing up - until I see anything better for a newbie I give my vote to this one.
  :bgrin:

For all the cases where there are no calls from HLL, there is really no concern about that. This means that the routines may not be directly portable to interface with HLL. This was left as Home Work to the reader, I guess.  :icon_rolleyes: