Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instructions:mop [2017/06/27 11:33] (current)
scott created
Line 1: Line 1:
 +====== Measurement OP (MOP)/OP=87 ======
 +
 +==== Format ====
 +
 +^  OP  ^  AF  ^  BF  ^  A Syllable  ^  B Syllable  ^
 +
 +''OP = 87''
 +
 +**AF** A length of six (6) must be specified directly or as an indirect field
 +length or a literal.
 +
 +**BF** A length of six (6) must be specified directly or as an indirect field
 +length.
 +
 +**A** is the address of the Setting field.  The address may be
 +indexed, indirect or
 +extended.  The final address controller must be equal to **UN** or an
 +//Invalid Instruction (**IEX = 03**)// fault will occur.
 +
 +**B** is the address of the Mask field.  The address may be
 +indexed, indirect or
 +extended.  The final address controller must be equal to **UN** or an
 +//Invalid Instruction (**IEX = 03**)// fault will occur.
 +
 +==== Function ====
 +
 +The Measurement instruction is used to load the User portion of the
 +[[processor_state:measurement|Measurement Register]].  The Measurement
 +register is an eight digit register with outputs that are made available
 +as external outputs of the processor so that they may be monitored by
 +various hardware monitoring devices.
 +
 +The six digit Mask field will be read from a memory location (**B**) and
 +used to detemrine which bits in the Measurement register are capable of being
 +changes by the Setting field which is also located in memory (**A**).
 +
 +Each bit in the Mask field that is equal to a "one" will permit the
 +corresponding bit in the Measurement register User field to assume the satte
 +of the corresponding bit in the Setting field (**A**).
 +
 +Each bit in the Mask field that is euqla to a "zero" will prevent changes
 +to the corresponding bit in the Measurement register User field.
 +
 +The **MOPOK** signal, available externally, will be held to "zero" at any time
 +that the Measurement register is being changed and held to a "one" at all
 +other times.
 +
 +The Measurement register is changed by the [[instructions:brv|Virtual Branch
 +Reinstate]], [[instructions:bct|Branch Communicate]],
 +[[instructions:hcl|HyperCall]] and [[instructions:ret|Return]] instructions.
 +It is also changed by the [[procedures:interrupt_procedure|Interrupt]] and
 +[[procedures::hcl_procedure|Hardware Call]] procedures.
 +
 +
 +==== Comparison and Overflow Flags ====
 +
 +Not modified by this instruction.
 +
 +==== Overlap ====
 +
 +Field overlap is not applicable to this instruction.
 +
 +==== Examples ====
  
instructions/mop.txt ยท Last modified: 2017/06/27 11:33 by scott
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki