2020-08-30(循环,字符串指令和寻址)
2020-08-30 本文已影响0人
Bui_vlee
LOOP 循环指令 只循环.
LOOPD 循环指令 用EAX作为计数器,来控制循环,每次EAX递减1.
MOVS 字符串赋值指令 从一个地址向另一个地址复制数据,源数据地址保存在ESI寄存器中,目的地址保存在EDI寄存器中.
REP 前缀指令 该前缀表示当前的指令需要执行的次数ECX.每次循环计数器ECX的值减1.
例如 REP MOVES 每次循环源指针ESI跟目的指针EDI每次递增4或递减4(递增递减取决于标志位D).
LODS 从源地址(像ESI)拷贝数据到 EAX中. REP也可以跟LODS搭配.
STOS 从EAX拷贝数据到目的地址. REP也可以跟STOS搭配.
CMPS 比较指令 比较ESI和EDI指定内存单元的内容.做算数减法运算,差值为0,表示内容相同.
直接寻址 指令中操作数包含一个具体的地址
例如:MOV DWORD PTR [00513450],ECX
间接寻址 地址不是直接寻址那样直接给出,而是通过某个特定的内存单元得出
例如:MOV DWORD PTR [EAX],ECX