阿 阿子 Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #1 在开发控件的时候,什么时候要用到汇编语言,要注意那些东西呢,与平时的汇编语言有什 么不同。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #2 除了底层控制比如硬件端口等一般都不要汇编,除非你的汇编特别牛。
Z zhangkan Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #3 现在谁还用汇编,搞单片机吗?你开个Delphi中的单元源码看看,有的里面就有。比如说 windows.pas里面。
S sportsman Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #4 比如: 可视化电话 交换机控制 pos 。。。。。。
阿 阿子 Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #5 那 ASM ... end; 中间的是不是汇编语言啊,我看到好多的新控件都有它啊,是不是很有用的啊
M mikedeakins Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #6 大多数情况用不上。只有在很基础的算法部分才考虑使用 以提高性能。
H hnzgf Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #7 不赞成用汇编,因为你需要考虑许多东西,如保护地址、保护栈内容,另外退出时 还要注意恢复,万一有什么东西没有考虑全面,很容易造成程序错误,甚至系统崩溃。 一般需要跟硬件打交道时可以考虑使用汇编,这样可以提高效率
不赞成用汇编,因为你需要考虑许多东西,如保护地址、保护栈内容,另外退出时 还要注意恢复,万一有什么东西没有考虑全面,很容易造成程序错误,甚至系统崩溃。 一般需要跟硬件打交道时可以考虑使用汇编,这样可以提高效率
阿 阿子 Unregistered / Unconfirmed GUEST, unregistred user! 2001-03-17 #8 procedure TFade.Blendit(bFr,bTo,bLnointer;Width,Height:Integer;Dens:LongInt);Assembler; ASM MOV &EBX,EBX MOV &EDI,EDI MOV &ESI,ESI MOV &ESP,ESP MOV &EBP,EBP MOV EBX,Dens MOV Dens1,EBX NEG BL ADD BL,$20 MOV Dens2,EBX CMP Dens1,0 JZ @Ifnal MOV EDI,bFr MOV ESI,bTo MOV ECX,bLn MOV EAX,Width lea EAX,[EAX+EAX*2+3] AND EAX,$FFFFFFFC IMUL Height ADD EAX,EDI MOV IfnA,EAX MOV ESP,ESI MOV ECX,ECX @LOOPA: MOV EAX,[EBP] MOV EDI,[ESP] MOV EBX,EAX AND EAX,Mask1010 AND EBX,Mask0101 SHR EAX,5 IMUL EAX,Dens2 IMUL EBX,Dens2 MOV ESI,EDI AND EDI,Mask1010 AND ESI,Mask0101 SHR EDI,5 IMUL EDI,Dens1 IMUL ESI,Dens1 ADD EAX,EDI ADD EBX,ESI AND EAX,Mask1010 SHR EBX,5 AND EBX,Mask0101 OR EAX,EBX MOV [ECX],EAX ADD EBP,4 ADD ESP,4 ADD ECX,4 CMP EBP,IfnA JNE @LOOPA @IFNAL: MOV EBX,&EBX MOV EDI,&EDI MOV ESI,&ESI MOV ESP,&ESP MOV EBP,&EBP END; 分拿不回的,总是要给的。就帮看看这是什么意思吧;这是fade的渲染渐变,有人见过吗? 谢谢了。
procedure TFade.Blendit(bFr,bTo,bLnointer;Width,Height:Integer;Dens:LongInt);Assembler; ASM MOV &EBX,EBX MOV &EDI,EDI MOV &ESI,ESI MOV &ESP,ESP MOV &EBP,EBP MOV EBX,Dens MOV Dens1,EBX NEG BL ADD BL,$20 MOV Dens2,EBX CMP Dens1,0 JZ @Ifnal MOV EDI,bFr MOV ESI,bTo MOV ECX,bLn MOV EAX,Width lea EAX,[EAX+EAX*2+3] AND EAX,$FFFFFFFC IMUL Height ADD EAX,EDI MOV IfnA,EAX MOV ESP,ESI MOV ECX,ECX @LOOPA: MOV EAX,[EBP] MOV EDI,[ESP] MOV EBX,EAX AND EAX,Mask1010 AND EBX,Mask0101 SHR EAX,5 IMUL EAX,Dens2 IMUL EBX,Dens2 MOV ESI,EDI AND EDI,Mask1010 AND ESI,Mask0101 SHR EDI,5 IMUL EDI,Dens1 IMUL ESI,Dens1 ADD EAX,EDI ADD EBX,ESI AND EAX,Mask1010 SHR EBX,5 AND EBX,Mask0101 OR EAX,EBX MOV [ECX],EAX ADD EBP,4 ADD ESP,4 ADD ECX,4 CMP EBP,IfnA JNE @LOOPA @IFNAL: MOV EBX,&EBX MOV EDI,&EDI MOV ESI,&ESI MOV ESP,&ESP MOV EBP,&EBP END; 分拿不回的,总是要给的。就帮看看这是什么意思吧;这是fade的渲染渐变,有人见过吗? 谢谢了。
W wjiachun Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-23 #10 阿子:如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。 请认真阅读大富翁论坛规则说明 http://www.delphibbs.com/delphibbs/rules.htm
P pie Unregistered / Unconfirmed GUEST, unregistred user! 2001-04-23 #11 编程很重要的是代码的可靠性, 用DELPHI可以快速的开发出可靠的代码, 不容易出错! 如果一些对硬件操作, 而用DELHI的OBJECT PASCAL无法实现, 在采用汇编语言, 向阿子这样嵌入的DELPHI的代码中。 用用可以这样嵌入: procedure TFade.Blendit(Width,Height:Integer;Dens:LongInt); begin aa:=Width; bb:=aa+1; Asm MOV EAX,Width 。。。 end end;
编程很重要的是代码的可靠性, 用DELPHI可以快速的开发出可靠的代码, 不容易出错! 如果一些对硬件操作, 而用DELHI的OBJECT PASCAL无法实现, 在采用汇编语言, 向阿子这样嵌入的DELPHI的代码中。 用用可以这样嵌入: procedure TFade.Blendit(Width,Height:Integer;Dens:LongInt); begin aa:=Width; bb:=aa+1; Asm MOV EAX,Width 。。。 end end;