QC001             0                    1                     2                     3                     4                     5                     6                     7                     8                     9

                     This is the beginning of all IO execute cyucles for all           This micro-routine begins the final decoding of the four
                     IO channels. Entry into the routine if from the I-cycles          IO ops, (Start-IO,Test-IO,Halt-IO,and Test-Channel). The
A                    micro-program For RS ops at entry T is set to 4A, the             final decode is effected by inspection of the two low
                     address of the 2nd byte of the CAW in main storage, the           order op bits found in G5 and G7 at entry from I cycles.
                     exit from RS I cycles leaves S1=0 if the IO instruction           Inspection of the channel address (found in U5,U6,andU7)
                     is being performed in the main instruction stream and             is also undertaken to direct the initiation of the oper-
                     S1=1 if the instruction is being executed by an execute           ation to the proper channel. An entry from the hardware
                     instruction. If S1=2, the IC and any impending wrap con-          forced interrupt routine also shares this entry routine.
B                    ditions have already been stored temporarily in LS-A9-AA.

                                                    01 --- 031D                                                                                                                         00 --- 05EC           11 ---  XXX
                                                K 1001,0      |                                                                                                                     K 0010,0      |       | Go to       |
                                                A 0+0+1>L     |                                                                                                                     A 0+KL>L      |       | QA879.CAE   |
C   QA091.NFE-------------------------------O--*S *B9      LS S----                                           ----------------------------------------------------------------------S WRITE       |*--O---|             |
    (01,11)                                 |   C 0>S4,S5     |   |                                           |                                                                     C 0>S6        |   |   |             |
    I-O ops                                 |   |             |   |                                           |                                                                     |             |   |   |             |
    -any I-O                                |   R 1,0       AAR   |                                           |                                                                     R 1,CA01>W  46R   |   |             |
    instruction                             |   C2--    10 --CB   |                                           |                                                                     C8--    11 --CH   |   C9--    11 --CJ
    T is set                                |  B9-Mem Prot.       |                                           |                                                                    Problem State      |  Prg Int
D   to 4A                                   |  and Supervisor     |                                           |                                                                    IO not allowed     |
                                            |                     |                                           | -----------------------------------------                                             |
                                            |       11 --- 031F   |       10 --- 03AA           01 --- 0571   | |     01 --- 05ED           11 --- 0583 |                                             |
                                            |   K 1001,0      |   |   K 0101,1      |       K 0001,1      |   | --K 1100        |       K 0010,1      | |                                             |
                                            |   A 0+0+1>L     |   |   A RL.LL>Z     |       A I>R         |   |   |             |       A J>R         | |                                             |
E                                           ----S *B9      LS S*--O---S WRITE   K>W R*--O---S *A9      LS S*--O---S STORE       |*--O---S *AA      LS S*-                                             |
                                                C 0>S4,S5     |       C LZ>S5       |   |   C 1>S6        |       C 0>S6        |   |   C 0>S2        |                                               |
                                                |             |       |             |   |   |             |       C Y>WRAP      |   |   |             |                                               |
                                                R 1,0       AAR       R S1,1      71R   |   R 0,S5      ECR       R S6,1      81R   |   R 0,1       EDR                                               |
                                                E2--    10 --EB       E3--    *1 --EC   |   E4--    0* --ED       E5--    *1 --EE   |   E6--    01 --EF                                               |
                                               From checking         BR on execute      |  Not execute           Store IC--         |  Access AA for                                                  |
F                                              mask in D reg         Chk Sys mode       |  Start IJ store        I in A9-J in AA    |  J storage                                                      |
                                                                  ----------------------+--------------------------------------------                                                                 |
                                                                  |       01 --- 0581   |       11 --- 0573                                                                             10 --- 05EE   |
                                                                  |   K 0100,0      |   ----K 0111        |                                                                         K 0010,0      |   |
                                                                  |   A GXL!KH>R    |       A G.KL>G      |                                                                         A 0+KL>L      |   |
G                                                                 ----S *8C      LS S*------S STORE       |*--O---------------------------------------------------------------------S WRITE       |----
                                                                      |             |       C 0>S2        |   |                                                                     C 0>S6        |    
                                                                      |             |       |             |   |                                                                     |             |    
                                                                      R 1,1       73R       R 1,S5      EER   |                                                                     R 1,CA01>W  46R    
                                                                      G3--    11 --GC       G4--    1* --GD   |                                                                     G8--    11 --GH    
                                                                     8C-ILC + PSW          G=0000 00XX        |                                                                    Problem State
H                                                                    bit storage           BR on Sys mode     |                                                                    IO not allowed
                                            -------------------------------------------------------------------
                                            |       11 --- 05EF           01 --- 0505           10 --- 0586           10 --- 0506           00 --- 0588           00 004 0508           01 --- 0509
                                            |   |             |       |             |       K 0010        |       |             |       K 0111        |       |             |       |             |
                                            |   A T+0+1>T     |       A R>I         |       A T.-KL>T     |       A R>J         |       A R.KL>S      |       A I+0>ZC      |       A T-0>T       |
