11.07.2015 Views

section 7 - Index of

section 7 - Index of

section 7 - Index of

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.

The DO instruction is another instruction that begins execution during the decode cycle<strong>of</strong> the pipeline. As a result, there are a number <strong>of</strong> restrictions concerning access contentionwith the program controller registers accessed by the DO instruction. The ENDDOinstruction has similar restrictions. APPENDIX A - INSTRUCTION SET DETAILS containsadditional information on the DO and ENDDO instruction restrictions.Case 5: A resource contention problem can occur when one instruction is using a registerduring its decode while the instruction executing is accessing the same resource. One example<strong>of</strong> this is as follows:MOVECDOX:$100,SSH#$10,ENDThe problem occurs because the MOVEC instruction loads the contents <strong>of</strong> X:$100 intothe system stack high (SSH) during its execution cycle. The DO instruction that followspushes the stack (LA -7 SSH, LC -7 SSL) during its decode cycle. Therefore, the twoinstructions try writing to the SSH simultaneously and conflict.-7.2.2 Summary <strong>of</strong> Pipeline-Related RestrictionsThe following paragraphs give a summary <strong>of</strong> the instruction sequences that cause pipelineeffects. Additional information about the individual instructions can be found inAPPENDIX A - INSTRUCTION SET DETAILS.DO Instruction restrictions:The DO instruction must not be immediately preceded by any <strong>of</strong> the following instructions:BCHG/BCLRlBSET LA, LC, SSH, SSL, or SPMOVEC/MOVEM to LA, LC, SSH, SSL, or SPMOVEC/MOVEM from SSHThe DO instruction cannot specify SSH as a source register, as in the following example:DO SSH,xxxxRestrictions near the end <strong>of</strong> DO loops:Proper DO loop operation is guaranteed if no instruction starting at address LA-2, LA-1,or LA specifies the program controller registers SR, SP, SSL, LA, LC, or (implicitly) PCas a destination register, or specifies SSH as a source or a destination register.

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

Saved successfully!

Ooh no, something went wrong!