If I read the source code for Scott Gray’s MaxAS correctly, the immediate offset is allotted 24 bits. I would expect Scott to take note of this thread and either confirm or refute these findings.
njuffa beat me too it. It’s a 24 bit 2’s complement value (can be negative). I’ve noticed in the past that the compiler will sometimes do the offset with IADDs for no particularly good reason… but this was a while ago and I don’t think I’ve seen it since.