J                                           ----S T>MN     MS S*--O---S WRITE       |*--O---S T>MN     MS S*------S WRITE       |*------|             |*------S T>MN     MS S*------S WRITE       |*-----------------------------------QC011------JHE
                                                |             |   |   |             |   |   |             |       |             |       C ANSNZ>S2    |       |             |       |             |                                    (10,11) EF,CB
                                                |             |   |   |             |   |   |             |       |             |       |             |       |          004V       |             |                                    CAW handling
                                                R G6,1      05R   |   R 1,G7      86R   |   R 1,0       06R       R 0,0       88R       R 0,0       08R       R 0,1       09R       R 1,S3      8AR                                    routine for
                                                J2--    *1 --JB   |   J3--    1* --JC   |   J4--    10 --JD       J5--    00 --JE       J6--    00 --JF       J7--    01 --JG       J8--    1* --JH                                    Start IO
                                               4A-CAW byte 2      |  Stt IO or TIO      |  4B-CAW byte 3         Nxt CCW addr          Check lo 3 bits       49-CAW byte 1         BR on addr err
K                                              partial decode     |  Finish decode      |  T set to 49           now in IJ reg         of addr for NZ        Chk CCW addr          T set to 48
                                                                  |                     |                                              S=0000 0000           for too big           S3=1=error
                                                                  |                     |       11 --- 0587                            if all ok                                   Addr too big
                                                                  |                     ----K 0111        |
                                                                  |                         A U.KL>Z      |
L    QA901.LJE----------------------------------------------------+------------------------*|             |*---------------------------------------------------------------------------------------------------------------------------QC011------LDE
     (11)                                                         |                         C ANSNZ>S2    |                                                                                                                            (01)
     Interrupt                                                    |                         |             |                                                                                                                            Interrupt or
     entry to                                                     |                         R 0,1       89R                                                                                                                            TIO initial
     cause CSW                                                    |                         L4--    *1 --LD
     storage                                                      |                        TIO (G3=0) or
M                                                                 |                        interrupt (G3=1)
                                                                  |
                                                                  |       11 --- 0507           10 --- 050E           00 --- 0574
                                                                  |   K 0111        |       K 1001,0      |       |             |
                                                                  |   A U.KL>S      |       A 0-0>L       |       A VH+0+1>S    |
N                                                                 ----S WRITE       |*--O---|             |*--O---|             |*-----------------------------------------------------------------------------------------------------QC041------NEE
                                                                      C ANSNZ>S2    |   |   C K>FB        |   |   |             |                                                                                                      (10) EC
                                                                      |             |   |   |             |   |   |             |                                                                                                      Halt IO cmd
                                                                      R 1,G7      0ER   |   R S2,0      74R   |   R 1,0       3AR                                                                                                      to Mplx Chnl
                                                                      N3--    1* --NC   |   N4--    *0 --ND   |   N5--    10 --NE                                                                                                      --Enter UCW
                                                                     HIO or TC          |  HIO-L=FF           |  Set S with hi                                                                                                         addr formation
P                                                                    Finish decode      |  XH,XL=00           |  4 un addr bits                                                                                                        routine
                                                                     S=0000 0000        |                     |
                                                                     if Mpx cnl addr    |       11 --- 050F   |       10 014 0576
                                                                                        |   K 0001        |   ----K 1001,1      |
                                                                                        |   A FT.KL>Z     |       A UL>S        |
Q                                                                                       ----|             |*--O---|         K>W R*-----------------------------------------------------------------------------------------------------QD011------QEE
                                                                                            |             |   |   |             |                                                                                                      (01)
                                                                                            |             |   |   |          014V                                                                                                      Sel Ch I/O
                                                                                            R 1,Z=0     76R   |   R 0,1       19R                                                                                                      commands
                                                                                            Q4--    1* --QD   |   Q5--    01 --QE
                                                                                           Test Channel       |  Sel Ch Hlt or
R                                                                                          BR on chnl         |  Tets Channel
                                                                                                              |
                                                                                                              |       11 --- 0577
                    Version for system                                                                        |   K 1011,1      |
                    with at least one                                                                         |   |             |
S                   selector channel                                                                          ----S *BB      LS S*-----------------------------------------------------------------------------------------------------QC151------SEE
                    and 64k main storage                                                                          |             |                                                                                                      (00,01) NF,QF
 Q                                                                                                                |             |                                                                                                      Test Channel
 C                                                                                                                R 0,Z=0     D0R                                                                                                      cmd-Mplx
 0                                                                                                                S5--    0* --SE                                                                                                      channel
 0                                                                                                                                                | 128015        10/11/65 | Mach          2030       | Date  11/17/65          Sheet    1  QC001 |
 1                                                                                                                                                | 128045        11/17/65 | Name                     | Log    2046             Version    A02    |
                                                                                                                                                  | 128065        07/26/67 | Mode          Manual     |                                           |
                                                                                                                                                  |                        | P.N.          837405     |    All channel operation decode           |
                                                                                                                                                  |                        | IBM Corp.                |    and execute initiation                 |

