标签:font mic 寄存器 存储 word 就是 ovs 次数 bsp
比如MOV r/m16,r16
r:代表寄存器 m16:代表内存 r16:代表16位的通用寄存器
于是这条指令的意思就是,可以把r16的寄存器中的数据 存到 通用寄存器中也可以存到16位的内存中。
例子:假如EAX 00000001,ECX 00000002
执行:ADD EAX,ECX (EAX和ECX相加再放入EAX里)
执行完之后会存在EAX里面所以EAX 00000003
例子: SUB r8,r/m8(r8减去r/m8中去再存入r8)
SUB AL,byte ptr ds:[18FFA0]
例子 AND r/m32,r32(r/m32的值与r32再存入r/m32)
AND dword ptr ds:[18FFA0] ,EAX
1.MOVS允许内存到内存
2.用MOVS就默认用EDI和ESI
EDI:要把数据复制到哪里去 ESI:要复制的数据在哪里
例子:
指令:一个字节一个字节进行复制
执行前:
执行后:
说明只要指令执行一次,地址的编号就会加1(因为是byte 一个字节一个字节复制,同理如果是word那么内存的地址编号就会每执行一次加2)
3.标志寄存器EFI (暂时介绍)
DF 是指第十位
DF位为0 则EDI和ESI的值就+1/+2/+4
DF位为1 则EDI和ESI的值就-1/-2/-4
比如ECX存储的值为10
则MOV ECX,10(把10存到ECX)
REP MOVSD(rep执行多少次呢??执行16次。 10 :1111 0000,每执行一次ECX的值会-1,计数嘛)
REP STOSD(同上)
标签:font mic 寄存器 存储 word 就是 ovs 次数 bsp
原文地址:https://www.cnblogs.com/cat47/p/12254077.html