The MASM Forum Archive 2004 to 2012

General Forums => The Campus => Topic started by: just_curious on May 02, 2005, 01:33:05 AM

Title: Where To Start?
Post by: just_curious on May 02, 2005, 01:33:05 AM
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.
Title: Re: Where To Start?
Post by: raymond on May 02, 2005, 02:28:21 AM
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
Title: Re: Where To Start?
Post by: MichaelW on May 02, 2005, 06:21:53 AM
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



Title: Re: Where To Start?
Post by: AeroASM on May 02, 2005, 06:40:01 AM
Iczelion's tutorials are good:

http://win32assembly.online.fr/tutorials.html
Title: Re: Where To Start?
Post by: just_curious on May 03, 2005, 12:19:23 AM
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.