任何情况下,在寄存器的使用上,BASM遵循如下的规则: ASM 语句执行过程中,必须保存EDI、ESI、ESP、EBP、EBX 的值(5个寄存器,意思是可以用,但最后得恢复成原模原样)。 ASM 语句可以任意使用EAX、ECX、EDX(三个参数寄存器,也许是编译器提前帮我们存放了三个寄存器的值,... Read More
转载
2014-11-21 21:42:00
128阅读
2评论
Delphi内嵌汇编语言BASM精要(转帖)
1 BASM概念简要 汇编语句由指令和零至三个表达式构成。表达式由常数(立即数)、寄存器和标识符构成。例如: movsb // 单指令语句 jmp @Here // 一个表达式: 标识符 add eax,1 // 两个表达式: 寄存器和立即数 // 三个表达式: 寄存器, 标识符(内存地址), 立即数 imul ed
原创
2021-07-30 10:53:01
498阅读
阅读提示:
《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。
《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。
尽可能保持二者内容一致,可相互对照。
本文代码必须包括文章《Delphi图像处理 -- 数据类型及公用过程》中的ImageData.pas单元。
const
_fc0: Single
转载
2013-12-05 10:04:00
154阅读
2评论
介绍 最近,在Embarcadero的公共论坛上,有关宣布Win64 Delphi编译器的首个版本很可能没有内置汇编程序(BASM)的讨论非常活跃。建议是改用外部汇编器,据说Embarcadero可能会选择NASM(开源Netwide汇编器)。 更新:现在很清楚,在Delphi XE2及更高版本中有 Read More
转载
2021-01-04 17:35:00
605阅读
2评论
阅读提示: 《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。 《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。 尽可能保持二者内容一致,可相互对照。 本文代码必须包括文章《Delphi图像处理 -- 数据类型及公用过程》中
阅读提示:
《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。
《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。
尽可能保持二者内容一致,可相互对照。
本文代码必须包括文章《Delphi图像处理 -- 数据类型及公用过程》中的ImageData.pas单元。
const
_fc0: Single
转载
2013-12-05 09:53:00
99阅读
2评论
阅读提示: 《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。 《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。 尽可能保持二者内容一致,可相互对照。 本文代码必须包括文章《Delphi图像处理 -- 数据类型及公用过程》中的Imag
转载
2024-10-08 20:29:58
31阅读
阅读提示: 《Delphi图像处理》系列以效率为侧重点,一般代码为PASCAL,核心代码采用BASM。 《C++图像处理》系列以代码清晰,可读性为主,全部使用C++代码。 尽可能保持二者内容一致,可相互对照。 本文代码必须包括文章《Delphi图像处理 -- 数据类型及公用过程》中的Imag