On Feb 9 2007 08:16, linux-os (Dick Johnson) wrote: >On Fri, 9 Feb 2007, Jan Engelhardt wrote: >> On Feb 8 2007 16:42, Linus Torvalds wrote: >>> >> Further, giving again answer to the question whether they generate >> signed or unsigned comparisons: Have you ever seen a computer which >> addresses memory with negative numbers? Since the answer is most likely >> no, signed comparisons would > >Yes, most all do. Indexed memory operands are signed displacements. See >page 2-16, Intel486 Microprocessor Programmer's Reference Manual. This
I was referring to "absolute memory", not the offset magic that assembler allows. After all, (reg+relativeOffset) will yield an absolute address. What I was out at: for machines that have more than 2 GB of memory, you don't call the address that is given by 0x80000000U actually "byte -2147483648", but "byte 2147483648". >gets hidden by higher-level languages such as 'C'. It is also non-obvious >when using the AT&T (GNU) assembly language. However, the Intel documentation >shows it clearly: > MOV AL, [EBX+0xFFFFFFFF] ; -1 It can be debated what exactly this is... negative offset or "using overflow to get where we want". Jan -- ft: http://freshmeat.net/p/chaostables/ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/