What follows is taken from discussion of the MVCL instruction in the current
Principles of Operation:
|
| As part of the execution of the instruction, the values
| of the two length fields are compared for the setting
| of the condition code, and a check is made for
| destructive overlap of the operands. Operands are
| said to overlap destructively when the first-operand
| ocation is used as a source after data has been
| moved into it, assuming the inspection for overlap is
| performed by the use of logical operand addresses.
| When the operands overlap destructively, no movement
| takes place, and condition code 3 is set.
|
Of chief interest here is the fact that execution of an MVCL is suppressed
when destructive overlap would have occurred if it had been executed.
It is possible to build machines that behave very differently. Many
System/360 and System/370 clones were, for example, built not to suppress
but to truncate such operations not just ast overlap but at
storage-protection boundaries.
Or again, z/Architecture machines and their predecessors can optionally
detect FIXEDOVERFLOW. They do not do so in C because C was developed for a
machine that could not do so. (As often, an ineluctable limitation was
converted into a virtue.)
Literally hundreds of similar points could be made.
Architectures are extraordinarily difficult to compare unless one knows
rather more about them than most of the contributors to this thread appear
not just to know but even to know that they do not know.
John Gilmore
Ashland, MA 01721-1817
USA
_________________________________________________________________
Dont just search. Find. Check out the new MSN Search!
http://search.msn.click-url.com/go/onm00200636ave/direct/01/
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html