MASM (Microsoft Macro Assembler)


MASM was created in 1981 by Microsoft to provide a robust tool for developing software on the x86 architecture. x86 is a widely used computer architecture for central processing units (CPUs). It has become the dominant architecture for personal computers. The name “x86” is derived from the 8086, an early processor released by Intel®. x86 CPUs use a complex instruction set computer (CISC) design, allowing them to execute multiple instructions in a single cycle. Over the years, the x86 architecture has undergone significant advancements and improvements, making it highly compatible and capable of running a vast array of software applications, contributing to its widespread adoption in the computing industry. It was designed to leverage the full capabilities of Intel processors, enabling developers to write efficient and optimized low-level code. Over the years, MASM evolved with various updates to support new processor features and integrate with Microsoft's development tools. Strengths of Microsoft Macro Assembler include its powerful macro capabilities, extensive support for x86 and x64 architectures, and integration with Microsoft's development tools. Weaknesses include its steep learning curve and limited portability to non-Windows platforms. Competitors of MASM are NASM (Netwide Assembler), GAS (GNU Assembler), and FASM (Flat Assembler).

This course will focus on MASM (CISC), and briefly discuss ARM (RISC).




      “A bank is a place that will lend you money    
      if you can prove that you don’t need it.”    
      ― Bob Hope on banks