阅读:2465回复:9
MSC6.0或者Visual C++ 1.52如何调用汇编模块?
我用Turbo C的调用方法,好像行不通,谁有这方面的经验,或者请帮帮小弟,急急急!!!!!
|
|
沙发#
发布于:2002-06-20 12:23
直接内嵌汇编不行吗?
|
|
板凳#
发布于:2002-06-20 14:38
直接内嵌汇编也可以,我也会用,但是气人的是Microsoft c6.0和Visual C++ 1.52不认识32位寄存器,比如eax,ebx,我快急疯了,请各位帮帮忙啊!!!!!!!
|
|
地板#
发布于:2002-06-20 15:15
可以的啊!怎么会不认呢!奇怪了
|
|
地下室#
发布于:2002-06-20 15:39
直接嵌入机器码吧。
你说的那两个东西是16位的,它们不懂32位汇编。 我忘记VC里怎么嵌入机器码了,你查查 你可以这样 嵌入0x66 然后 mov ax,bx 这就是 mov eax,ebx了 |
|
|
5楼#
发布于:2002-06-20 16:34
呵呵!可以这样啊!
_asm{ db 0x90,0x90 } |
|
6楼#
发布于:2002-06-20 17:04
USE _emit
|
|
7楼#
发布于:2002-06-20 18:22
先用MASM编译ASM为OBJ.
然后直接将OBJ联编. 我在VC6下面就是这样使用的. 注意_FuncName,加\"_\". |
|
8楼#
发布于:2002-06-20 23:46
32位跟16位编译器应该不认的。
|
|
9楼#
发布于:2002-06-24 13:01
问题到是解决了,我用
_asm{ nop nop nop nop nop nop } 让它生成obj,然后在OBJ中找90 90 90 90 90 90 用要使用的汇编的机器码替代,不过总觉得旁门左道,不知是否有正统的解决方案?我结贴了. 感谢各位相助!!!! :) :) :) :) :) :) |
|