• 欢迎加入论坛官方QQ群:576877264 免责声明:本站资源均为用户上传,请自行查验文件是否含有病毒,论坛不对病毒文件造成的损失负任何责任。
  • 如果各位有MC开服(原版、插件、模组)、泰拉瑞亚开服、建站或者购置服务器需求的话,可以联系QQ2941719865,特别便宜,论坛也在用~

【持续更新】PVZClass 浮点数汇编指令 宏定义集

未见堇开

玉米加农炮 lv.4
以前在用PVZClass写一个修改僵尸速度的修改器时,为了注入处理浮点数的指令,费了很大功夫查指令表。
从那时起,我就萌生了写一个宏定义集,以此一劳永逸的想法。

为了方便使用PVZClass注入与浮点数操作有关的代码,我特地写了这个宏定义集。

当然,这个集不可能收录全部指令,若有遗漏,还请见谅。

希望能对你(和你的代码)有所帮助。
 
注意事项:
  1. 本贴仅发布宏定义集,以及收录指令的简介。如需详细了解汇编语言对浮点数的处理,请自行搜索。
  2. 本宏定义集可以自由转载,包括添加至Github的PVZClass原址。但请注明出处。
  3. 本宏定义集包含上百行代码,添加时请注意!
  4. 部分机器码可能对应同一指令,本集只收录一种表示形式。
本宏定义集不收录以下指令:
  1. 对象为双精度浮点数或者十字节浮点数的指令;
  2. 参量中同时含有两个及以上寄存器的指令(如fld dword ptr [eax+ebx])。
  3. 名称不同但作用明显一致的指令(如fsub st(0),st(0)和fsubr st(0),st(0)) 。
 
本楼我将发布完整的宏定义集。

在更新时,本楼会被重新编辑。请注意本楼的发布时间。
 

附件

最后编辑:
使用方法:
  • 将全部代码复制到pvzclass目录下的AsmFuntions.h(不建议)
或者:
  1. 将文件扩展名改为.h后,放到pvzclass目录下。
  2. 在pvzclass.h中添加一行:
    C++:
    #include "AsmFunctionEX_out.h"
  3. 在“解决方案资源管理器”中,右击“AsmFunctionEX_out.h”,点击“包括在项目中”
 
最后编辑:
2021/6/17 更新:
  1. 将原有的_STO、_STWO等表示浮点寄存器的后缀合并为_ST,用参数b来分辨不同的寄存器。
  2. 将过去的_PTR后缀改为_PTR_ARRD后缀,避免与其他_PTR类后缀的混淆。
 
最后编辑:
后退
顶部