QC011             0                    1                     2                     3                     4                     5                     6                     7                     8                     9

                                                                                                                                   This routine contains the completion of CAW check for
                                                                                                                                   the Start I/O instruction and the final breakout of SIO 
A                                                                                                                                  and TIO to the designated channel routines, also found
                                                                                                                                   on this page is the Transfer-in-Channel (TIC) routine
                                                                                                                                   used when specified in command-chaining (CC) and data
                                                                                                                                   chaining (CDA). TIC is an illegal initial command (the
                                                                                                                                   CAW cannot legally specify a 1st CCW which contains a
                                                                                                                                   TIC command-format XXXX1000).
B
                                                                                                                                   On TIC error (bad format or address S2=1) we update the
                                                    10 --- 058A           11 006 050B           00 --- 050C                        next CCW address in the UCW +8 in preparation for
                                                |             |       |             |       |             |                        a full CSW store. If no error we update UCW
                                                A R>Z         |       A RL>Z        |       A UL!RH>U     |                        and IJ with the new CCW address +8 as
C   QC001.JHE-------------------------------O---S T>MN     MS S*------S WRITE       |*------|             |*---                    specified by the TIC.
    (11,10)                                 |   C ANSNZ>S2    |       C ANSNZ>S2    |       |             |   |
    CAW handling                            |   |             |       |          006V       |             |   |
    routine for                             |   R 1,1       0BR       R 0,0       0CR       R 1,0       72R   |
    Start IO-                               |   C2--    11 --CB       C3--    00 --CC       C4--    10 --CD   |
    MP portion                              |  A8-Mem Prot           Chk lo 4 bits         Load prot tag      |
D                                           |  byte in CAW           must be zero          into U high        |
                                            ------------------------------------------------------------------+----------------------
                                                                                                              |       10 --- 0572   |       11 --- 058B
                                                                                                              |   K 0111        |   ---*K 0111,1      |
                                                                                                              |   A U.KL>Z      |       A 0+KL>LC     |
E   QC351.EHE-------------------------------------------------------------------------------------------------O---S IJ>MN    MS S*--O---S WRITE       |*-------------------------------------------------------------------------------QD461------EFE
    (10)                                                                                                          C ANSNZ>S2    |   |   C 1>S7        |                                                                                (01) JB
    IPL entry                                                                                                     |             |   |   |             |                                                                                Program err
    to Start IO                                                                                                   R S2,1      89R   |   R 0,CA0A>W  89R                                                                                Interrupt
    routine                                                                                                       E5--    *1 --EE   |   E6--    01 --EF                                                                                exit
                                                                                                                 Chk chnl addr      |  CAW format bad                                                                                  L=07
F                                                                                                                in U lo for 000    |
    QC001.LDE-------------------------------------------------------------------------------------------------   Begin access       |
    (01)                                                                                                     |   to CCW cmd         |       01 --- 0589           11 014 058F
    From Test                                                                                                |   byte--000          |   K 1001,0      |       K 1001,1      |
    IO or Intrpt                                                                                             |                      |   A J+0+1>J     |       A UL>Z        |
G   initialization                                                                                           -----------------------O---S WRITE       |*--O---|         K>W R*--O------------------------------------------------------QD131------GGE
                                                                                                                                        C K>FB        |   |   |             |   |                                                      (11)
                                                                                                                                        |             |   |   |          014V   |                                                      Selr ch
                                                                                                                                        R S2,G7     8CR   |   R S4,1      1BR   |                                                      I-O commands
                                                                                                                                        G6--    ** --GF   |   G7--    *1 --GG   |
                                                                                                                                       Good CAW pnt       |  Selr TIO cmd       |
H                                                                                                                                      Load XH,XL=00      |  or interrupt       |
                                                                                                                                                          |                     |
                                                    00 --- 0544           10 --- 0512                                                                     |       10 014 058E   |
    QC131.LHE----------------------------------*K 0010        |       K 0111        |                                                                     |   K 1001,1      |   |
    (00)                                        A J+KL>J      |       A J!KL>J      |                                                                     |   A UL>Z        |   |
J   Enter CCW                                   S IJ>MN    MS S*--O---S WRITE       |*---                                                                 O---|         K>W R---O------------------------------------------------------QD011------GGE
    chk routine                                 |             |   |   |             |   |                                                                 |   |             |                                                          (01)
    from command                            ---*|             |   |   |             |   |                                                                 |   |             |                                                          Selr ch
    chaining                                |   R 1,Z=0     12R   |   R 0,0       1CR   |                                                                 |   R 0,1       19R                                                          I-O commands
    S0=0                                    |   J2--    1* --JB   |   J3--    00 --JC   |                                                                 |   J7--    *1 --JG    
                                            |  CCW byte 1         |  No TIC             |                                                                 |  Selr Stt IO
K                                           |  (must be zero)     |                     |                                                                 |
    QC101.CGE--------------------------------  BR on TIC cmd      |                     ------------------------------------------------------------------+----------------------------------------------------------------------------QC021------JCE
    (00)                                                          |       11 --- 0513                                 10 --- 0526                         |                                                                            (00) JD
    Enter TIC                                                     |   |             |                             K 1001,1      |                         |                                                                            Enter CCW cmd
    check rtne                                                    |   A R>Z         |                             A 0+KL>L      |                         |                                                                            routine
