Instruction_1 of the following program copies the rightmost three bits (000) of 0000 from latch 0001 to latch 0010 for 1000. Notice that, because latch 0110 of instruction_1 holds 0111, the rightmost three 'to' bits are copied to.

## Before Copy 000 to 0010 for 1000

```               latch  bit
0001  0000  from data
0010  1111  to data
0011  0000
0110  0111  'to' bits to copy to
instruction_2   1000  0000
1001  0000
1010  0000
1011  1000
1100  0000
1101  0000
1110  0000
1111  0000
```

After instruction_1 is executed, the memory has the following values.

## After Copy 000 to 0010 for 1000

```               latch  bit
0000  1000 <------| address of instruction
0001  0000 ---|   | from data
0010  1000 <--|   | to data
0011  0000        |
instruction_1   0100  0001        | from address
0110  0111        | 'to' bits to copy to
instruction_2   1000  0000
1001  0000
1010  0000
1011  1000
1100  0000
1101  0000
1110  0000
1111  0000
```

Instruction_1 of the following program rotates the bits (0010) of latch 0001 one space to the left (for 0100) and copies all four rotated bits to latch 0010. Notice that, because latch 0110 of instruction_1 holds 1111, all four bits are copied to. Also notice that, because latch 0111 has 01 in the rightmost two bits, the from data is rotated one bit to the left.

## Before Rotate 0010 One Bit Left for 0100

```               latch  bit
0001  0010  from data
0010  0000  to data
0011  0000
0110  1111  'to' bits to copy to
instruction_2   1000  0000
1001  0000
1010  0000
1011  1000
1100  0000
1101  0000
1110  0000
1111  0000
```

After instruction_1 is executed, the memory has the following values. Latch 0000 now holds 1001. The right two bits in latch 0000 do not affect what instruction is executed next. The left two bits of 1001 (in latch 0000) are 10, so the next instruction to be executed will be instruction_2, in latches 1000, 1001, 1010, and 1011.

## After Rotate 0010 One Bit Left for 0100

```               latch  bit
0000  1001 <------| address of instruction
0001  0010 ---|   | from data
0010  0100 <--|   | to data
0011  0000        |
instruction_1   0100  0001        | from address
0110  1111        | 'to' bits to copy to
instruction_2   1000  0000
1001  0000
1010  0000
1011  1000
1100  0000
1101  0000
1110  0000
1111  0000
```

Page 15

Page 14 . . . Page 1 . . . Page 16