What is 'mov (%r11,%rax,1),%dl'?

Jeffrey Walton noloader@gmail.com
Sat Jan 2 17:08:00 GMT 2016


On Sat, Jan 2, 2016 at 11:35 AM, Jeff Law <law@redhat.com> wrote:
> On 01/02/2016 09:01 AM, Segher Boessenkool wrote:
>>
>> On Sat, Jan 02, 2016 at 10:01:26AM -0500, Jeffrey Walton wrote:
>>>
>>>     0x000000010048d87b <+174>:   xor    %eax,%eax
>>> => 0x000000010048d87d <+176>:   mov    (%r11,%rax,1),%dl
>>>
>>> (gdb) info registers
>>> rax            0x9b7a   0x9b7a
>>
>>
>> Why is AX not 0 here?  That seems wrong.
>
> Maybe there's an instruction somewhere that jumps to the mov instruction.
> So %eax would be zero somtimes and some other value other times.
>

EAX is cleared, but not RAX. As a matter of fact RAX appears to be
non-0 (but I'm not sure if the high 32-bits are 0).

Also see http://github.com/weidai11/cryptopp/issues/100 .

Jeff



More information about the Gcc-help mailing list