L   from CDA                                                      ----S WRITE       |*---                     ----|             |*------------------------+----------------------------------------------------------------------------QC461------LEE
    routine                                                           C ANSNZ>S2    |   |                     |   C 1>S7        |                         |                                                                            (01,11) JB,NB
                                                                      |             |   |                     |   |             |                         |                                                                            Program err
                                                                      R 0,1       19R   |                     |   R ?0,CA0A>W 89R                         |                                                                            interrupt
                                                                      L3--    01 --LC   |                     |   L5--    *1 --LE                         |                                                                            Exit-L=09
                                                                     TIC on chaning     |                     |  TIC cmd format                           |
M                                                                    Chk byte 1 for NZ  |                     |  bad-bad addr                             |
                                            ---------------------------------------------                     -------------------------                   |
                                            |       01 --- 0519           01 --- 0821                                                 |     00 --- 0524   |       00 --- 058C
                                            |   K 0011,1      |       K 0111        |                                                 | |             |   O---K 1000        |
                                            |   A J^KL>J      |       A RL.KL>Z     |                                                 | A J+0+1>JC    |   |   A RL^KL>Z     |
N                                           ----S IJ>MN    MS S*------S WRITE       |*---                                             O-S IJ>MN    MS S*--+---S WRITE       |*---------------------------------------------------------QC021------NGE
                                                |             |       C ANSNZ>S2    |   |                                             | |             |   |   |             |                                                          (00) EB
                                                |             |       |             |   |                                             | |             |   |   |             |                                                          TIC complete
                                                R 0,1       21R       R 0,1       0DR   |                                             | R 0,0       8CR   |   R 0,0       1?R                                                          Enter CCW chk
                                                N2--    01 --NB       N3--    01 --NC   |                                             | N6--    00 --NF   |   N7--    00 --NG                                                          routine
                                               CCW byte 3            Chk lo 3 bits      |                                             |Read-out CCW       |  SIO or Chain
P                                              New CCW adr lo        for non zero       |                                             |op byte 0          |  Chk for TIC
                      -------------------------------------------------------------------                                             |                   |
                      |       01 --- 050D           00 --- 0522           01 --- 05AD           11 --- 05CB           .00--- 0510     | New CCW addr      |       01 --- 058D           01 --- 0561
                      |   K 0111        |       K 1000        |       K 0001        |       |             |       |             |     | is now in IJ      |   |             |       K 1001,0      |
                      |   A T!KL>T      |       A J+KL>RC     |       A T^KL>T      |       A I+0+C>RC    |       |             |     |                   |   A 0>S         |       A 0-0>L       |
Q                     ---*|             |*--O---S T>MN    MPX S*------S STORE       |*------S T>MN    MPX S*------S STORE       |*-----                   ----|             |*------|             |*-----------------------------------QC041------QHE
                          |             |   |   |             |       |             |       |             |       |             |                             |             |       C K>FB        |                                    (01) ED
                          |             |   |   |             |       |             |       |             |       |             |                             |             |       |             |                                    Enter T addr
                          R S2,0      20R   |   R 0,1       ADR       R 1,1       CBR       R 0,0       10R       R S2,0      24R                             R 0,1       61R       R 0,1       9?R                                    formation
                          Q1--    *0 --QA   |   Q2--    01 --QB       Q3--    11 --QC       Q4--    00 --QD       Q5--    *0 --QE                             Q7--    01 --QG       Q8--    01 --QH                                    routine-TIO
                                            |                                                                                                                Mplx chnl TIO         Set L=FF as
R                                           --------------------------------------------O------------------------------------------------------------------  or interrupt          a mask for
                                                                                        |                                                                 |                        later use,
                                                                                        |       00 --- 0520           01 --- 0541           11 --- 0543   |                        XXH,XH,XL=000
                    This version for system with                                        |   K 0010        |       |             |       |             |   |
                    memory protect and with at least                                    |   A J!KL>J      |       A R>J         |       A R>Z         |   |
S                   one selector channel                                                ----|             |*------S IJ>MN    MS S*------S WRITE       |----
                                                                                            |             |       |             |       |             |
 Q                                                                                          |             |       |             |       |             |
 C                                                                                          R 0,1       41R       R 1,1       43R       R 1,0       22R
 0                                                                                          S4--    01 --SD       S5--    11  -SE       S6--    *0 --SF
 1                                                                                                                                                | 128065        07/26/67 | Mach          2030       | Date  09/24/68          Sheet    1  QC011 |
 1                                                                                                                                                | 128066        11/14/67 | Name                     | Log    2016             Version    A03    |
                                                                                                                                                  | 128069        09/09/68 | Mode          Manual     |                                           |
                                                                                                                                                  |                        | P.N.          837142     |    Selector Cnl op breakout               |
                                                                                                                                                  |                        | IBM Corp.     SDD        |    and Mplx Cnl TIC routine               |

