LLVMを使用することをお勧めします。
- レジスタの割り当てなどの低レベルの詳細を気にする必要がなくなります (SSA フォームのみを提供します)。
- それはあなたのために最適化を行います。GHC の LLVM パイプラインが示すように、手書きで十分に最適化されたコンパイラよりも高速になる可能性があります (最初は、十分に最適化される前は、成熟したネイティブ コード ジェネレータと同等またはそれ以上のパフォーマンスがありました)。
- クロスプラットフォームです-たとえばx86に縛られません
「カーネル」コマンドの意味がよくわかりません。オペコードを意味する場合:
- インテルのマニュアルがあります
- 文書化されたすべてのメモノニクスを含むウィキペディアのページがあります (ただし、オペコードではなく、常に説明であるとは限りません)。
- NASMマニュアルあり
ただし、ARM または PowerPC のオペコードはまったく異なります。
オペレーティング systen syscalls (システム コール) を意味する場合:
- Cライブラリをそのまま使用できます。それはすべてのオペレーティング システムにあり、クロス プラットフォームです。
- syscall を直接使用できます。ただし、それらは使いにくく、遅くなる可能性があり (libc は追加のバッファリングを使用する場合があります)、クロスプラットフォームではありません ( x86 の Linux システムコール- 最新ではない可能性があります)。