On 12/20/2010 9:02 AM, Bodoh John Robert wrote:
Where does it state that? I have been reading the POP and I can find nowhere where it states that relative addressing instructions are to be used for branching only.
LOL! That's why it's called a ROT (Rule of Thumb). The original intended use of relative instructions was for instructions only, which is why the relative operand must always be on a halfword boundary. Until fairly recently, the only relative instruction that could conceivably be used to address anything other than an instruction was LARL. It's normally used to set up the pointer to a program's literals/constants, which normally begin on at least a double- or quadword boundary. (Non-reentrant work areas should be forced onto a new cache line.) Recent hardware generations have implemented a few other options such as compare, load and store relative but this is still very restricted functionality when compared to the full range of instructions available to data addressed in the traditional manner. -- Edward E Jaffe Phoenix Software International, Inc 831 Parkview Drive North El Segundo, CA 90245 310-338-0400 x318 [email protected] http://www.phoenixsoftware.com/
