首页
社区
课程
招聘
[旧帖] [求助]一个汇编代码看不懂`前辈们进! 0.00雪花
发表于: 2008-6-29 22:58 3572

[旧帖] [求助]一个汇编代码看不懂`前辈们进! 0.00雪花

2008-6-29 22:58
3572
.if      eax && (ebx >= dwx) || !(dwy != ecx)
          mov       esi,1
.elseif edx
          mov       esi,2
.elseif esi & 1
          mov       esi,3
.elseif ZERO? && CARRY?
          mov       esi,4
.endif
上面假如 (eax = 10H ebx =20H dwx =30H dwy=12H ecx=14H)
小弟主要想知道比如  eax && (ebx >= dwx) || !(dwy != ecx)  的运算步骤 请前辈们说得详细点``小弟在这里程序谢谢了`
   请别直接说  eax && (ebx >= dwx) || !(dwy != ecx) 这个等于0或者1 请说下步骤  谢谢前辈们了! 还有就是下面哪个.elseif edx是什么意思为什么只有个edx呢?

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

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
1:        TEST EAX, EAX     //先判断EAX!=0
2:        JE     9                 //FALSE就到9
3:        CMP  EBX, dwx    //ebx >= dwx
4:        JAE   7                 //TRUE就到7
5:        CMP  dwy, ECX   //!(dwy != ecx)
6:        JNZ   9                //FALSE就到9
7:        MOV  ESI, 1
8:        JMP   21
9:        TEST EDX, EDX   //判断EDX!=0
10:      JZ     13              //FALSE就到13
11:      MOV  ESI, 2
12:      JMP   21
13:      TEST ESI, 1        //判断(ESI & 1) != 0
14:      JZ     16              //FALSE到16
15:      MOV  ESI, 3
15:      JMP   21
16:      ZERO?               //不解 ,是宏吗?
17:      JZ     21
18:      CARRY?              //不解 ,是宏吗?
19:      JZ     21
20:      MOV  ESI, 4
21:
2008-6-30 01:58
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
.elseif edx  的条件就是EDX咯.EDX的值是否零.
ZERO?  CARRY? 就是测试ZF ,CF位咯
2008-6-30 10:10
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
eax && (ebx >= dwx) || !(dwy != ecx)  的运算步骤
   请参考C语言运算优先级.
2008-6-30 10:10
0
雪    币: 247
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
都是基础知识而已
2008-6-30 11:18
0
游客
登录 | 注册 方可回帖
返回
//