因为我要做一个对硬件底层操作的dll,要用到对一些端口的读写(如计数器8253等)。delphi中没有直接对硬件操作的函数,所以想插入汇编语言。可行吗?

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin  asm  end;
    end;
      

  2.   

    那我要编写dll函数,是不是:
    library myfunction;
    function myfunction(x,y:integer);stdcall;
    begin
      asm
      asm 
      ...
    end;exports
      myfunction;
    begin
    end.制作dll还应该注意什么吗?比如入口函数,出口函数之类的。
      

  3.   

    不需要写DLL在普通程序里便可,你要直接访问硬件的话可能windows不会让你这么干,win9x下要写个跳入Ring0的东东吧。
      

  4.   

    ring0是什么?
    我是编了一个vb的程序,现在要对硬件操作,但是vb不能实现。所以就想用vc或delphi来做dll,再在vb中调用。上面的那个想法不可行吗?
      

  5.   

    具体要看你如何操作硬件,如果想在win9x下执行某特权指令,那就必须跳入Ring0