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