首页
社区
课程
招聘
[求助]又得开贴问一个C++新手很白痴的问题,c++汇编,je后面能否跟一个变量.
发表于: 2008-12-26 03:01 5452

[求助]又得开贴问一个C++新手很白痴的问题,c++汇编,je后面能否跟一个变量.

2008-12-26 03:01
5452
刚解决一个问题又出现一个新问题,C++汇编不知道在je jb等这样的后面能否跟变量.
je 80555555h这样可以编译通过
但是
ULONG a = 0x80555555

je a   这样是否可以,如果可以该怎么写

call [a]
jmp [a]

这个是这样用的就是不知道je可不可以!

有时候je后面跟变量也有需要
比如:
ULONG a = (ULONG)(*abc);
ULONG b = a+8
void abc();
{
    _asm
   {
    test al,al
    je "这里跟地址,我就不知道mov eax,ecx这个地址是多少,所以不知道怎么样才能跳到下面的3行去,所以得用变量.je b这样就可以跳到下面了."
    push 1
    push 2
    mov eax,ecx
    }
}

希望知道的好心人告诉我下,谢谢!

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

收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 217
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
ULONG a = (ULONG)(*abc);
ULONG b = a+8
void abc();
{
    _asm
   {
    test al,al
    je here
    push 1
    push 2
here:
    mov eax,ecx
    }
}
2008-12-26 03:17
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
ULONG a = 0x80555555
je   [a];这样的指令是没有的。
不过可以这样来:

je      here
....

here:
       jmp  [a]
2008-12-26 12:23
0
雪    币: 155
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
虽然标号和变量都是符号地址,但没见过用变量跳,
2008-12-26 15:33
0
雪    币: 129
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
恩,呵呵,非常感谢!本来打算今天零晨就回贴了,可惜24时内20贴满了,!哎.....

弄了好几天了,这几天在看雪得到大家帮助,一下子就好了,实在太感谢了!!!
2008-12-26 16:53
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
[QUOTE=xiaoAngel;556264]ULONG a = 0x80555555
je   [a];这样的指令是没有的。
不过可以这样来:

je      here
....

here:
       jmp  [a][/QUOTE]

妙,好方法,还是mm的方法巧妙
2008-12-27 12:13
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
[QUOTE=xiaoAngel;556264]ULONG a = 0x80555555
je   [a];这样的指令是没有的。
不过可以这样来:

je      here
....

here:
       jmp  [a][/QUOTE]

是jmp a 吧?
2008-12-28 10:13
0
雪    币: 451
活跃值: (78)
能力值: ( LV12,RANK:470 )
在线值:
发帖
回帖
粉丝
8
不推荐你自己写je xxxxxxxx
一般都用标记 比较好

另外学asm别拿vc做编译器
换masm吧
2008-12-28 11:52
0
游客
登录 | 注册 方可回帖
返回
//