
 Partial Block Diagram of MCS650X
FIGURE 2.1
Partial Block Diagram of MCS650X
FIGURE 2.1 Partial Block Diagram including Arithmetic Logic Unit of MCS650X
FIGURE 2.2
Partial Block Diagram including Arithmetic Logic Unit of MCS650X
FIGURE 2.215
16
17
18
19
20
21
 Partial Block Diagram of MCS650X including P Register
FIGURE 3.1
23
Partial Block Diagram of MCS650X including P Register
FIGURE 3.1
2324
25
26
27
28
29
 Partial Block Diagram of MCS650X Including Program
Counter and Internal Address Bus
FIGURE 4.1
31
Partial Block Diagram of MCS650X Including Program
Counter and Internal Address Bus
FIGURE 4.1
3132
33
34
35
36
 Use of Conditional Test
FIGURE 4.2
37
Use of Conditional Test
FIGURE 4.2
3738
39
40
41
42
43
44
45
46
47
48
50
51
52
 Address Bus and Relation to Memory Field
FIGURE 5.1
53
Address Bus and Relation to Memory Field
FIGURE 5.1
53 Example of Timing MCS650X Family
FIGURE 5.2
Example of Timing MCS650X Family
FIGURE 5.254
55
56
57
58
59
60
61
62
63
64
65
66
67
69
70
71
 Flow Chart - Moving Five Bytes of Data with Loop
FIGURE 6.1
Flow Chart - Moving Five Bytes of Data with Loop
FIGURE 6.172
73
74
 Moving Five Bytes of Data with Counter
FIGURE 6.2
Moving Five Bytes of Data with Counter
FIGURE 6.275
76
77
 Partial Block Diagram of MCS650X Inlcuding Index Registers
FIGURE 6.3
Partial Block Diagram of MCS650X Inlcuding Index Registers
FIGURE 6.378
79
80
81
82
83
 Indirect Addressing-Pictorial Drawing
FIGURE 6.4
Indirect Addressing-Pictorial Drawing
FIGURE 6.484
 Indexed Indirect Addressing
FIGURE 6.5
85
Indexed Indirect Addressing
FIGURE 6.5
8586
 Indirect Indexed Addressing
FIGURE 6.6
87
Indirect Indexed Addressing
FIGURE 6.6
8788
89
90
91
92
93
94
96
97
98
99
100

 111
