Description The MASM32 SDK version 10 is a working development environment for programmers who are interested in either learning or writing 32 bit Microsoft assembler (MASM). The installation is an automated process that installs the correct directory tree structure on the local drive of your choice. Note that MASM32 will not install on a network drive. MASM32 comes with its own runtime library written fully in assembler and an extensive range of macros for improved high level emulation and faster development. It builds its own IMPORT libraries for the Windows API functions and supplies its own include files for a very large number of API functions.
The default editor in MASM32 has been fully recoded from scratch in MASM and it is smaller, faster and more powerful with two (2) separate scripting engines, a legacy version to maintain backwards compatibility of existing scripts and a completely new one that is much faster and more powerful than its predecessor. New CHM documentation and a wider range of "Create New" project types directly supported by the new script engine from the editor place a wider range of project types at your fingertips. There is also a new format PLUGIN system for the default editor as well as the old one for backwards compatibility.
DEP Compatibility The MASM32 SDK has been rebuilt to ensure it is fully compatible with the Data Execution Prevention safety feature in later versions of Windows.
Required OS Version The MASM32 SDK requires Win2000 or higher Windows versions. A legacy version will be supplied for earlier Windows versions.
Features 1. The most up to date version of Ray Filiatreault's floating point library and tutorial.
2. A completely new dedicated time and date library written by Greg Lyon.
3. The MASM32 library with over 200 procedures for writing general purpose high performance code.
4. A new dynamic array system for variable length string and binary data with both a macro and procedural interface.
5. The include files and libraries have been upgraded to XP SP2.
6. An specialised linker, resource compiler and assembler from Pelle's tool set with working examples.
7. An extensive range of example code ranging from simple examples to more complex code design.
8. Prebuilt scripts in the editor for creating working templates for assembler projects.
9. A very easy to use console interface for developing algorithms, test code and experimental ideas in code.
More ......
Target Users The MASM32 SDK is targeted at experienced programmers who are familiar with writing software in 32 bit versions of Windows using the API interface and who are familiar with at least some direct mnemonic programming in assembler. It is not well suited for beginner programmers due to the advanced technical nature of programming in assembler and beginners are advised to start with a compiler first to learn basic concepts like addressing, programming logic, control flow and similar.
Help Files The help file system has been upgraded to CHM format so that MASM32 can be used on Windows versions that no longer support Winhelp help files.
Application MASM is routinely capable of building compete executable files, dynamic link libraries and separate object modules and libraries to use with the Microsoft Visual C development environment as well as MASM. It is an esoteric tool that is not for the faint of heart and it is reasonably complex to master but in skilled hands it has performance that is beyond the best of modern compilers when properly written which makes it useful for performance critical tasks.
Things To Get For both space and copyright reasons the MASM32 SDK does not include reference material from either the Intel Corporation or the Microsoft Corporation but both make the best comprehensive reference material available as free downloads. With the Intel Corporation you would obtain the PIV set of manuals or later for compete mnemonic and architecture reference and with the Microsoft Corporation you can either use their online MSDN reference or download an appropriate PLATFORMSDK or its successor for you own version of Windows. If you can still find it it is useful to have the very old WIN32.HLP Winhelp file if your operating system version supports Winhelp as it is a lot faster to load than the CHM versions.
Why Write Assembler The simple answer is because you can. While there are very good compilers that in many instances produce good quality code when run with the right options, you are usually stuck with doing things their way where with an assembler as powerful as MASM you have a high degree of architectural freedom which you manipulate to your design advantage to produce high precision high performance code without compromise to language format or compiler designer preference.
MASM's flexibility allows the skilled programmer to target areas as diverse as dynamic link libraries for Visual basic, object modules that are linked directly into a Visual C program and of course complete executable files for task critical applications. MASM when mastered correctly put power and performance into the hands of programmers that few have ever seen and contrary to popular opinion, a modern assembler like MASM used in conjunction with both macros and libraries can be coded at about the same speed and reliability as C code.
Warning Not for the faint of heart. If MASM is to complicated for you, take up server side scripting.