OPR does not address a memory location; conditional execution is achieved by conditionally skipping one instruction, which is typically a JMP. The OPR instruction was said to be "microcoded." This did not mean what the word means today (that a lower-level program fetched and interpreted the OPR instruction), but meant that each bit of the instruction word specifies a certain action, and the programmer could achieve several actions in a single instruction cycle by setting multiple bits. In use, a programmer can write several instruction mnemonics alongside one another, and the assembler combines them with OR to devise the actual instruction word. Many I/O devices support "microcoded" IOT instructions. Microcoded actions take place in a well-defined sequence designed to maximize the utility of many combinations. The OPR instructions come in Groups. Bits 3, 8 and 11 identify the Group of an OPR instruction, so it is impossible to combine the microcoded actions from different groups. Group 1 00 01 02 03 04 05 06 07 08 09 10 11 ___ | 1| 1| 1| 0| | | | | | | | | |__|__|__|__|__|__|__|__|__|__|__|__| |CLA CMA RAR BSW CLL CML RAL IAC Execution order 1 1 2 2 4 4 4 3 7200 – CLA – Clear Accumulator 7100 – CLL – Clear the L Bit 7040 – CMA – Ones Complement Accumulator 7020 – CML – Complement L Bit 7001 – IAC – Increment <L,AC> 7010 – RAR – Rotate <L,AC> Right 7004 – RAL – Rotate <L,AC> Left 7012 – RTR – Rotate <L,AC> Right Twice 7006 – RTL – Rotate <L,AC> Left Twice 7002 – BSW – Byte Swap 6-bit "bytes" (PDP 8/e and up) In most cases, the operations are sequenced so that they can be combined in the most useful ways. For example, combining CLA (CLear Accumulator), CLL (CLear Link), and IAC (Increment ACcumulator) first clears the AC and Link, then increments the accumulator, leaving it set to 1. Adding RAL to the mix (so CLA CLL IAC RAL) causes the accumulator to be cleared, incremented, then rotated left, leaving it set to 2. In this way, small integer constants were placed in the accumulator with a single instruction. The combination CMA IAC, which the assembler lets you abbreviate as CIA, produces the arithmetic inverse of AC: the twos-complement negation. Since there is no subtraction instruction, only the twos-complement add (TAD), computing the difference of