I'm looking through an Intel Instruction Set manual, and it looks like there are 2 different forms of ADC
that would match/encode ADC EAX, ECX
as follows:
ADC r/m32, r32 (11 /r , which encodes to 11C8)
or
ADC r32, r/m32 (13 /r, which encodes to 13C1)
My question is (given I did the math correctly), are 11C8
and 13C1
equivalent? What are the factors that an assembler would consider in selecting one encoding over another? The question is from a perspective of implementing an assembler, so the question is in general, not about this particular hypothetical instruction.
If it's a lengthy answer, please point me in a right direction as my attempts at googling it failed.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…