您的位置:程序门 -> delphi -> windows sdk/api



请帮忙解决一个delphi嵌入汇编的问题.


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请帮忙解决一个delphi嵌入汇编的问题.[已结贴,结贴人:od4ys]
发表于:2007-11-27 06:24:38 楼主
环境:d2007
想把一些程序语句改成汇编方式来执行.
比如:filestream   :=   tfilestream.create(path,   $ffff);
改成                
                    asm
                    mov     ecx,$ffff
                    push   ecx
                    mov     edx,offset   path
                    push   edx
                    call   tfilestream.create
                    mov     filestream,eax
                    end;
                这样可以吗?
如果不可以的话,请教怎么压入参数,还有call   我需要执行的api函数.  
最后还要不要平衡堆栈?我是delphi新手.
发表于:2007-11-27 08:29:391楼 得分:0
不懂,帮顶一下
发表于:2007-11-27 11:46:482楼 得分:20
可以现在正常的代码里设置一个断点
然后用cpu查看器(delphimenu-> view-> debug   windows-> cpu)
将汇编代码复写下来翻译
参考如下代码
delphi(pascal) code
const filestream_class: tclass = tfilestream; var filestream: tfilestream; path: string; s: string; begin path := 'c:\temp\temp.txt'; filestream := nil; asm push fmcreate mov ecx, path mov dl,$01 mov eax, filestream_class call tfilestream.create mov ebx,eax end; s := 'zswang 路过'; filestream.write(s[1], length(s)); filestream.free; end;
发表于:2007-11-27 14:01:303楼 得分:0
谢谢,我正在测试.


快速检索

最新资讯
热门点击