.code 【程序编程相关:用.net 存储img字段】
在code部分,你可以看到像这样的标签: 【推荐阅读:VB工程无法加载Report Desig】
sub eax, ecx 【扩展信息:http://www.myfaq.com】mov eax, edx
cmp eax, 2jz loc1xor eax, eaxjmp loc2loc1:xor eax, eaxinc eaxloc2:(xor eax, eax意为:eax=0)
让我们来看看这些代码:
mov eax, edx;把edx放入eax中
sub eax, ecx;eax-ecx
cmp eax, 2
这有一条新指令:cmp.cmp意为compare(比较).它能比较两个值(寄存器,内存,直接数值)并设置z-flag(零标志).零标志很像carry,也是内部标志寄存器的一位.
jz loc1
这也是条新的.它是条件跳转指令.jz=jump if zero(如果设置了零标志就跳转).loc1是一个标记指令“xor eax,eax|inc eax”内存开始处offset的标签.因而jz loc1=如果设置了零标志,跳往位于loc1的指令.
cmp eax, 2;如果eax=2设置零标志
jz loc1;如果设置了零标志就跳转
=如果eax等于2,跳往位于loc1的指令
然后有jmp loc2.这也好似一个跳转,但是是一个无条件跳转:它总是执行.上面的代码就是:
if ((edx-ecx)==2)
{eax = 1;}else{eax = 0;}... 下一页