AMD Confidential
User Manual
September 12
h
, 2008
196
Appendix A
Instruction
Supported
Mnemonic
Opcode
Description
CALL
reg/mem32
FF /2
Near call with the target specified
by
reg/mem32
.
CALL
reg/mem64
FF /2
Near call with the target specified
by
reg/mem64
.
CALL FAR
pntr16:16
9A
cd
Far call direct, with the target
specified by a far pointer contained
in the instruction.
CALL FAR
pntr16:32
9A
cp
Far call direct, with the target
specified by a far pointer contained
in the instruction.
CALL FAR
mem16:16
FF /3
Far call indirect, with the target
specified by a far pointer in memory.
CALL FAR
mem16:32
FF /3
Far call indirect, with the target
specified by a far pointer in memory.
CBW
98
Sign-extend AL into AX.
CWDE
98
Sign-extend AX into EAX.
CDQE
98
Sign-extend EAX into RAX.
CWD
99
Sign-extend AX into DX:AX.
CDQ
99
Sign-extend EAX into EDX:EAX.
CQO
99
Sign-extend RAX into RDX:RAX.
CLC
F8
Clear the carry flag (CF) to zero.
CLD
FC
Clear the direction flag (DF) to
zero.
CFLUSH
mem8
0F AE /7
Flush cache line containing
mem8
.
CMC
F5
Complement the carry flag (CF).
CMOVO
reg16
,
reg/mem16
0F 40 /r
Move if overflow (OF = 1).
CMOVO
reg32
,
reg/mem32
0F 40 /r
Move if overflow (OF = 1).
CMOVO
reg64
,
reg/mem64
0F 40 /r
Move if overflow (OF = 1).
CMOVNO
reg16
,
reg/mem16
0F 41 /r
Move if not overflow (OF = 0).
CMOVNO
reg32
,
reg/mem32
0F 41 /r
Move if not overflow (OF = 0).
CMOVNO
reg64
,
reg/mem64
0F 41 /r
Move if not overflow (OF = 0).
CMOVB
reg16
,
reg/mem16
0F 42 /r
Move if below (CF = 1).
CMOVB
reg32
,
reg/mem32
0F 42 /r
Move if below (CF = 1).
CMOVB
reg64
,
reg/mem64
0F 42 /r
Move if below (CF = 1).
CMOVC
reg16
,
reg/mem16
0F 42 /r
Move if carry (CF = 1).
CMOVC
reg32
,
reg/mem32
0F 42 /r
Move if carry (CF = 1).
CMOVC
reg64
,
reg/mem64
0F 42 /r
Move if carry (CF = 1).
CMOVNAE
reg16
,
reg/mem16
0F 42 /r
Move if not above or equal (CF = 1).
CMOVNAE
reg32
,
reg/mem32
0F 42 /r
Move if not above or equal (CF = 1).
CMOVNAE
reg64
,
reg/mem64
0F 42 /r
Move if not above or equal (CF = 1).
CMOVNB
reg16
,
reg/mem16
0F 43 /r
Move if not below (CF = 0).
CMOVNB
reg32
,
reg/mem32
0F 43 /r
Move if not below (CF = 0).
CMOVNB
reg64
,
reg/mem64
0F 43 /r
Move if not below (CF = 0).
CMOVNC
reg16
,
reg/mem16
0F 43 /r
Move if not carry (CF = 0).
CMOVNC
reg32
,
reg/mem32
0F 43 /r
Move if not carry (CF = 0).
CMOVNC
reg64
,
reg/mem64
0F 43 /r
Move if not carry (CF = 0).
CMOVAE
reg16
,
reg/mem16
0F 43 /r
Move if above or equal (CF = 0).
CMOVAE
reg32
,
reg/mem32
0F 43 /r
Move if above or equal (CF = 0).
CMOVAE
reg64
,
reg/mem64
0F 43 /r
Move if above or equal (CF = 0).
CMOVZ
reg16
,
reg/mem16
0F 44 /r
Move if zero (ZF = 1).
CMOVZ
reg32
,
reg/mem32
0F 44 /r
Move if zero (ZF = 1).
CMOVZ
reg64
,
reg/mem64
0F 44 /r
Move if zero (ZF = 1).
CMOVE
reg16
,
reg/mem16
0F 44 /r
Move if equal (ZF = 1).
CMOVE
reg32
,
reg/mem32
0F 44 /r
Move if equal (ZF = 1).
CMOVE
reg64
,
reg/mem64
0F 44 /r
Move if equal (ZF = 1).
CMOVNZ
reg16
,
reg/mem16
0F 45 /r
Move if not zero (ZF = 0).
CMOVNZ
reg32
,
reg/mem32
0F 45 /r
Move if not zero (ZF = 0).