一方、ロングモードに入るとアドレス長が64ビットに拡張され、新たに追加された64ビットの汎用レジスタも使えるようになります。また、ロングモードの中には32ビットのバイナリを動かす互換モードも用意され、このモードを使えば既存の32ビットのバイナリもそのまま動かすことができるようになっています。 こう書けばいいことづくめのように聞こえますが、そもそもロングモードに入るためにはカーネル自体がx86-64用にコンパイルされて、x86-64のロングモードのことを知っていなければいけませんし、カーネルをx86-64用にコンパイルするためには、コンパイラやアセンブラがx86-64用に拡張されたコマンド(オペコード)を生成できる必要があります。すなわちx86-64 CPUの新機能を利用するには、まずx86-64用の開発環境を用意する必要があるわけです。 x86-64用開発環境の選択 x86-64用の開発環