PATCH: Move operand/address-size override prefixes before SIMD prefix
malc
av1474@comtv.ru
Thu Dec 7 11:49:00 GMT 2006
On Wed, 6 Dec 2006, Menezes, Evandro wrote:
>> Yes i know and now realize the mistake i made in the example
>> byte stream -
>> the line should have read:
>> 0xf3 0x66 0x0f 0x11 ..
>>
>> The original question remains:
>> <quote>
>> What will it be? `movss', `movupd' #UD? Does the first prefix takes
>> precedence or is there some sort of built in precedence rules (i.e.
>> not all prefixes are equal)?
>> </quote>
>
> Off the top of my head, the opcode 0x0f 0x11 preceeded by both 0xf3 and 0x66 is an illegal instruction.
So your position is that it's #UD. Objdump disagrees with you, whether
rightfully or not is an open question (or original question if you will)
<transcript>
pref$ cat pref.s
.text
.byte 0x66, 0xf3, 0x0f, 0x11, 0x00
pref$ as -o pref.o pref.s
pref$ objdump -d pref.o
pref.o: file format elf32-i386
Disassembly of section .text:
00000000 <.text>:
0: 66 data16
1: f3 0f 11 00 movss %xmm0,(%eax)
pref$ as --version | head -1
GNU assembler 2.15.90.0.1.1 20040303 (SuSE Linux)
pref$ objdump --version | head -1
GNU objdump 2.15.90.0.1.1 20040303 (SuSE Linux)
</transcript>
--
vale
More information about the Binutils
mailing list