Software Archive
Read-only legacy content
17061 Discussions

Is opcode 0x82 valid?

minwang
Beginner
1,113 Views
I have two different versions of "IA-32 Intel Architecture Software Developer's Manual". In Table A-2 "One-byte Opcode Map", one says 0x82 is "Ev, Ib"(the same as 0x83)but the other says 0x82 is "Eb, Ib"(the same as 0x80). But in "instruction set reference", it seems 0x82 is never used(for example, instruction __add__). So, is 0x82 a valid opcode? If it is, how should I decode it?
Thanks

Message Edited by minwang on 10-21-2004 05:53 PM

0 Kudos
5 Replies
Intel_Software_Netw1
1,113 Views
Greetings fromIntel Software NetworkSupport.
Wewill check onthiswith our engineering team and let you know.
Regards,

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

Message Edited by intel.software.network.support on 11-30-2005 04:26 PM

0 Kudos
Intel_Software_Netw1
1,113 Views
Here is the response we received from our hardware engineering contacts:
0x82 is a valid instruction. It decodes to ADD, SUB, AND, OR, XOR depending on the MODRM. If MOD is 11 then we have memory operations. Group 1 (row 1) in table A-4 (appdx A) defines how the instruction is decoded from that point onwards. The ADD entry of table B-10 shows the decode for opcode 0x82.
Regards,

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

Message Edited by intel.software.network.support on 11-30-2005 04:26 PM

0 Kudos
minwang
Beginner
1,113 Views
Is there any difference between opcode 0x82 and 0x83? From the "one-byte opcode map (table A-2)", it seems they're identicle.
0 Kudos
Intel_Software_Netw1
1,113 Views
We asked for clarification from our engineering contacts, whohave indicated that you should go by the most recent release of the documentation. The MODRM byte details the instructions interpretation.
We hope this is helpful.
Regards,

Lexi S.

IntelSoftware NetworkSupport

http://www.intel.com/software

Contact us

Message Edited by intel.software.network.support on 11-30-2005 04:26 PM

0 Kudos
chazzeromus
Beginner
1,113 Views
Quoting - minwang
Is there any difference between opcode 0x82 and 0x83? From the "one-byte opcode map (table A-2)", it seems they're identicle.
They're not, they're function might be but 82H uses a byte to encode operand data whilst 83H is dependant on the operand size attribute. Adn plus 82H isn't encodable in 64-bit mode, may that's why theres two.
0 Kudos
Reply