QC511             0                    1                     2                     3                     4                     5                     6                     7                     8                     9

                                           This microprogram is the breakout point from the Mpx                                        is checked for validity. An invalid command sets Cmd
                                           channel Start I/O to the 1050 Start I/O. The op code is                                     Reject in the sense register, and Unit Check in the unit
A                                          checked. If Start I/O, the unit status is checked for                                       status.
                                           busy  When busy because of a stacked interrupt, micro
                                           force is turned off. The interrupt condition plus busy is
                                           presented to the CSW routine and the unit status is
                                           reset. When busy and there is no interrupt stacked, busy
                                           is presented to the CSW routine. When not busy the high                                  -----------------------------------------------------------------------------------------
B                                          byte of the command                                                                      |                                                                                       |
                                                                                                                                    |                                                                                       |
                                                                                                                      00 010  A30   |                             10 010 088E           01 010 088D                         |
                                                                                                                  K 0111        |   |                         |             |       K 0010        |                         |
                                                                                                                  A R.-KH>D     |   |                         |             |       A 0+KH>TA     |                         |
C                                                                                                             ---*|             |*---                     ----|             |*--O---|             |*-----                   -----------QC541------CEE
                                                                                                              |   |             |                         |   |             |   |   |             |     |                              (00,01) CB,QB
                                                                                                              |   C          010V                         |   |          010V   |   |          010V     |                              Auto Intr
                                                                                                              |   R 0,G3      3CR                         |   R R0,1      8DR   |   R 1,1       8FR     |                              or Test I/O
                                                                                                              |   C5--    0* --CE                         |   C7--    *1 --CG   |   C8--    11 --CH     |                
                                                                                                              |  Test I/O or                              |  Busy               |                       |
D                                                                                                             |  auto Intr D=Un Sta                       |                     ----------------------- |
                                                                                                              |  X000XXXX                                 ------------------------------------------- | |
                                                                                                              |       10 010  A32                                                       10 010 0A36 | | |     11 010 088F
                                                                                                              |   K 0001        |                                                   K 1000,0      | | | --K 0000,1      |
                                                                                                              |   A R.KH>Z      |                                                   A TTX>R       | | |   |             |    
E                                                                                                             O---|             |*--O-----------------------------------------------|             |*O ----S T>MN    MPX S*-------------QC151------EJE
                                                                                                              |   C ANSNZ>S2    |   |                                               C ANSNZ>S2    | |     C 0>S2        |              (01)   JD
                                                                                                              |   C          010V   |                   ----------------------------C          010V ------|          010V              Mpx Halt
                                                                                                              |   R 1,Z=0     36R   |                   |                           R 1,Z=0     8ER       R 0,CA05>W  C5R              I/O routine
                                                                                                              |   E5--    1* --EE   |                   |                           E8--    1* --EH       E9--    01 --EJ              Set Cdn Cd1
                                                                                                              |  Test Busy          |                   |                          RO UCW op
F                                                                                                             |  BR on oper         |                   |                          Flg byte
                                                                                                              --------------------- |                   |                          D=0 Un Sta
                                                                                                10 010 08EA           11 010  A2F | |       11 010  A37 |         11 010 0A33    
                                                                                            K 1010,1      |       K 0001        | | |   K 0001        | |     |             |    
                                                                                            A 0>D         |       A TT.KH>Z     | | |   A R.JH>Z      | |     A 0>TA        |    
G                                                                                       ----S         K>W R*------|             |-- ----|             |*O ----S STORE       |----
                                                                                        |   |             |       |             |       |             | | |   |             |   |
                                                                                        |   C          010V       C          010V       C          010V | |   C          010V   |
                                                                                        |   R 1,1       2FR       R G6,0      30R       R S2,0      34R | |   R 0,1       31R   |
                                                                                        |   G4--    11 --GD       G5--    *0 --GE       G6--    *0 --GF | |   G7--    *1 --GG   |
                                                                                        |  Halt/Test I/O         Test for oper         Not oper         | |  Int stkd, 0 Unit   |
H                                                                                       |                                              BR on busy       | |  Sta-micro force    |
                                                                                        |                                                               | |  off                |
                              01 010 0875           01 010 0879           11 010 0877   |                             00 010 08EC           10 010  8FA | |                     |
                          K 1001,1      |       K 0010        |       K 1000        |   |                         |             |       K 1001,1      | | |                     |
                          A SX>S        |       A H!KL>H      |       A FT.KL>Z     |   |                         A FTSP>Z      |       A 0>R         | | |                     |
J   QC031.JHE------------*S *99      LS S*------|             |*------S WRITE       |*--O                     ----S WRITE       |   ----S *99      LS S*+-O---------------------O------------------------------------------------------QC551------JFE
    (01)                  |             |       |             |       |             |   |                     |   |             |   |   C 0>S0        | |                                                                              (01)  CD
    Breakout              C          010V       C          010V       C          010V   |                     |   C          010V   |   C          010V |                                                                              Un Sta busy
    from Mpx Ch           R 0,1       79R       R 1,1       77R       R S4,0      E8R   |                     |   R 0,0       00R   |   R G2,CA0A>W 31R |                                                                              Form CSW set
    Start I/O             J1--    01 --JA       J2--    11 --JB       J3--    *0 --JC   |                     |   J5--    00 --JE   |   J6--    *1 --JF |                                                                              Cond code 1
                         Read Unit Sta         Mplx Hold On          BR Stt/Halt-       |                     |  IPL-Stop           |  Busy, read Unit  -----
