News:

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

Where To Start?

Started by just_curious, May 02, 2005, 01:33:05 AM

Previous topic - Next topic

just_curious

When I was in high school I played with some 16bit assembler out of nasm, I joined the army, got married, got deployed, reinlisted, and am going back to training.  With all of this I never lost my interest, I would like to learn again this time 32bit, can anyone tell me where to start?  Thank you for your time.

raymond

1st - Forget about all the "interrupts" you used in 16-bit DOS. They are not supported in 32-bit flat mode.

2nd - Also forget about segment registers. You are given a "theoretical" 4 Gb of memory for your program. And, a separate stack is set up for you.

3rd - All the regular instructions for 16-bit (and 8-bit) registers still apply, and they can all be expanded to 32-bit registers; those are also the same as before except that you precede them with an "E" (for expanded), such as EAX, ESI, ESP, etc.

4th - Get the Intel Software Developer's Manual dealing with the Instruction Set Reference. Many more instructions are available for 32-bit programming.

5th - Get the Win32 Programmer's Reference. You will need to use the Windows' APIs to replace the old interrupts. It may take you a little time to get used to those APIs but they provide a lot more flexibility (and a much broader range) than did the interrupts.

There are also numerous libraries of functions and sample programs available with the MASM32 package, complete with source code. Studying such source code can help you get a quicker start for expanding your current knowledge of assembly.

Then, when you get stuck, there's always this forum.

Have fun

Raymond
When you assume something, you risk being wrong half the time
http://www.ray.masmcode.com

MichaelW

And with 32-bit registers you can forget about the indexing rules that restrict you to using BP, BX, SI, and DI for indirect memory operands.

Some Intel documentation, and the MASM 6.x documentation is available here:

http://webster.cs.ucr.edu/Page_TechDocs/index.html



eschew obfuscation


just_curious

Hey,
Thanks for all of the info you guys (and girls as such may apply :)), thats awsome.  I will be around peeking my head in from time to time, I have found this forum as useful a source of good code and information as I have several of the 32bit starter tutorials.
Thank's again.