私は0xF3
進接頭辞は次のように使用されている気づいてきたように:
1)の繰り返しとINS
で0
に等しいecx
、OUTS
、MOVS
、LODS
までecx
を下げ、 STOS
命令およびrep
2)反復と呼ばれCMPS
、SCAS
命令でecx
等しい0
またはZF
セットまでecx
を減少させ呼ばrepz
又はrepe
アセンブリのx86 REP、REPZ、REPNZ、XACQUIREとXRELEASE命令
0xF3
バイナリ接頭辞として使用される:
1)リピート及びCMPS
、SCAS
命令に設定されていない0
に等しいecx
又はZF
までecx
を減少させ、最近repnz
又は
repne
と呼ばは気づいたXACQUIRE
/XRELEASE
接頭辞も同じバイナリ値(0xF2
,0xF3
)を持っています
なのでXACQUIRE
/XRELEASE
(私はメモリアドレスのロックについて何かを読んだが、彼らは作業ラインではないlock
(私は信じている))?
また、0xF3 mov byte ptr [ecx],0x0
はどうなりますか? (ZF
の設定が\設定されていないか、ecx
が0
と同じになります)
0xF2 mov byte ptr [ecx],0x0
は何を行いますか?インテルソフトウェア開発マニュアル2を引用
命令セットリファレンスを参照してください。次のようなものが表示されます:_ "F3H接頭辞は次の命令に定義され、rest_"と_ "には未定義です。XACQUIRE接頭辞ヒントは、次の命令" _のみで使用できます。セットは重複せず、 'mov'を含まない。それは未定義です。 'XACQUIRE' /' XRELEASE'が行っていることについては、_Intel®64とIA-32アーキテクチャーソフトウェア開発者マニュアル第1巻:基本アーキテクチャ_の_HLEソフトウェアインターフェース_ – Jester