首页
社区
课程
招聘
[求助]C++内联汇编一个问题
发表于: 2013-4-11 21:14 4045

[求助]C++内联汇编一个问题

2013-4-11 21:14
4045
今天在写C++内联汇编代码的时候遇到了这样的一条汇编指令。

_asm{
        mov ebx,DWORD PTR [804d9088h]
        call    ebx
}

上面的代码意思应该是  把804D9088这个指针指向的  双字 数据 赋给 EBX,然后Call EBX

但是在实际应用后却发现C++执行改代码与预期结果不符。

C++解析该代码的时候变成了

_asm{
    mov        ebx,804d9088h
    call         ebx
}

没有取地址值,直接Call了。

我用WinDbg调试了几遍都是这样。

难道是我理解错了 mov ebx,DWORD PTR [804d9088h] 这句代码的意思???

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 468
活跃值: (52)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
改成 mov ebx,804d9088h
       call [ebx]
吧。
2013-4-11 21:34
0
雪    币: 2859
活跃值: (2663)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
3
 12: 	__asm
    13: 	{
    14: 		mov ebx,dword ptr ds:[0x401000]
002814AE 3E 8B 1D 00 10 40 00 mov         ebx,dword ptr ds:[401000h]  
    15: 		call ebx
002814B5 FF D3                call        ebx  
    16: 	}

少了ds:
2013-4-11 22:10
0
游客
登录 | 注册 方可回帖
返回
//