一、xor异或操作,相同为0,不同为1
xor eax,eax
eax异或eax,相同为0,并把结果存放到eax,简单说该语句就是想eax寄存器清零。
二、ECX,计数器
mov ecx,0x3
将ecx寄存器设置为3
三、DEC减一操作
dec ecx
ecx寄存器的值每次减一
四、TEST,逻辑与操作,一0则0
test ecx,ecx
将ecx进行逻辑与运算,结果为0,ZF标志位设置为1,不为0,ZF位置设置为0
五、JNZ跳转操作,ZF不为0则发生跳转
jne 0x0046B996
跳转到第三步继续减一操作,知道ecx为0
六、使用LOOP命令实现跳转
循环的时候,ecx为默认的技术操作,当ecx为1的时候,跳出循环
先将edx进行异或操作置为0,将计数器置为3,每次循环edx加一,loop判断ecx是否为1,当为1的时候,执行下一条汇编代码
七、汇编实现1-100相加操作
将eax置零,将寄存器置为100,每次eax加一,loop判断ecx是否为1,为了方便操作,将loop下一条设置一个断点,按F8直接运行完循环,eax结果变为100.