> <snip> > What happens on an older model where a field is "reserved, must be zero" > if the programmer supplies a non-zero value which would be valid on a > newer model? > </snip> > Perhaps, architecturally, the answer is: the behavior is undefined or > machine-dependent. > I would guess that in most cases the actual behavior is that there is no
> enforcement so that the non-zero value would simply be ignored. I'd be surprised if there's no enforcement when it says "must be zero". Instead, I would expect the instruction definition to identify what happens if it isn't zero (typically a specification exception). If there's no enforcement, the instruction would probably be defined with a phrase along the lines of "should contain zeros; otherwise, the program may not operate compatibly in the future." - mb
