Port-dreamcast archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Super-H machine language issues



der Mouse <mouse%Rodents-Montreal.ORG@localhost> writes:

[...]
> For example, page 271 says (slightly reformatted)
>
>       FMOV.S  FRm,@(R0,Rn)            1111nnnnmmmm0111
>
> but page 275 says (ditto)
>
>       FMOV    XDm,@(R0,Rn)            1111nnnnmmm10111
>
> The first is valid only when SZ is 0 and the latter when PR is 1, but I
> see no reason those can't both be true at the same time - and the
> functionality of those two instructions is not the same.  (They store
> to the same address, but they store different amounts of data and they
> get the data to be stored from different registers.)

Well, the thing about SZ is that it's only used when PR is 0.
If PR is 1, SZ must be set to 0, but the FMOV instructions will
operate on 64 bits, just like if SZ had been set to 1.

So when the manual says "SZ 0" in a table like this, it means "SZ=0
and PR=0", and when it says "SZ 1", it means "(SZ=1 and PR=0) or
(SZ=0 and PR=1)".  Writing it out would take too much space.


  // Marcus




Home | Main Index | Thread Index | Old Index