12.07.2015 Views

1. xerox 560 computer system - The UK Mirror Service

1. xerox 560 computer system - The UK Mirror Service

1. xerox 560 computer system - The UK Mirror Service

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

In the descriptions of the byte-string instructions, thefollowing abbreviations and terms are used:MBSMOVE BYTE STRING(Immediate Displacement, continue after interrupt)o Displacement, (1)12-3<strong>1.</strong>SAESACDASBSDBSSource address, (R)13-31Effecti ve source address, [(R) 13 -31 +(1) 12 -31} 3 -31<strong>The</strong> contents of bit positions 13-31 of register Rare added (right aligned) to the contents of bitposi tions 12-31 of the instruction word; the 19 loworderbits of the result are used as the effectivesource address.Count, (Ru1)0_7Destination address, (Ru1)13_31Source byte string, the byte' string that begins withthe byte location pointed to by the 19-bit effectivesource address and is C bytes in length (ifR is 0).Destination byte string, the byte string that beginswith the byte location pointed to by the destinati on address and is always C bytes in length.MOVE BYTE STRING copies the contents of the source bytestring (left to right) into the destination byte string. <strong>The</strong>previous contents of the destination byte string are destroyed,but the contents of the source byte string are notaffected unless the destination byte string overlaps thesource byte string.When the destination byte string overlaps the source bytestring, the resulting destination byte string contains one ormore repetitions of bytes from the source byte string. Thus,if a destination byte string of C bytes begins with thekth byte of a source byte string (numbering from 1), the firstk-1 bytes of the source byte string are duplicated in thedestination byte string x number of times, where x = C/{k-1).For example, if the destination byte string begins with thesecond byte of the source byte string, the first byte of thesource byte string is duplicated throughout the destinationbyte string.If both byte strings begin with the same byte (i. e., k = 1)and the R field of MBS is nonzero, the destination bytestring is read and replaced into the same memory locations.However, if both byte strings begin with the same byte andthe R field of MBS is zero, the first byte of the byte stringis duplicated throughout the remainder of the byte string(see "Case 111", below).Affected: (DBS), (R), (Ru1)(SBS) -DBSTRAPS BY BYTE-STRING INSTRUCTIONSByte-string instructions cause a trap if either of the addressedbyte strings come from memory pages that are protected byeither access protection or write locks. A trap also occursif elther byte stdng is fully or partly contoi!"'!ed with!!"'! memorypages that are physically not present. A check forthese access trap conditions is made prior to initiation ofany byte relocation or general register change. <strong>The</strong>se testsare performed for MOVE BYTE STRING and TRANS LATEBYTE STRING. <strong>The</strong> source and destination locations aretested for MOVE BYTE STRING; only the destination locationis tested for TRANSLATE BYTE STRING, since thereis no assurance that the translate table wi II be accessed inits entirety in the course of execution. If an access protectionviolation were to occur in trying to reach a byte inthe translate table or decimal digit strings during the courseof execution, then the instruction would trap and result inCi pCii-tiCilly executed condition. However, if the destinationbyte string does overlap the translation table, the registerswould be restored in such a manner that the instructioncould be restarted after the protection violation had beencorrected. When a trap occurs resulting in a partiallyexecuted instruction, the Register Altered indi cator wi"be set.If MBS is indirectly addressed, it is treated as a nonexistentinstruction. <strong>The</strong> basic processor unconditionally abortsexecution of the instruction (at the time of operation codedecoding) and traps to location X'40' with the contents ofregister R and the destination byte string unchanged. See"Traps by Byte String Instructions" (in this section) for othertrap conditions.Case I, even, nonzero R fi e Id (Ru 1 =R + 1)Contents of register R:Contents of register R+1:<strong>The</strong> source byte string begins with the byte location pointedto by the source address in register R plus the displacementin MBS; the destination byte string begins with the byte locationpointed to by the destiratior address in register R+l.88 Byte-String Instructions

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!