怎样在vb中嵌入汇编语言

时间:2022-01-11 12:02:32
例如在vb中定义端口
dim port as integer
dim data as integer
然后从port所在的端口读取两个字节送到data所在的变量中去
vb的asm语句以什么开头呀,什么结束
顺便问一句
vb可以嵌入汇编吧

6 个解决方案

#1


按正常方法,vb是不可以嵌入汇编的
但非常规方法是可以的,却又比较复杂,不是两句话可以说清的
以你的需求最好是是用vc写一个DLL专门处理端口I/O

#2


我这里倒是有dll,但是我现在是想做一个控件
将来发行控件的时候可以不用附带dll了就好
所以我才想嵌入汇编的
什么叫非常规方法啊,有什么可以参考的东西没有啊

#3


vb 是不能直接读写端口的,这也是我用vb的一个遗憾,好多程序发布时都带了一个dll

#4


我知道的非常规方法有两种:
1.保留一个读写端口的子程序,里面用个i=j+1之类占着位子
  编译完毕后用反汇编软件找到刚才那句,然后直接改为读写IO的汇编机器码即可
2.要借助一个软件拦截VB的编译器,在编译过程中,拦截VB编译产生的汇编程序,
 修改后再用MASM编译成OBJ
两种方法都是事后过程(第2种我也没试过,应该可以),你说是不是非常规方法呀?

#5


用Delphi吧,内置的控件比VB多,还可以嵌入汇编

#6


实际上vb就无法嵌入汇编,可以说使用第三方ocx或dll是最现实的方法。

#1


按正常方法,vb是不可以嵌入汇编的
但非常规方法是可以的,却又比较复杂,不是两句话可以说清的
以你的需求最好是是用vc写一个DLL专门处理端口I/O

#2


我这里倒是有dll,但是我现在是想做一个控件
将来发行控件的时候可以不用附带dll了就好
所以我才想嵌入汇编的
什么叫非常规方法啊,有什么可以参考的东西没有啊

#3


vb 是不能直接读写端口的,这也是我用vb的一个遗憾,好多程序发布时都带了一个dll

#4


我知道的非常规方法有两种:
1.保留一个读写端口的子程序,里面用个i=j+1之类占着位子
  编译完毕后用反汇编软件找到刚才那句,然后直接改为读写IO的汇编机器码即可
2.要借助一个软件拦截VB的编译器,在编译过程中,拦截VB编译产生的汇编程序,
 修改后再用MASM编译成OBJ
两种方法都是事后过程(第2种我也没试过,应该可以),你说是不是非常规方法呀?

#5


用Delphi吧,内置的控件比VB多,还可以嵌入汇编

#6


实际上vb就无法嵌入汇编,可以说使用第三方ocx或dll是最现实的方法。