Re: Bad instructions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2019-07-09 05:27 +0000, Mahmood Naderan via gcc-help wrote:
> Hi,
> With some random numbers in the first byte (out of 15 bytes) of x86
> instructions, I see some bad instructions as below
> 
> 4:   9a                      (bad)    
> 4:   c4                      (bad)   
>  4:   c5 00 00                (bad) 
> 
> First byte is the prefix and I wonder why the third line is more than one byte
> and at the same time it is marked as bad.

You mean x86-64, instead of x86.  On x86 "c5 00" means "lds (%eax),%eax".

"c5" itself is not illegal.  For example, "c5 00 58 00" means an AVX instruction
"vaddps (%rax),%xmm15,%xmm8".  The disassembler can only determine that it's an
illegal instruction after it has seen "c5 00 00".
-- 
Xi Ruoyao <xry111@xxxxxxxxxxxxxxxx>
School of Aerospace Science and Technology, Xidian University




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux