搜索
bottom↓
回复: 3

Inline ASM for VB6(VB6内联汇编)插件+测试程序下载

[复制链接]

出0入0汤圆

发表于 2008-4-14 15:35:27 | 显示全部楼层 |阅读模式
VB6的代码效率不高,想在VB6里用汇编做终极提速吗?
下载这个插件,立即满足您的愿望!

系统需求:
1. 系统上必须安装有VB6(目前尚不支持.NET)
2. 系统上必须安装MASM32 V9.0(请去http://www.masm32.com/masmdl.htm下载安装)

下面是INLINE ASM VB插件的下载地址:
点击此处下载 ourdev_251642.rar(文件大小:195K) (原文件名:inline vb.rar)

安装方法:
先解压缩,然后进入inline vb addin目录,用VB6打开VbInLineASM.vbp,如果有错误则可以忽略。在文件菜单里编译VbInLineASM.dll,这个文件的输出地址应该选在windows\system32里。

重新启动VB6,工具栏上会有一个小ASM的图标(没有的话打开插件菜单下的插件管理器人工添加),点击这个图标,在出现的窗口里点Change Settings,在最下方倒数第二行是MASM编译器的地址(默认是空的),点旁边的“...”按钮,找到MASM的编译器ml.exe确定即可(一般地址是c:\masm32\bin\ml.exe),完成后点上方的Exit Settings就可保存退出了。

以后在VB6里使用内联汇编用
'#ASM_START
'
'  mov eax, 12345678    ;Put a number in EAX
'
'  ret                  ; Return with result in EAX
'#ASM_END
这样的格式。

注意为了避免VB出错ASM代码是需要用'注释掉的,而且在程序全编译成EXE以后才能测试汇编语言的部分,否则汇编语言在VB环境下调试时是不起作用的。


下图为一个嵌入汇编的测试例程截屏。
运算任务是分别用内联汇编和VB方式做一千万次4*2^3运算,结果显而易见汇编比VB快了足足3.2647秒。


(原文件名:masvb1.gif)

内联汇编做4*2^3的代码:

Public Function Power2ASM(ByVal Num As Long, ByVal Power As Long) As Long

'#ASM_START
'  push ebp
'  mov ebp, esp
'
'  mov eax, [ebp+8] ; Get first argument
'  mov ecx, [ebp+12] ; Get second argument
'  rcl eax, cl     ;shl eax, cl     ; EAX = EAX * ( 2 to the power of CL )

'  mov esp, ebp         ;MOV/POP is much faster
'  pop ebp              ;on 486 and Pentium than Leave
'  ret 8
'#ASM_END

End Function

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2008-4-14 15:43:14 | 显示全部楼层
强是强但有多大用?
极易与极难搭配?

出0入0汤圆

 楼主| 发表于 2008-4-15 00:14:13 | 显示全部楼层
【1楼】 hemjidn
强是强但有多大用?
极易与极难搭配?  
__________________________
主要是用来给VB提速用的。

出0入0汤圆

 楼主| 发表于 2008-4-15 00:58:21 | 显示全部楼层
有一个新VB6插件叫ThunderVB可以同时在VB6里内联编译ASM和C指令,我没用过但从截屏看这个插件甚至还在VB里提供动态C语言帮助提示,相当不错。

项目地址:http://sourceforge.net/projects/thundervb/
这个插件需要VC6和MASM32的支持。


(原文件名:slideshow.gif)
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 12:49

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表