News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

New member with a question

Started by TheEFIGuy, October 05, 2015, 12:17:36 AM

Previous topic - Next topic

hutch--

Josh,

Over time the method that has worked best for technical type people is gradualism from the complex techniques down to bare mnemonic low level code and it is for a reason. The Microsoft assembler ML.EXE comes with no runtime library at all, something that even a C/C++ compiler has so it can do very basic things. This is both a blessing and a curse, the blessing is it allows you to write your own runtime library, the curse is its not a learners task to write a runtime library.

A long time ago a number of friends and myself did the basic design work on the MASM32 project and among other things it meant identifying the type of problems that a person learning assembler was going to face and over time it turned into a runtime library complete with all of its source code and a collection of macros for pre-processing source code before it is assembled. What we found long ago was that a person facing a bare assembler with no support had a very high failure rate where people who had the basic support of a runtime library and some macros got code up and going much faster and were able to start experimenting with mnemonic coding without having to do  all of the hack work first.

The real fun stuff in assembler is bare mnemonic coding of high speed algorithms and while it takes some time to master, its where you see the difference in performance. Windows API function are useful and powerful but they are basic hack code that any reasonable compiler can do, with an assembler you can do all of the API functions but have the architectural freedom to lay out code to whatever advantage you want to use and with practice, your algorithms will usually outperform much of the stuff done in compilers.