ADC 的二进制编码是(假设为寄存器-寄存器操作):
000100dw Mod Reg Ind
d= destination, 1 if Reg is the destination register, 0 if not
w= word operation, =0 if byte operation, =1 32 bit operation
Reg= is the register to use as a destination Register
Mod / Ind fields are used to specify the other Register involved, Mod=11, Ind= the other register
当指令像ADC EAX, ECX这样与两个寄存器一起使用时,有两种可能的编码方式:
a) EAX= EAX + ECX, COP= 13h, the "normal" case
00010011 11|000|001 where d=1 meaning 000 (EAX) is the destination register and 001 (ECX) is the other register.
b) EAX= ECX + EAX, COP= 11h,
00010001 11|001|000 d=0 meaning 001 (ECX) is not the destination register so 000(EAX) must be the destination register.
D位在涉及寄存器-寄存器或寄存器-内存操作数的几乎所有双操作数指令中都有所涉及。