I'm looking for a good book about assembler programming under windows. Can you recommend one?

(It should contain info about how to use the "graphical" APIs & something about the FPU)

Posted on 2001-10-03 15:21:51 by Delight
I hope someone will correct me on this, but there aren't any.
Barry Kaulers book is old and I don't think it will be easy to get.

You'd be best to search for C books dealing with the matter, since the translation to asm will be quite direct usually.
Posted on 2001-10-03 16:15:13 by Hiroshimator
Hiroshimator is right, I think too. You won't find a book which handles all three issues to your satisfaction.

So better get a listing of x86-assembly-opcodes with a description of their functionality, some additional informations about the opcode-extensions (mmx / 3dNow, sse, sse2) and a guide through the gdi-api.


coding asm in windows isn't as difficult as in dos because you do not need segement-overridings, distinguish near and far calls and in most cases the registers eax, ebx, ecx, edx, esi, edi, ebp have equal rights ...

You need not to be afraid of coding the fpu. It isn't as difficult as one might think. It's only a bit strange because of the stack-organisation of the fpu-register. Some people here talk about a good fpu-tutorial offered by a member. Try to get it ...

If you want to do some easier ways of gdi-programming the helpfile of the windows-sdk might tell you the things you need. (I used to look at the win32s.hlp file shipped with some borland products. A bit cross-reading and you get all you need there referencing to the include-files)

Greetings, CALEB
Posted on 2001-10-03 19:04:22 by Caleb

What the guys have told you is correct, most books on assembler are out of date DOS code that is very little use to you. If you have a backgreound in C or similar compilers and you have already written some windows API code, starting in 32 bit assembler is not as difficult as some would think.

Intel manuals are excellent, there is a lot of code examples around to use and of course there are Iczelion's tutorials so if you already have some windowes coding background, you should have enough to start.


Posted on 2001-10-03 20:05:44 by hutch--
Delight: dunno which book you can find about the FPU, but about graphical interface and everything you need to know about the Basics of Windows is well related in the "Programming Windows (Fifth Edition) By Charles Petzold. Yeah, the examples are in C, but he doesn't use the RunTime Library, he uses the Windows API in every example that it has. It really, really easy to translate the examples to ASM. By the way, I have the Barry Kauler's book and it's really outdated, so I won't suggest that book even if you find it. BTW, you can find it used in Amazon.
The last book that I found great is Programming Applications for Microsoft Windows, by Jeffrey Richter. It's another one to learn everything about the Windows Internals and how everything is connected... Threads, Jobs, Fibers, Api Hooks, etc.

So, about the FPU, I really dunno...

Good Luck !:)

Posted on 2001-10-03 20:41:38 by magicmac
I have both books, too, and they are great if you want to learn to program on windows-systems. Petzold's book is one of the bests to learn the basics and the one by Jeffrey Richter leads you into the internals of memory, file and thread-handlings. Both are easy to read and full of examples as magicmac has said.

Try to get them !
Posted on 2001-10-04 02:51:49 by Caleb

Thank's for the replies!

I don't know anything about C programming, so it looks like I have to learn a compleatly new language. Is it really that easy to translate into ASM??? Maybe I'll have to read a basic C book before I can start.

Q: If it's so easy to translate C code to ASM, there can't be many differences between them, and since ASM code produces faster and smaller exeutables, why isn't everybody programming in ASM???

Posted on 2001-10-05 02:27:28 by Delight
Ya know, I wish we could find some Cranky Old B*st*rd that would consider living the literary life long enough to publish a modern Win32Asm book!! (or booklet even).;)
Posted on 2001-10-05 07:28:32 by gscundiff

Q: If it's so easy to translate C code to ASM, there can't be many differences between them, and since ASM code produces faster and smaller exeutables, why isn't everybody programming in ASM???

Because asm doesn't really generate THAT much smaller code, and
because it takes hard work to get your own code faster than compiler
output. Because you don't have to think about which stuff operates
on registers and when you have to use local variables. At least that's
what I believe, and a lot of other people as well :). But let's not get
into that long discussion again... at least not in this thread... we can
take it up again in the holy wars forum if anybody is bored enough ;).
Posted on 2001-10-05 07:53:26 by f0dder
You don't have to buy any book to understand the Examples in those books. I have no idea of C++ or C and I could do it, the same for a friend of mine. DOS Programming was so different, and so C and ASM. The reality is that if you think about Windows Programming with the Windows API, there is not so much difference, but in C you have the RunTime Library that does a lot for you, it saves a lot of programming. (Bulky Code)
So, people that codes in C with the RunTime library are far away from ASM, and that syntax is extremelly different to ASM. Now, people that codes in C without the RunTime Library and just with the Windows API (not to many guys) they are pretty close to ASM for Windows. Yeah, they'll have to learn the OPCodes but you know ...
Those books uses C code without the RunTime Library, just using the Windows API, that's why is to easy to translate.
So go ahead and at least but the Petzolds one, it's really really a good one...

Charles Petzold. (hehe Kidding!)

-MagicMac. :)
Posted on 2001-10-05 13:03:51 by magicmac
"Programming Windows" By Charles Petzold - that's the one I will buy! Thank you magicmac & everyone else! :alright:

Posted on 2001-10-05 13:30:39 by Delight