OT : 3 Bytes Opcode

OT : 3 Bytes Opcode

Post by Jacky Lu » Tue, 23 Dec 2003 17:21:59

I am doing some in-depthWin32 Programming. In there the Intel Reference
Manual Vol. 2 Section 2-1 says inconsistently while according to me ... "3
bytes opcode is possible" but while I was flipping toward the end of the
manual, in there section A-1 First Paragraph "One and 2-byte opcode encoding
is used to encode integer, system, MMX technology, SSE and SSE2
instructions", and I am confused to look back and forth for a map for 3
bytes opcode (which means 3-byte opcode is also possible), But i find
none.... Could someone explain or point me to the section which has this
meaning? and point me to a section where something like this exists "3-Byte
Opcode Map (First Byte 66h and Second Byte 0FH and so on" Thanks a lot.

1. [PATCH] kprobes: bad manipulation of 2 byte opcode on x86_64

2. [PATCH 017/104] KVM: x86 emulator: fix faulty check for two-byte opcode

Right now, the bug is harmless as we never emulate one-byte 0xb6 or 0xb7.
But things may change.

Noted by the mysterious Gabriel C.

Signed-off-by: Avi Kivity < XXXX@XXXXX.COM >
drivers/kvm/x86_emulate.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c
index 82b4ea6..ef7518a 100644
--- a/drivers/kvm/x86_emulate.c
+++ b/drivers/kvm/x86_emulate.c
@@ -819,7 +819,7 @@ done_prefixes:
case DstReg:
dst.type = OP_REG;
if ((d & ByteOp)
- && !(twobyte_table && (b == 0xb6 || b == 0xb7))) {
+ && !(twobyte && (b == 0xb6 || b == 0xb7))) {
dst.ptr = decode_register(modrm_reg, _regs,
(rex_prefix == 0));
dst.val = *(u8 *) dst.ptr;

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to XXXX@XXXXX.COM
More majordomo info at http://www.yqcomputer.com/
Please read the FAQ at http://www.yqcomputer.com/

3. ReadProcessMemory() returns incorrect bytes for some opcodes

4. [PATCH] kprobes: bad manupilation of 2 byte opcode on x86_64


6. [OT] copy content of vector<BYTE> to BYTE*

7. Opcode Parsing & Invalid Opcodes

8. OT: convert form byte[4] to Int32 while retaining the binary value of the byte array

9. Opcode Parsing & Invalid Opcodes

10. [9fans] sed question (OT) (OT) (OT) (OT) (OT)(OT)(OT)(OT)(OT)(OT)(OT)(OT)(OT)(OT)

11. Read a wav file byte by byte and play it by iterating the bytes?

12. Integer(2 bytes), Long(4 bytes), ????(8 bytes)

13. byte to byte transfer of jpg file corrupting image data bytes

14. OT in CLC: Byte swapping help please [VDC: Voltage Dependent Code]

15. OT pedant[ry|ism] (was: realloc zero bytes?)