K                        into R. Cross                               Test I/O mask      |                     |                     |  Sta, BR Int stkd     |
                         S for CC S5=1                               for IPL            |                     |                     ---------------------   |
                                                                                        |       00 010 08EB   |       01 010 08ED           11 010  8EF |   |     00 010  A34
                        Reg sta on ent                                                  |   |             |   |   K 1111        |       K 0110        | |   --K 0010        |
                        Stt I/O    CC                                                   |   A GL!RH>G     |   |   A D.KH>Z      |       A R.-KH>D     | |     A H.-KL>H     |
L                       D=cmnd     Cmnd 0000 XXXX                                       ----|             |*--O---|             |*--O---|             |*-   -*|             |*---------------------------------------------------------QC541------LGE
                        L=fld      Flg XXXX X111                                            |             |       |             |   |   |             |     | |             |                                                          (10) GH
                        S0=0       0                                                        C          010V       C          010V   |   C          010V     | C          010V                                                          Set Cond Code
                        S1=0       1                                                        R 0,Z=0     ECR       R 1,G3      EER   |   R 1,0       FAR     | R 1,0       3ER                                                          3 for Start
                        S2=X       1                                                        L4--    0* --LD       L5--    1* --LE   |   L6--    10 --LF     | L7--    10 --LG                                                          I/O, Halt I/O
                        S3=0       X                                                       Stt I/O/IPL           Stt.I/O, mask      |  D=Un Sta less        |Not operational
M                       S4=0       X                                                       Un status in GH       cmnd hio           |  De Ser, Int stkd     |Mpx hold lt off
                        S5=1       1                                                       GL same as            BR on busy sta     |                       |
                        S6=0       0                                                       on entry                                 |       10 010 08EE     |
                        S7=0       0                                                                                                |   K 0011        |     |
                        V=Unit addr                                                                                                 |   A D.KL>Z      |     |
N                                                                                                                                   ----|             |*--O-+--------------------------------------------------------------------------QC521------NFE
                                                                                                                                        |             |   | |                                                                          (01) EA
                                                                                                                                        C          010V   | |                                                                          Test for valid
                                                                                                                                        R 0,Z=0     80R   | |                                                                          1050 cmd
                                                                                                                                        N6--    0* --NF   | |
                                                                                                                                       BR on hi cmnd      | |
P                                                                                                                                      Test lo cmnd       | |
                                                                                                              --------------------------------------------- |
                                                                                                              |       00 010 0880           10 010 0882     |     01 010  A35           01 010  A21           01 010 08E9
                                                                                                              |   K 1000        |       K 0100,1      |     | |             |       K 1000,0      |       K 0010        |
                                                                                                              |   A 0!KH>U      |       A 0!KL>V      |     | A U>R         |       |             |       A 0!KL>R      |    
Q                                                                                                             ----|             |*------|             |*----+-S UV>MN    LS S*------S STORE   K>W R*------|             |*-------------QC551------QJE
                                                                                                                  C 0>S2        |       |             |     | |             |       C 0>S0        |       |             |              (00,01)
    QC521.CJE--------------------------------                                                                 ---*C          010V       C          010V     O-C          010V       C          010V       C          010V              Invalid cmd
    (00,01)                                 |                                                                 |   R 1,0       82R       R 0,CA0A>W  35R     | R 0,1       21R       R 0,1       E9R       R 0,S5      E4R              BR on origin
    Update sense                            |                                                                 |   Q5--    10 --QE       Q6--    01 --QF     | Q7--    01 --QG       Q8--    01 --QH       Q9--    0* --QJ              Stt I/O or CC
    byte or to                              |                                                                 |  Hi cmd not 0          V=home sense         |Addr home sens        Store R set           Branch on CC as
R   set Cond                                |                                                                 |  Preset cmnd rej       address              |byte sense data       S0=0                  origin preset
    Code 3                                  |                                                                 |  in U for home                              |in R                                        Unit Chk in R
                                            |                                                                 |  sense byte                                 |
                                            ------------------------------------------------------------------+----------------------------------------------
                                                                                                              |
S   QC521.CDE--------------------------------------------------------------------------------------------------
    (00)
 Q  Update sense
 C  byte
 5
 1                                                                                                                                                | 128015        09/27/65 | Mach          2030       | Date  11/17/65          Sheet    1  QC511 |
 1                                                                                                                                                | 128045        11/17/65 | Name                     | Log    2245             Version    010    |
                                                                                                                                                  | 128054        04/04/66 | Mode          Manual     |                                           |
                                                                                                                                                  | 128060        08/22/66 | P.N.          837172     |    1050 Start I/O, Test I/O               |
                                                                                                                                                  | 128061        10/06/66 | IBM Corp.                |    and Halt I/O                           |

