首页
社区
课程
招聘
[求助]关于vc++内联汇编的问题
发表于: 2012-8-22 18:06 4774

[求助]关于vc++内联汇编的问题

2012-8-22 18:06
4774
我vc++内联汇编如下:
_asm
{
a:
mov eax,1
}

我想直接这样
_asm
{
004544d4:
jmp a
}

编译器说这样子不行,就是想问一下,如何在内联汇编里固定内存地址跳到我在vc内联汇编里的地址?目前我想不到什么方法,因为a都是动态地址,随机分配,所以直接写字节也不行,在或者我还想直接这样改
_asm
{
004544d4:
mov eax,1

}

小菜鸟初学vc,对windows的认识不够高,我找了好多资料都没找到方法,恳求各位看雪高手能够帮一帮我这个可怜巴巴,两眼泪汪汪的小菜鸟

第2个问题:vs2008 x64编译器不支持内联汇编,有什么办法可以解决?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 244
活跃值: (40)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
2
在内联汇编里面如果使用jmp失败,那就在普通的代码的用goto啊。
第二就不知道了。
2012-8-22 18:18
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
楼上能不能给出具体的代码或例子?就是要让固定内存 直接跳到我c++的内联汇编里,谢谢
2012-8-22 18:24
0
雪    币: 399
活跃值: (214)
能力值: ( LV12,RANK:250 )
在线值:
发帖
回帖
粉丝
4
__asm
                {
                        call nothing
        nothing:
                        pop eax
                        add eax,7
                        push eax
                        mov eax,0x004544d4
                        jmp eax
                }

0x004544d4代码:
                mov eax,1
                pop ebx
                jmp ebx
2012-8-22 20:32
0
雪    币: 24
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
关键问题就是
0x004544d4代码:
    mov eax,1
    pop ebx
    jmp ebx

这里如何用vc++写?
还有我是要从固定地址跳到我写的汇编代码,不是从我写的汇编带码跳到固定地址
2012-8-22 21:12
0
雪    币: 25
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
直接
__asm{
    mov eax,1
    pop ebx
    jmp ebx}
然后再用memcpy把ASM的写入到 0x004544d4
2012-8-25 14:02
0
游客
登录 | 注册 方可回帖
返回
//