Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge
Read in English
Read in English Edit

Share via

Facebook x.com LinkedIn Email

Compiler intrinsics and assembly language

Learn how Visual Studio can create low-level, processor-specific code for maximum performance and control.

Use compiler intrinsics

Overview

  • Compiler intrinsics overview

Reference

  • ARM intrinsics
  • ARM64 intrinsics
  • x86 intrinsics list
  • x64 (amd64) intrinsics list
  • Intrinsics available on all architectures
  • Alphabetical intrinsics list

Use inline assembly for x86 in Microsoft C/C++

Overview

  • Inline assembler overview

Concept

  • The __asm keyword

How-To Guide

  • Use assembly language in __asm blocks
  • Use C or C++ in __asm blocks
  • Use and preserve registers
  • Call C++ functions in inline assembly
  • Optimize inline assembly

Use the ARM and ARM64 assembler

Reference

  • ARM and ARM64 assembler reference
  • ARM and ARM64 assembler command-line reference
  • ARM and ARM64 assembler diagnostic messages
  • ARM and ARM64 assembler directives

Use the x86 and x64 assembler

Reference

  • Microsoft Macro Assembler for x86 and x64 reference
  • MASM for x64 (ml64.exe)
  • ML and ML64 command-line reference
  • Directives reference
  • Symbols reference
  • Operators reference
  • MASM BNF grammar
  • ML and ML64 error messages
  • Processor manufacturer programming manuals
Your Privacy Choices
  • Previous Versions
  • Blog
  • Contribute
  • Privacy
  • Terms of Use
  • Trademarks
  • © Microsoft 2025
Your Privacy Choices
  • Previous Versions
  • Blog
  • Contribute
  • Privacy
  • Terms of Use
  • Trademarks
  • © Microsoft 2025