インラインアセンブラ
インラインアセンブラ（英: Inline assembler）は、高水準言語の処理系中に埋込まれているアセンブラ、ないし、そのような言語でソースコード中（インライン）にアセンブリ言語によるコードを埋込むことができる、という機能である。例として、以下のような利用法がある。x86のFPUを利用して変数xのタンジェントを計算するD言語で記述されたインラインアセンブラの例。x86系プロセッサで利用可能な円周率の近似値を得るためのcodice_1命令を利用でき、コンパイラが浮動小数点を用いた場合より高速である。
メモリが保護されている環境でOSの機能を直接呼び出すことは一般的に不可能である。OSはユーザーモードより上位の特権モード(カーネルモード)で動作しており、OSにリクエストするためには（ソフトウェア）割り込みを利用する。これを行う機能をもつ高級言語はほとんどなく、システムコールのためのはインラインアセンブラを用いて記述されている。
下記のC言語によるサンプルにはシステムコールのラッパーも含まれる。一般的にはマクロと組み合わせて記述するが、ここでは説明のためにあえてマクロを利用していない。
基本的なインラインアセンブラの形式は非常に単純である。基本形は下記のとおり(GCCのみ、Visual Studio では __asm{ }の形式に直す必要がある)。
例:
codice_2とcodice_3はいずれも正しい。もしcodice_2というキーワードがソースコード中のほかのキーワードと重複している場合はcodice_3を利用してもよい。