QC521             0                    1                     2                     3                     4                     5                     6                     7                     8                     9

                                           This microprogram checks the low byte of the command for                                    not from CC Cnd Code 3 is set. WHen operational the
                                           validity. If invalid, Command Reject is set in the sense                                    command is checked for a modifier bit. A read with a
A                                          register and Unit Check set in the unit status. Branching                                   modifier sets up the TA register to perform a read
                                           is done on a valid command to determine what the,                                           inquiry. No modifier, sets up a read reader 2. A write
                                           command is. On a read or write command the 1050 is                                          modifier indicates, that it is write with a CELF. The
                                           checked for being operational. If not operational                                           skip flag is set to indicate CRLF.
                                           intervention required is set in the sense register
                                           when from CC. If
B                                                                                                             ------------------------------------------------------------------O------------------------------------------------------QC511------CDE
                                                                                                              |                                                                 |                                                      (00) QE
                                                    01 ---  8A1                                 10 ---  A56   |                             11 ---  A47           10 ---  A2A   |                             00 ---  A48              Update sense
                                                K 1000        |                             K 1000,0      |   |                         K 0100        |       K 1000,0      |   |                   ------K 0100        |              byte
                                                A D.KL>Z      |                             |             |   |                         A L.KH>Z      |       |             |   |                   |     A 0!KH>U      |    
C                                           ----|             |*---                     ----S         K>W R*---                     ----|             |*--O---S         K>W R----                   | ----|             |*-------------QC511------CJE
                                            |   |             |   |                     |   |             |                         |   |             |   |   |             |                       | |   |             |              (00,01) QG,LG
                                            |   C          010V   |                     |   R          010V                         |   C          010V   |   C          010V                       | |   C          010V              Update sense
                                            |   R 0,0       A0R   |                     |   R 0,0       80R                         |   R G4,0      28R   |   R 0,0       80R                       | |   R 0,S5      34R              byte or set
                                            |   C2--    00 --CB   |                     |   C4--    00 --CD                         |   C6--    *0 --CF   |   C7--    00 --CG                       | |   C9--    0* --CJ              cond code 3
                                            |  Cmnd bits 6,7=0    |                     |  Invalid cmnd                             |  Ctrl cmnd, BR on   |  Ring alarm                             | |  Not rdy or not
D                                           |  Mask cmnd for      |                     |                                           |  modifier mask L    |  Set Cmd Reject                         | |  oper. Set Intv
                                            |  bit 4              |                     |                                           |  for CC next        |  No alarm                               | |  Reqd in U BR
                              01 --- 088a   |                     |       00 ---  8A0   |                                           |                     |       00 ---  A28                       | |  on CC
                          K 0100        |   |                     |   K 1010,1      |   |                                           |                     |   K 1000,0      |                       | |
                          A D.KL>Z      |   |                     |   A S>R         |   |                                           |                     |   |             |                       | |
E   QC511.NFE------------*|             |*--O---------------------O---S         K>W R*--O                                           |                     ----S         K>W R*----------------------+-+--------------------------------QC551------EGE
    (01)                  C             |                             |             |   |                                           |                         |             |                       | |                                (10,11) GB,LB
    Test for vald         C          010V                             C          010V   |                                           |                         C          010V                       | |                                Cmd immed
    1050 cmd              R 0,Z=0     A0R                             R 1,Z=0     56R   |                                           |                         R 1,Z=0     E6R                       | |                                Ck for CC
                          E1--    0* --EA                             E3--    1* --EC   |                                           |                         E7--    1* --EG                       | |
                         Mask cmnd for                               Cmnd bits 6,7=     |                                           |                        No Op BR on                            | |
F                        invalid BR on                              01,10,11            |                                           |                        CC next                                | |
                         cmnd bits 6,7                              BR on bit 5         |                                           |                                                               | |
                                                                    from 981,bit4       |       01 ---  A25           11 ---  A4B   |       10 ---  A46                                             | |       10 --- 0A4A
                                                                    from 993.           |   K 0100        |       |             |   |   K 0100        |                                             | |   K 1100,0      |
                                                                                        |   A D!KL>G      |       A TTH!RL>S    |   |   A 0!KL>V      |                                             | |   A 0!KH>TA     |    
G                       T=                                                              | --|             |*--O---|             |*--O---|             |*O-------------------------------------------- O---|             |----
                        S=                                                              | | |             |   |   |             |   |   |             | |                                             |   |             |   |
                        L=CCW flgs                                                      | | C          010V   |   C          010V   |   C          010V |                                             |   C          010V   |
                        D=CCW op byte                                                   | | R 1,1       4BR   |   R G6,G7     44R   |   R 0,S3      48R |                                             |   R 1,CA08>W  9BR   |
                        U=                                                              | | G4--    11 --GD   |   G5--    ** --GE   |   G6--    0* --GF |                                             |   G9--    1* --GJ   |
                        V=Unit addr                                 --------------------- |Valid cmnd to      | Gate hi tags to     |  Read cmnd, BR    |                                             |  Rdy-Home Rdr       |
