4

私は、C で書かれたプログラムを移植し始めており、ljmpのような 32 ビット マシン用の命令を使用してアセンブリで記述されたいくつかのコードを 64 ビット マシンに移植しています。

アセンブリで、32 ビット マシンと 64 ビット マシンの対応する手順を含む場所/ドキュメントはありますか? そうでない場合、32 ビット マシンと 64 ビット マシンのすべての手順をリストしたドキュメントはどこにありますか?


それはかなり明白であるため、私はこの状況の初心者です。いくつかの点を明確にしましょう。

私は非常に初期の OS を移植しています。x86 マシンを念頭に置いて作成されました。今、x86_64で実行したいです。

これは、UNIX を念頭に置いた Linux ボックスで書かれています。元の作者が Intel マシンで書いていることはほぼ確実です。私も Intel を使用していますが、AMD でも OS を実行したいと考えています。

使用するコンパイラは gcc です。

4

2 に答える 2

3

背景やCPUの種類については何も提供していませんが、アセンブリ言語を使用したことを再考する機会として、この64ビットポートを利用することをお勧めします。それは確かにその場所を持っていますが、C ++でルーチンを再コーディングし、コンパイラの最適化された出力をベンチマークして、それが本当に遅いかどうかを確認することをお勧めします。多くの場合、そうではありません。

于 2009-07-05T03:35:01.030 に答える
3

まず、http: //x86asm.net/articles/x86-64-tour-of-intel-manuals/index.htmlをお読みください。

次に、命令セットのリファレンスをhttp://developer.intel.com/products/processor/manuals/index.htmからダウンロードします。

于 2009-07-04T23:57:57.300 に答える