由于没有官方参考,我只有一个教程 gpcasm.zip。但是当我尝试按照 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 中的内联汇编的参考、教程和示例。
谢谢。