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 address values 0000 0100 address of instruction 0001 0000 from data 0010 1111 to data 0011 0000 instruction_1 0100 0001 from address 0101 0010 to address 0110 0111 'to' bits to copy to 0111 1000 instr.addr.and rot.amount instruction_2 1000 0000 1001 0000 1010 0000 1011 1000 1100 0000 1101 0000 1110 0000 1111 0000After instruction_1 is executed, the memory has the following values.
After Copy 000 to 0010 for 1000
latch bit address values 0000 1000 <------| address of instruction 0001 0000 ---| | from data 0010 1000 <--| | to data 0011 0000 | instruction_1 0100 0001 | from address 0101 0010 | to address 0110 0111 | 'to' bits to copy to 0111 1000 -------| instr.addr.and rot.amount 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 address values 0000 0100 address of instruction 0001 0010 from data 0010 0000 to data 0011 0000 instruction_1 0100 0001 from address 0101 0010 to address 0110 1111 'to' bits to copy to 0111 1001 instr.addr.and rot.amount instruction_2 1000 0000 1001 0000 1010 0000 1011 1000 1100 0000 1101 0000 1110 0000 1111 0000After 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 address values 0000 1001 <------| address of instruction 0001 0010 ---| | from data 0010 0100 <--| | to data 0011 0000 | instruction_1 0100 0001 | from address 0101 0010 | to address 0110 1111 | 'to' bits to copy to 0111 1001 -------| instr.addr.and rot.amount 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