 Object Pascal 参考手册(Ver 0.1) external; 现在,你就能调用来自 BLOCK.OBJ 或 block.o 的 MoveWord 和 FillWord 例程了。 像上面的声明,经常用来访问由汇编语言编写的外部例程,你也可以直接在 Object Pascal 源代码中放置 汇编语言写的例程。关于这方面的信息,请参考 Inline assembler code。 从库导入函数 要从一个动态调入库(.so 或.DLL)导入例程,把如下格式的指示字 Integer; local; 它不刷新 EBX 寄存器,因此 • 它不能从一个库输出; • 它不能在单元的接口部分声明; • 不能取得它的地址或赋给一个过程类型的变量; • 若它完全是一个汇编语言例程,除非调用者设置了 EBX 寄存器,否则不能从其它单元调用它 The exports clause(exports 子句) 当一个例程在 exports 子句中列出时,它将被输出,它的格式如下 ECX;C 和 E 作 为双字和指针被压入栈,和它们声明的顺序一样。 寄存器保存约定 过程和函数必须保留 EBX、ESI、EDI 和 EBP 寄存器,但可以修改 EAX、EDX 和 ECX。当在汇编语言 中实现构造和销毁时,保证预留 DL 寄存器。过程和函数被调用时,是假定 CPU 的 direction 标志是清除 的(对应于 CLD 指令),并且返回时,direction 标志也必须是清除的。0 码力 | 168 页 | 868.25 KB | 1 年前3 Object Pascal 参考手册(Ver 0.1) external; 现在,你就能调用来自 BLOCK.OBJ 或 block.o 的 MoveWord 和 FillWord 例程了。 像上面的声明,经常用来访问由汇编语言编写的外部例程,你也可以直接在 Object Pascal 源代码中放置 汇编语言写的例程。关于这方面的信息,请参考 Inline assembler code。 从库导入函数 要从一个动态调入库(.so 或.DLL)导入例程,把如下格式的指示字 Integer; local; 它不刷新 EBX 寄存器,因此 • 它不能从一个库输出; • 它不能在单元的接口部分声明; • 不能取得它的地址或赋给一个过程类型的变量; • 若它完全是一个汇编语言例程,除非调用者设置了 EBX 寄存器,否则不能从其它单元调用它 The exports clause(exports 子句) 当一个例程在 exports 子句中列出时,它将被输出,它的格式如下 ECX;C 和 E 作 为双字和指针被压入栈,和它们声明的顺序一样。 寄存器保存约定 过程和函数必须保留 EBX、ESI、EDI 和 EBP 寄存器,但可以修改 EAX、EDX 和 ECX。当在汇编语言 中实现构造和销毁时,保证预留 DL 寄存器。过程和函数被调用时,是假定 CPU 的 direction 标志是清除 的(对应于 CLD 指令),并且返回时,direction 标志也必须是清除的。0 码力 | 168 页 | 868.25 KB | 1 年前3
共 1 条
- 1













