This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [committed, PATCH] Remove Disp16|Disp32 from 64-bit direct branches


On Tue, May 12, 2015 at 8:14 AM, Michael Matz <matz@suse.de> wrote:
> Hi,
>
> On Tue, 12 May 2015, H.J. Lu wrote:
>
>> >> 2. Can you speculate what
>> >>
>> >> " jmpw   4"
>> >>
>> >> does?
>> >
>> > It should do a jump to $nextip+offset, of course, just like a 32bit
>> > jump.  The disassembly is correct, because with a zero offset, that's
>> > indeed '4'.
>>
>> I thought it did jump to "(nextip + offset) & 0xffff" on AMD.  Can you
>> verify if it is true?
>
> Sorry, yes, this is true, the 16bit operand size prefix truncates RIP to
> 16 bit.  Nevertheless it's a valid instruction and works as documented.

It doesn't work on Intel processors.  Can you show me a real usage
for this?


-- 
H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]