| 
- | CMOV    cccc, reg1, reg2, reg3  | 
| 
- | CMOV    cccc, imm5, reg2, reg3 | 
 
| 
- | asrhでは,上記に加えて,次の形式も指定できます。 | 
| 
- | cmovcond   reg1, reg2, reg3 | 
| 
- | cmovcond   imm, reg2, reg3 | 
 
condに指定できる記述,および意味はsetf命令と同じです。詳細は「表 5.27  setfcond命令」を参照してください。
 
| 
- | “cmov cccc, imm, reg2, reg3”,または“cmovcond  imm, reg2, reg3”の形式でimmに次のものを指定した場合,アセンブラでは,命令展開が行われ,複数個の機械語命令が生成されます。 | 
| 
(a) | -16〜+15の範囲を越え,-32768〜+32767の範囲の絶対値式 | 
| cmov    imm4, imm16, reg2, reg3 | movea   imm16, r0, r1 cmov    imm4, r1, reg2, reg3 | 
| 
(b) | -32768〜+32767の範囲を越える絶対値式 | 
immの値の下位16ビットがすべて0の場合
| cmov    imm4, imm, reg2, reg3 | movhi   HIGHW(imm), r0, r1 cmov    imm4, r1, reg2, reg3 | 
 
上記以外の場合
| cmov    imm4, imm, reg2, reg3 | mov     imm, r1 cmov    imm4, r1, reg2, reg3 | 
| 
(c) | #label,またはlabelを持つ相対値式,およびsdata/sbss属性セクションに定義を持たないラベルの$labelを持つ相対値式 | 
| cmov    imm4, #label, reg2, reg3 | mov     #label, r1 cmov    imm4, r1, reg2, reg3 | 
| cmov    imm4, label, reg2, reg3 | mov     label, r1 cmov    imm4, r1, reg2, reg3 | 
| cmov    imm4, $label, reg2, reg3 | mov     $label, r1 cmov    imm4, r1, reg2, reg3 | 
| 
(d) | !label,または%labelを持つ相対値式,およびsdata/sbss属性セクションに定義を持つラベルの$labelを持つ相対値式 | 
| cmov    imm4, !label, reg2, reg3 | movea   !label, r0, r1 cmov    imm4, r1, reg2, reg3 | 
| cmov    imm4, %label, reg2, reg3 | movea   %label, r0, r1 cmov    imm4, r1, reg2, reg3 | 
| cmov    imm4, $label, reg2, reg3 | movea   $label, r0, r1 cmov    imm4, r1, reg2, reg3 |