I am currently writing a seminar paper about machine-language and MIPS and when studying the Set on Less Than Immediate Unsigned Instruction I found something weird I don't understand.
The MIPS v5 Documentation (p. 277) states that the 16-Bit Immediate is sign extended before it is compared with the contents of register rs, but is treated as unsigned. That means, and they also state that in the documentation, that you can represent the lower part of an 32-Bit unsigned integer and the upper part of an unsigned integer, with a large gap in between. That makes sense, because your immediate is either prepended by 16 zeros or 16 ones.
Now what I don't quite get is the numbers they provided as an example: They say the lower and upper part of representable unsigned integers is 32,767 large each, which is the highest number representable by 15-Bit. But shouldn't they be 65,535 large each (the largest 16-Bit representable number) because the integers are unsigned and thus the MSB is not used as sign bit?