H                       I=                                          |                     |1050, G=cmnd       | S and retain SL     |  on 1050 oper     |                                             |  Stt and Rdr        |
                        J=CCW low data byte addr                    |                     |G5=1               | Branch on cmnd      |  V=sense byte     |                                             |  Run on             |
                        GH=Unit status                              |     11 ---  A57     |     00 ---  A24   |                     |  addr             |         00 ---  A4C           11 ---  A23   |                     |
                                                                    | |             |     | K 0100        |   |                     |                   |     |             |       |             |   |                     |
                                                                    | |             |     | A D.-KL>G     |   |                     |                   |     |             |       |             |   |                     |
J                                                                   --|             |*----O-|             |----                     |                   |   --|             |*----O-|             |*---                     |
                                                                      |             |       |             |                         |                   |   | |             |     | |             |                         |
                                                                      C          010V       C          010V                         |                   |   | C          010V     | C          010V                         |
                                                                      R 0,G5      24R       R 1,1       4BR                         |                   |   | R 1,Z=0     22R     | R S1,0      48R                         |
                                                                      J3--    0* --JC       J4--    11 --JD                         |                   |   | J7--    1* --JG     | J8--    *0 --JH                         |
                                                                                           Valid cmnd to                            |                   |   |Read cmnd, BR        |Read Rdr 2                               |
K                                                                                          1050,G=cmnd                              |                   |   |on modifier          |cmnd BR on                               |
                                                                                           G5=0                                     |                   |   --------------------- |Sel/Rdy                                  |
                                                                                                                                    |       01 ---  A45 |         01 ---  A49   | |                           10 --- 0A22   |
                                                                                                                                    |   K 0100        | |     K 1000        |   | |                       K 0101,0      |   |
                                                                                                                                    |   A 0!KL>V      | |     A D.KL>Z      |   | |                       A 0!KH>TA     |   |
L                                                                                                                                   O---|             |-O-----|             |*--O ------------------------|             |---O
                                                                                                                                    |   |             |       |             |   |                         |             |   |
                                                                                                                                    |   C          010V       C          010V   |                         C          010V   |
                                                                                                                                    |   R 0,S3      48R       R 0,G7      4CR   |                         R 1,CA08>W  9BR   |
                                                                                                                                    |   L6--    0* --LF       L7--    0* --LG   |                         L9--    1* --LJ   |
                                                                                                                                    |  Write cmnd, BR        Mask cmnd for      |                        Read Inq-Rdr       |
M                                                                                                                                   |  on 1050 oper          modifier BR on     |                        Run and            |
                                                                                                                                    |  V=sense byte          write              |                        Proceed on.        |
                                                                                                                                    |  addr                                     |       01 ---  A4D                         |
                                                                                                                                    |                                           |   K 1000,0      |                         |
                                                                                                                                    |                                           |   A 0!KH>TA     |                         |
N                                                                                                                                   |                                           ----S         K>W R*--O---------------------O----------QC531------NHE
                                                                                                                                    |                                               |             |   |                     |          (11) ED
                                                                                                                                    |                                               C          010V   |                     |          Valid cmd
                                                                                                                                    |                                               R 1,Z=0     9AR   |                     |
                                                                                                                                    |                                               N8--    1* --NH   |                     |
                                                                                                                                    |                                             Write cmnd. BR on   |                     |
P                                                                                                                                   |                                             modifier, turn      |                     |
                                                                                                                                    |                                             on home Rdr Stt     |                     |
                                                                                                                                    |       00 ---  A44                                               |       10 --- 089A   |
                                                                                                                                    |   K 0011,0      |                                               |   K 0001        |   |
                                                                                                                                    |   A 0!KH>TA     |                                               |   A L!KH>L      |   |
Q                                                                                                                                   ----|             |*---                                           ----|             |----
                                                                                                                                        C 0>S6        |   |                                               |             |    
                                                                                                                                        C          010V   |                                               C          010V
                                                                                                                                        R 1,CA08>W  97R   |                                               R 1,1       9BR
                                                                                                                                        Q6--    11 --QF   |                                               Q9--    1* --QJ
                                                                                                                                       Sense cmnd,        |                                              Set skip in
R                                                                                                                                      turn on Micro      |                                              flags-acr
                                                                                                                                       Force, Proceed     |                                              for write cmnd
                                                                                                                                       Set S6=0           |
                                                                                                                                                          |
                                                                                                                                                          |
S                                                                                                                                                         -----------------------------------------------------------------------------QC531------QFE
                                                                                                                                                                                                                                       (11) EC
 Q                                                                                                                                                                                                                                     Sense cmd
 C
 5
 2                                                                                                                                                | 128015        09/23/65 | Mach          2030       | Date  11/17/65          Sheet    1  QC521 |
 1                                                                                                                                                | 128045        11/17/65 | Name                     | Log    3563             Version    010    |
                                                                                                                                                  |                        | Mode          Manual     |                                           |
                                                                                                                                                  |                        | P.N.          837173     |    1050 Start I/O Test comnd for          |
                                                                                                                                                  |                        | IBM Corp.                |                                           |