111 The shift right instruction either affects the accumulator by shift-
     ing it right 1 or is a read/modify/write instruction which changes a speci-
     fied memory location but does not affect any internal registers. The shift
     right does not affect the overflow flag.  The M flag is always reset.  The
     Z flag is set if the result of the shift is 0 and reset otherwise.  The
     carry is set equal to bit 0 of the input.
          LSR is a read/write/modify instruction and has the following address-
     ing nodes:  Accumulator; Zero Page; Zero Page,X; Absolute; 
     Absolute, X.
     The shift right instruction either affects the accumulator by shift-
     ing it right 1 or is a read/modify/write instruction which changes a speci-
     fied memory location but does not affect any internal registers. The shift
     right does not affect the overflow flag.  The M flag is always reset.  The
     Z flag is set if the result of the shift is 0 and reset otherwise.  The
     carry is set equal to bit 0 of the input.
          LSR is a read/write/modify instruction and has the following address-
     ing nodes:  Accumulator; Zero Page; Zero Page,X; Absolute; 
     Absolute, X.
 The instruction does mot affect the overflow bit, Sets N equal to the
     result bit 7 (bit 6 in the input) , sets Z flag if the result is equal to
     0, otherwise resets Z and stores the input bit 7 in the carry flag.
          ASL is a read/modify/write instruction and has the following address-
     ing modes:  Accumulator; Zero Page; Zero Page,X; Absolute; Absolute,X
     10.3 ROL - ROTATE LEFT
          The rotate left instruction shifts either the accumulator or addressed
     memory left 1 bit, with the input carry being stored in bit 0 and with the
     input bit 7 being stored in the carry flags.
          The symbolic notation for ROL is
  
          The instruction does mot affect the overflow bit, Sets N equal to the
     result bit 7 (bit 6 in the input) , sets Z flag if the result is equal to
     0, otherwise resets Z and stores the input bit 7 in the carry flag.
          ASL is a read/modify/write instruction and has the following address-
     ing modes:  Accumulator; Zero Page; Zero Page,X; Absolute; Absolute,X
     10.3 ROL - ROTATE LEFT
          The rotate left instruction shifts either the accumulator or addressed
     memory left 1 bit, with the input carry being stored in bit 0 and with the
     input bit 7 being stored in the carry flags.
          The symbolic notation for ROL is   The ROL instruction either shifts the accumulator left 1 bit and
     stores the carry in accumulator bit 0 or does not affect the internal reg-
     isters at all.  The ROL instruction sets carry equal to the input bit 7,
     sets N equal to the input bit 6, sets the Z flag if the result of the ro-
     tate is 0, otherwise it resets Z and does not affect the overflow flag at
     all.
          R0L is a read/modify/write instruction and it has the following address-
     ing modes:  Accumulator; Zero Page; Zero Page,X; Absolute; Absolute,X.
          The ROL instruction either shifts the accumulator left 1 bit and
     stores the carry in accumulator bit 0 or does not affect the internal reg-
     isters at all.  The ROL instruction sets carry equal to the input bit 7,
     sets N equal to the input bit 6, sets the Z flag if the result of the ro-
     tate is 0, otherwise it resets Z and does not affect the overflow flag at
     all.
          R0L is a read/modify/write instruction and it has the following address-
     ing modes:  Accumulator; Zero Page; Zero Page,X; Absolute; Absolute,X.
 The ROR instruction either shifts the accumulator right 1 bit and
     stores the carry in accumulator bit 7 or does not affect the internal regis-
     ters at all.  The ROR instruction sets carry equal to input bit 0, sets N
     equal to the input carry and sets the Z flag if the result of the rotate is 0;
     otherwise it resets Z and does not affect the overflow flag at all.
          ROR is a read/modify/write instruction and it has the following address-
     ing nodes:  Accumulator; Zero Page; Absolute; Zero Page,X; Absolute,X.
     10.5 ACCUMULATOR MODE ADDRESSING
     As indicated, all of the shift instructions can operate on the accumu-
     lator.  This is a special addressing mode that is unique to the shift in-
     structions and operates with the following set of operations:
          Example 10.2:  Rotate accumulator left
                                             External            Internal
          Cycles  Address Bus Data Bus       Operation           Operation
            1        100      OP CODE     Fetch Next        Finish Previous
                                          OP CODE           Operation; Increment
                                                            PC to 101
            2        101      Next        Fetch Dis-        Decode Current In-
                              OP CODE     carded OP CODE    struction; Hold P-
                                                            Counter
            3        101      Next        Fetch Next        Shift Through the
                              OP CODE     OP CODE           Adder
            4        102      ?           Fetch Second      Store Results into A,
                                          Byte              Interpret Next OP CODE
          As we can see, the accumulator instructions have the same effect
     the single-byte non-stack instructions in the sense that the instruction con-
     tian both the OP CODE and the register in which the operations are going
     to be performed; therefore, in cycle 2, the microprocessor holds the pro-
          The ROR instruction either shifts the accumulator right 1 bit and
     stores the carry in accumulator bit 7 or does not affect the internal regis-
     ters at all.  The ROR instruction sets carry equal to input bit 0, sets N
     equal to the input carry and sets the Z flag if the result of the rotate is 0;
     otherwise it resets Z and does not affect the overflow flag at all.
          ROR is a read/modify/write instruction and it has the following address-
     ing nodes:  Accumulator; Zero Page; Absolute; Zero Page,X; Absolute,X.
     10.5 ACCUMULATOR MODE ADDRESSING
     As indicated, all of the shift instructions can operate on the accumu-
     lator.  This is a special addressing mode that is unique to the shift in-
     structions and operates with the following set of operations:
          Example 10.2:  Rotate accumulator left
                                             External            Internal
          Cycles  Address Bus Data Bus       Operation           Operation
            1        100      OP CODE     Fetch Next        Finish Previous
                                          OP CODE           Operation; Increment
                                                            PC to 101
            2        101      Next        Fetch Dis-        Decode Current In-
                              OP CODE     carded OP CODE    struction; Hold P-
                                                            Counter
            3        101      Next        Fetch Next        Shift Through the
                              OP CODE     OP CODE           Adder
            4        102      ?           Fetch Second      Store Results into A,
                                          Byte              Interpret Next OP CODE
          As we can see, the accumulator instructions have the same effect
     the single-byte non-stack instructions in the sense that the instruction con-
     tian both the OP CODE and the register in which the operations are going
     to be performed; therefore, in cycle 2, the microprocessor holds the pro-

 Keyboard Encoding Matrix Diagram
FIGURE 11.1
163
Keyboard Encoding Matrix Diagram
FIGURE 11.1
163 169
169