正如我所注意到的,0xF3二进制前缀被用作:
1)重复并减少ecx直到在, , ,指令中ecx等于并称为
2)重复并减少直到等于或在,指令中设置并称为或0INSOUTSMOVSLODSSTOSrepecxecx0ZFCMPSSCASrepzrepe
0xF3二进制前缀用作:
1) 重复和减少,ecx直到ecx等于0或未ZF在CMPS,SCAS指令中设置并调用repnz或repne
最近注意到XACQUIRE/XRELEASE前缀也具有相同的二进制值(0xF2, 0xF3)
那么XACQUIRE/XRELEASE正在做什么(我读到了一些关于锁定内存地址的内容,但它们不是工作线lock(我相信))?
还有0xF3 mov byte ptr [ecx],0x0会怎么做?(将在ZFset\not set 处停止,或者它将仅在ecx等于处停止0)
那0xF2 mov byte ptr [ecx],0x0会做什么?