|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer|
Assembly language serves many purposes, such as improving program speed, reducing memory needs, and controlling hardware. You can use the inline assembler to embed assembly-language instructions directly in your C and C++ source programs without extra assembly and link steps. The inline assembler is built into the compiler, so you don't need a separate assembler such as the Microsoft Macro Assembler (MASM).
Note Programs with inline assembler code are not fully portable to other hardware platforms. If you are designing for portability, avoid using inline assembler.
The following topics explain how to use the Visual C/C++ inline assembler with Intel x86-series compatible processors:
- Inline Assembler Overview
- Advantages of Inline Assembly
- Using Assembly Language in __asm Blocks
- Using C or C++ in __asm Blocks
- Using and Preserving Registers in Inline Assembly
- Jumping to Labels in Inline Assembly
- Calling C Functions in Inline Assembly
- Calling C++ Functions in Inline Assembly
- Defining __asm Blocks as C Macros
- Optimizing Inline Assembly
END Microsoft Specific