This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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]

Synthetic register related: maximum value of a modrm byte in i386


After much thought and reflection, and re-reading the Intel x86 Instruction 
manual, I have changed my mind and decided to use the edp, or 
hard-frame-register as the base register for the Synthetic regs.  

Some modrm instructions on the x86 can use a single byte as the offset, and 
it may be negative.   In other words, the integer in the single byte is 
signed.

The next, and obvious, question is how negative can it be?

I presume that B'0000 0000' represents zero.
I presume that B'0111 1111' represents 127.
I presume that B'1000 0001' represents -127.
What does B'1000 0000' represent?
 -128, or +128 ?

My Fine Manual is not at all clear.

Andy 


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