文档介绍:java中嵌入网页:在C\\C++中嵌入汇编(一)
疯狂代码/ ĵ:http://VC/
如何样在C\\C中嵌入汇编呢?下面我们用 3篇文章来介绍说明这个问题
1. 按照默认设定创建个控制台TestAsm,在Project/SettingGeneralMicrosoft Foundation Class使用是: not
using mfc
# <>
char format = \"%s %s\\n\";
char hello = \"Hello\";
char world = \"world\";
( void )
{
__asm
{
mov eax, off world
push eax
mov eax, off hello
push eax
mov eax, off format
push eax
call prf
pop ebx
pop ebx
pop ebx
}
0;
}
上面代码对应在调试时对应汇编代码为:
10: __asm
11: {
12: mov eax, off world
00401068 mov eax,off world (00422a40)
13: push eax
0040106D push eax
14: mov eax, off hello
0040106E mov eax,off hello (00422a38)
15: push eax
00401073 push eax
16: mov eax, off format
00401074 mov eax,off format (00422a30)
17: push eax
00401079 push eax
18: call prf
0040107A call prf (004011f0)
19: pop ebx[Page]
0040107F pop ebx
20: pop ebx
00401080 pop ebx
21: pop ebx
00401081 pop ebx
22: }
编译完成后执行得到预期结果: Hello world
2. 还是上面例子设置Project/SettingGeneralMicrosoft Foundation Class使用是: using mfc in shared dll
还是上面代码在调试时候得到汇编代码如下:
10: __asm
11: {
12: mov eax, off world
00401068 mov eax,off world (00414420)
13: push eax
0040106D push eax
14: mov eax, off hello
0040106E mov eax,off hello (00414418)
15: push eax
00401073 push eax
16: mov eax, off form