Assembly Language Programming Tools |
||||||||||||||||||
| Assembly language programmers are blessed with a wide variety of tools they can use to develop software in assembly language. Better than the wide variety of available tools is the fact that most of them are free and many of them include source code for the program as well. Indeed, today the biggest problem seems to be trying to figure out which assembly language development system to use!
Indeed, the biggest problem facing those wanting to use assembly language is not the lack of tools, but the overabundance of tools. Unlike many high-level languages, there is no "defined standard" for an 80x86 assembly language. At one time, Intel had actually defined a standard syntax for 8086 assembly language as embodied in their ASM86 product, but they've long since stopped supporting that assembler and those assemblers available today that were originally based on Intel's syntax (i.e., MASM and TASM) have been extended to the point where it's difficult to recognize their origin. Most of the assemblers available today are not "Intel Syntax" assemblers, as they do not follow, at all, the original syntax specified by Intel for the ASM86 product. This isn't necessarily a drawback. Some newer assemblers add powerful features that weren't available in the original Intel Syntax, Some assemblers attempt to simplify 80x86 assembly language. Others attempt to mimic the syntax of older assemblers (that is, those assemblers that came along before the 80x86), so they'll be familiar to those moving to the 80x86 from a different processor. The thing to keep in mind, however, is that it is very rare to be able to take a source file written for one assembler and process that source file with a different assembler (in fact, TASM's ability to handle most MASM source files is about the only example of cross-compatibility between assemblers). If you must choose to learn only a single assembler, you need to make that choice very carefully. In practice, learning the syntax for a single assembler isn't a good idea because you're always going to find examples written in assembly language for a different assembler. If you don't know that other assembler, you'll not be able to (as easily) translate that code to the assembler you've learned. The best bet is to learn three or four assemblers, as time permits. Different assemblers provide different feature sets and different operating environments. Only by spending time with the different assemblers are you going to be able to determine which tool is best for you. If you're interested in comparing various assemblers, you might want to read the following: The following links take you to pages containing assembly language development software, sample source code, libraries, programming tools, and documentation for various assemblers that are freely available. |
||||||||||||||||||
|
||||||||||||||||||