非常にレイテンシーの影響を受けやすいアプリケーションを作成している場合、C++ 関数内にアセンブラーを埋め込むこと (および C++ 関数呼び出しを通常どおり使用すること) の制限は次のようになります。
inline __int64 GetCpuClocks()
{
    // Counter
    struct { int32 low, high; } counter;
    // Use RDTSC instruction to get clocks count
    __asm push EAX
    __asm push EDX
    __asm __emit 0fh __asm __emit 031h // RDTSC
    __asm mov counter.low, EAX
    __asm mov counter.high, EDX
    __asm pop EDX
    __asm pop EAX
    // Return result
    return *(__int64 *)(&counter);
}
(上記の関数は、私が見た別のSO投稿からのものです)
アセンブラでインライン化された関数をブラック ボックスのように扱えますか? アセンブラで実行した計算の結果を簡単に取得できますか? レジスタなどに現在どの変数が入っているかわからない危険性はありますか? それは解決するよりも多くの問題を引き起こしますか、それとも特定の小さなタスクには受け入れられますか?
(アーキテクチャが修正され、既知であると仮定します)
編集私はこれを見つけました、これは私がほのめかしているものです:
http://www.codeproject.com/Articles/15971/Using-Inline-Assembly-in-CC
EDIT2 これは、Linux と x86 を対象としたものです。一般的な C++/アセンブラーの質問です (または、そう思いました)。