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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

If CC1, or CC3, or both CC1 and CC3 are lis after!,!xecution of MSP, the instruction was aborted but the pushdownstack limit trap was inhibited by the trap-on-spaceinhibit (SPD32), by the trap-on-word inhibit (SPD48), orboth. <strong>The</strong> condition code is set to reflect the reason foraborting as follows:2 3 4 Status of space and word counts- 0 Word count> O.Word count = O.- 0 - 0 ~ word count + modifier ~ 2 15 _<strong>1.</strong>- Word count + modifier < 0, and TW = 1 orword count + modifier> 215 _1, and TW = <strong>1.</strong>- ·0 Space count> O.Space count = O.o - 0 ~ space count - modifier < 2 15 _<strong>1.</strong>- Space count - modifier < 0, and TS = 1 orspace count - modi fi er > 215-1, and TS = <strong>1.</strong>PUSH-DOWN INSTRUCTIONS (PRIVILEGED)<strong>The</strong> <strong>computer</strong> has two privi leged push-down instructions:PUSH STATUS (PSS) and PULL STATUS (PLS). <strong>The</strong>se two instructionsand a Status Stack Pointer Doubleword faci litatethe storing (pushing) or loading (pulling) of a particularenvironment (contents of 16 general registers end ProgramStatus Words) into or out of a memory stack.STATUS STACK POINTER DOUBLEWORD<strong>The</strong> Status Stack Pointer Doubleword (SSPD) always residesin real memory locations 0 and 1 and is dedicated for PSSand PLS instructions. <strong>The</strong> format of parameters containedwithin the Status Stack Pointer Doubleword are as follows:programming considerations, the initial TSA is a specificvalue either as the result of a Mode 0, WRITE DIRECTinstruction or as the result of a PSS or PLS instruction, asdescribed below.During each PSS instruction, the memory stack is accessed28 times and the TSA is incremented by 1 before each access.<strong>The</strong> first memory stack location accessed has a relative addressequal to the initial TSA plus 1, ... , and the 28th memorystack location accessed has a relative address equal tothe initial TSA plus 28.. Although 28 memory stack locationsare accessed in an ascending sequence, on Iy 20 locations(as selected by the hardware) wi II contain the basicprocessor environment. Eight locations (whose contents aredesignated as "indeterminate", in Figure 12) are reservedand must not be used.For each PLS instruction, access to the memory stack iscontingent upon the Word Count as described subsequently.If access is permitted, the memory stack is accessed 28 timesand the TSA is decremented by 1 after each access. <strong>The</strong>first memory stack location accessed by a PLS instructionhas a relative address equal to the initial TSA, the secondmemory stack location accessed has a relative address equalto the initial TSA minus 1, ... , and the 28th memory stacklocation accessed has a relative address equal to the initialTSA minus 27. Although 28 memory stack locations areaccessed in a descending sequence, the hardware selectsand pulls the contents of only 20 locations containing validinformation, as shown in Figure 12, and loaded into thegeneral registers and PSWs ... <strong>The</strong> contents of eight locationsdesignated as indeterminate are ignored.If the terminal (last) TSA for a PSS or PLS instruction isnot modified by a Mode 0 WRITE DIRECT instruction, itmay be used as the initial TSA for a subsequent PSS or PLSinstruction. Each PSS instruction causes the memory stackto be increased by 28 word locations and each PLS instructioncauses the memory stack to be decreased by 28 wordlocations. <strong>The</strong> information is pushed and pulled on a last-in,first-out basis.Note: <strong>The</strong> PLS instruction is contingent upon the WordCount value, as described below.Real Memory Location 0:SPACE COUNTReal Memory Location 1:TOP OF STACK ADDRESS<strong>The</strong> Top of Stack Address (TSA) is always a 20-bit real memoryword address and is never mapped. Depending upon<strong>The</strong> Space Count field (bit positions 33-47) of the StatusStack Pointer Doubleword is a 15-bit counter that may containa value of 0 through 32,767. Depending upon programmingconsiderations, the initial Space Count is aspecific value either as the result of executing a Mode 0,WRITE DIRECT instruction or a PLS or PSS instruction.During a PSS instruction, the Space Count is decrementedby 1 for each word pushed into the memory stack. If theSpace Count is decremented to a value of zero before a"the words have been pushed, the PSS instruction continues(i. e., no trapping occurs). <strong>The</strong> environment is stored intoPush-Down Instructions (Privileged) 101

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

Saved successfully!

Ooh no, something went wrong!