Saturday, 6 September 2025

MASM Decoded

MASM is the Microsoft Macro Assembler. 

It was introduced by Microsoft in the early 1980s to support x86 programming on DOS and Windows Platforms, and competed with IBM and Borland assembly tools.  The "macro" in the naming refers to assembly macros - reusable code snippets to simplify complex or repetitive assembly tasks.   It is an assembler in the sense it converts assembly language into executable machine code.

Inline assembler used to be a "thing" in earlier versions of Visual Studio. This allowed you to embed assembly language in a higher level programming language source code. This is no longer supported for x64 or ARM64 targets.

Options to port inline assembler include: conversion to C++, create separate assembly language source files, or use compiler intrinsics (supported by the Microsoft C++ compiler).

No comments: