From: "Tom Marchant" <[email protected]>
Sent: Friday, 10 September 2010 11:12 PM
On Fri, 10 Sep 2010 16:53:53 +1000, robin wrote:
From: "Paul Gilmartin"
Sent: Thursday, 9 September 2010 4:32 PM
I would firmly oppose such a gentle correction. Take a broad view.
Which has the more obvious meaning:
LA R3,-4(R2) Set R3 to 4 less than R2
It doesn't.
It sums 4092 and the content of R2.
No. It sums the specified displacement (4092 or x'FFC'), the
contents of index register R2 and the implied base register, R1,
Now, just a minute. You're retrofitting your email with stuff
that wasn't in your email.
There is no R1.
which was loaded with -4096 (x'FFFFF000'). If register 2 has a
value of x'00007FE4', as it did when I ran the test, the resulting
value in register 3 is x'00007FE0'. Four less than R3.
There is an overflow but it is ignored.
[I'm assuming that you meant to write LA R3,-4(0,R2) ]
Bad assumption.
No; a good assumption, based precisely on what you wrote.
Gil did originally write -4(,R2), but someone
pointed out early in the thread that it should have been -4(R2),
and Gil admitted that he had he'd specified it wrong at first.
That was after your first post on the subject, but you appear
not to have kept up with the discussion.
I kept up with the discussion.
or:
LA R3,4092(R1,R2) Set R3 to 4 less than R2
It doesn't either [viz, set R3 to 4 less than R2].
It sums the contents of Reg 1 and Reg 2 and the displacement value 4092.
As above, x'FFC' + x'FFFFF000' + x'00007FE4' = x'00007FE0'.
As above, don't try to retrofit your email with stuff you didn't say.