2009-06-16 3 views
1

私はcでコンパイラを設計しています。しかし、大きな整数のような問題については、アセンブリコードでコード化する必要があります。だから私はどのように私はアセンブリコードをCで統合することができますか?私はコンパイラを設計するときにアセンブリコードをどのように統合するのですか?

私は..!..

のplsは私にあまりにも

+0

使用しているプラ​​ットフォームを指定してください適切なアセンブリ構文を提供できるようにします。 – none

+2

これを行うためのISO C標準の方法はありません。使用している特定のCコンパイラによって異なります。 –

答えて

3

ASM

良い記事を使用していますか?

別のオプションは、ASのような外部アセンブラを使用することです。あまり最適ではありませんが、原理は移植性があります。 (アセンブラの構文は大きく異なりますが)

私たち自身の小さなコンパイラ(GCCリンク互換)は、ほとんどのアセンブラでASを使用し、8年ほど後には独自の内部アセンブラしか取得しませんでした。

p.s.内部アセンブラを実装し、NASMを見て、そのアセンブラ命令のテーブルとそのア​​ドレッシングは本当にきれいで、しばしば変換されます(新しい命令のために定期的な更新に使用されます)

2

'ASM' を使用するLinux用の指示を与える窓に...私はGCCを使用しているとしている...のdevのcppの中で私のコードをwrtingています命令、例えばあなたがあなた自身のコンパイラとランタイムをコンパイルしないでくださいGCC-Inline-Assembly-HOWTO

0

asm("movl %ecx %eax"); /* moves the contents of ecx to eax */ 
関連する問題