求详细介绍delphi汇编的教程

解决方案 »

  1.   

    好像还没见过专门介绍在DELPHI下写汇编的书.
      

  2.   

    我看了delphi得那本语言教程,就是什么的object pascal得帮助文件的翻译本,但是里面的汇编说的实在是少了一点啊,没有什么深入的讲解阿!!
      

  3.   

    只要你汇编学得好,DELPHI下写和在其它地方写没区别.
    只是多了个ASM和END.
      

  4.   

    asm 和Delphi没太大关系,Delphi自然很少介绍了。
    使用嵌入汇编主要就是要注意寄存器和堆栈的恢复,除非必要否则不该用这东西。
      

  5.   

    就向pazee(耙子)所说的。delphi中用到asm毕竟不是很多。 楼主怎么要朝这方面...
      

  6.   

    在Delphi里面写汇编就是加个asm和end关键字而已
      

  7.   

    楼主想学习低层的东东,就学习API啊,或是学习一下VC啊,怎么想学汇编了?
      

  8.   

    汇编是个好东西, Delphi 语句本身代码块太大, 若想做比其要小的只有使用内嵌汇编.比如:
        写一个程序可以动态调用 Dll 中的函数, 且参数个数不定, 参数类型不定, 函数返回值类型不定, 允许其声明函数格式, 并调用它.
        若使用 Delphi 本身的函数是无法做到这一点的, 唯有通过内嵌汇编来实现, 前提是你必须完全理解各种调用协议的参数传递, 及压栈顺序.
      

  9.   

    这有什么好学的,你在delphi里面写的汇编代码和你学的没有差别,不过要加上表明是汇编代码的编译器指示字而已。
      

  10.   

    Delphi's Help 中讲了一些内嵌汇编的知识。 你可以查看 Help 中的 Inline assembly code 索引项。
      

  11.   

    我知道用
    ASM:
    begin
    end;但具体就不懂了,没搞过、这方面的也搞不起
      

  12.   

    一定没有!!!一般是在DELPHI中
    asm
    ......汇编 
    end;就这么用了。想知道汇编怎么用。得学汇编。不是DELPHI!!
    比如可以这样
    var i:integer;
    ....
    asm
    mov eax,i;
    inc eax;
    mov i,eax;
    end;
    这样的话,就可以把I加1了。:)呵呵。这样效率高,不过用处不大。所以必须是不得已时用
      

  13.   

    最好用Intel CPU开发大全作为指导,Intel.com可以找到
      

  14.   

    我在看vcl的源代码,里面很多汇编语言代码,我要知道各个寄存器的用法,一本那些寄存器是放那些数据的!!我在system里面的一些代码,我在看rtl阿
      

  15.   

    要学汇编就看汇编的书。在Delphi中注意一下特权指令,参数传递就可以。
    调用api用堆栈传参,stdcall方式,delphi中的函数用eax、edx,ecx?若我次序没记错的话。
    再多也用堆栈。不过是pascal方式……你自己试试吧,我记得不清楚了。
      

  16.   

    刚开始人们用0101写程序
    因不易传播,出现了打孔机
    因编码易出错,出现了汇编语言
    因不易移植,出现了高级语言
    因不易维护和重构,出现了面向对象语言
    因入门不易,开发效率慢,出现了RAD这种弱智级的编程方式而如今人们已经习惯了RAD这种奇妙的,用鼠标写程序的方式之后,却为什么要回到汇编语言呢? 
    就像下面的EAX的轮回
     CALL NEXT
    NEXT:
     POP ESI
     SUB ESI,5
     PUSH ESI
     INC EAX
     DIV ECX
     MOV EAX,EDX
     RET