2

公式のリファレンスがないため、チュートリアルgpcasm.zipは1つしかありませんでし たが、tutをたどって、debianでインラインアセンブリの例を試してみると、gpcはそれに満足していませんでした。

gnu_asm.pas:プロシージャ'MyStupidDelay':
gnu_asm.pas:3:エラー:asmのリロード中にクラスAREGでレジスタが見つかりません

これがコードです

program gnu_asm;
Procedure MyStupidDelay(time : integer);
Begin
 Asm("0 : pushl $0xfffff
   1 : decl(%%esp)
     jnz 1b
    addl $0x4, %%esp
    decl %%eax
    jnz 0b"
    :
    : "a" (time)
    : "eax" );
end;

begin
 write("only for test");
end.

別の質問ですが、gnu pascalでのインラインアセンブリに関する他の参考資料、チュートリアル、例はありますか。

ありがとう。

4

1 に答える 1

1

問題はパスカル部分ではなく、アセンブラー部分である可能性があります。

同様の問題については、これを参照してください。

詳細については、plsにターゲットマシンとコンパイルオプションに関する情報を記載してください。

于 2009-11-17T17:34:08.677 に答える