谁能帮我解释下这个汇编代码的意思???最好同时懂vb的~~
时间:2011-05-17
来源:互联网
Delphi(Pascal) code
说明:
上面声明的3个函数都是dll的内置函数,ocr—c这个函数 参数好像是2个字符串格式的,但是返回值是什么格式的我到现在没搞明白(vb的,我是学vb的) 现在这个asm里面阐述了这个函数如何调用和返回值转换成字符串的过程,但是我不懂反汇编,所有不知道什么意思,我想知道 如果用vb 如何调用这个ocr—c 并且吧结果转换成字符串?????
求高手指点下。。。。。
这个是delphi论坛一个朋友的回答==============
这个汇编代码其实很简单,就是标准的 stdcall 方式调用 dll 中的函数。
将参数从后往前推入堆栈,然后call开始调用。调用完成返回一个指针,放在eax寄存器里面,指向一个4字节的地址。
VB要调用的话很简单,用 CopyMemory 拷贝到数组或者结构体里面就可以了。
=========================================================
但是copymemory我不懂,也不知道他上面说的什么堆栈什么的是什么意思,希望高手能给我个vb调用和返回值转换字符串代码,拜托各位大哥帮帮我,谢谢了。
function OcrInit:boolean;stdcall ; external 'AdvOCR' ; procedure OcrDone ;stdcall;external 'AdvOCR'; // Destroy procedure OCR_C(var picType:string;var picName:string);stdcall;external 'AdvOCR'; function OCR_identify (picName,types:string):string; var u1,u2,u3,u4:byte; begin asm push picName push types call ocr_c xor ecx,ecx mov cl,byte ptr [eax] mov u1,cl mov cl,byte ptr[eax+1] mov u2,cl mov cl,byte ptr[eax+2] mov u3,cl mov cl,byte ptr[eax+3] mov u4,cl end; result:=chr(u1)+chr(u2)+chr(u3)+chr(u4); end; 调用: b:= 'alibaba';//库中一种识别类型 a:=图片; edit1.Text:= OCR_identify(a,b);
说明:
上面声明的3个函数都是dll的内置函数,ocr—c这个函数 参数好像是2个字符串格式的,但是返回值是什么格式的我到现在没搞明白(vb的,我是学vb的) 现在这个asm里面阐述了这个函数如何调用和返回值转换成字符串的过程,但是我不懂反汇编,所有不知道什么意思,我想知道 如果用vb 如何调用这个ocr—c 并且吧结果转换成字符串?????
求高手指点下。。。。。
这个是delphi论坛一个朋友的回答==============
这个汇编代码其实很简单,就是标准的 stdcall 方式调用 dll 中的函数。
将参数从后往前推入堆栈,然后call开始调用。调用完成返回一个指针,放在eax寄存器里面,指向一个4字节的地址。
VB要调用的话很简单,用 CopyMemory 拷贝到数组或者结构体里面就可以了。
=========================================================
但是copymemory我不懂,也不知道他上面说的什么堆栈什么的是什么意思,希望高手能给我个vb调用和返回值转换字符串代码,拜托各位大哥帮帮我,谢谢了。
作者: ftlsisme 发布时间: 2011-05-17
函数ocr_c的具体功能我不知道,但是函数OCR_identify返回的应该是4个字节的字符串,而且这4个字节是函数ocr_c计算出来的。
至于用VB来实现调用和返回值转换字符串代码其实很简单,用地址方式传递字符串参数,然后用地址方式把字符串返回就OK了。
至于用VB来实现调用和返回值转换字符串代码其实很简单,用地址方式传递字符串参数,然后用地址方式把字符串返回就OK了。
作者: XSFGaoVictor 发布时间: 2011-05-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28