On 09/19/2017 02:36 PM, David Hildenbrand wrote:
> On 19.09.2017 19:47, Richard Henderson wrote:
>> On 09/19/2017 09:26 AM, David Hildenbrand wrote:
>>> +    const uint8_t fc = env->regs[0] & 0x7fULL;
>>
>> Don't mask here...
> 
> Bit 56 is the mod bit (see variable "mod") and is checked inside the
> switch(). The function code really is just composed of bit 57 - 63, so
> this is correct.

"mod bit"?

  # Bit 56 of general register 0 must be zero; oth-
  # erwise, a specification exception is recognized.

I don't suppose this is a change in PoO v11?  I'm still looking at v10.

> E.g. for KMAC (7-187):
> 
> "A specification exception is recognized and no other
> action is taken if any of the following occurs:
> [...]
>  The R2 field designates an odd-numbered regis-
> ter or general register 0."

Hmm, ok.  There's different text earlier on page 7-178 that describes the
even-odd requirement but omits the non-zero requirement.  Irritating.


r~

Reply via email to