Is opcode 0x82 valid?

Is opcode 0x82 valid?

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

6 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

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

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

Is there any difference between opcode 0x82 and 0x83? From the "one-byte opcode map (table A-2)", it seems they're identicle.

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

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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today