$ od -c -N 50000 [_CD8_]<doradosource>TriDiskSources.dm!8
0000000  377  \0  \0   T   r   i   D   i   s   k   .   m   c  \0 373 230
0000020  343   o   ]  \0  \0 376 001  \0 252   F   *   -   -   -   -   -
0000040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0000120    -   -   -   -   -   -  \r   T   i   t   l   e   [   T   r   i
0000140    D   i   s   k   .   m   c   .   .   .   A   p   r   i   l    
0000160    1   3   ,       1   9   8   2           3   :   3   1       P
0000200    M   .   .   .   T   a   f   t   ]   ;  \r   *       E   m   u
0000220    l   a   t   e   s       a   n       A   l   t   o       T   r
0000240    i   d   e   n   t       d   i   s   k       o   n       a    
0000260    D   o   r   a   d   o   '   s       T   r   i   d   e   n   t
0000300        d   i   s   k   (   s   )   .  \r   *       T   h   i   s
0000320        c   o   d   e       i   s       i   n   t   e   n   d   e
0000340    d       t   o       c   o   e   x   i   s   t       w   i   t
0000360    h       A   l   t   o   D   i   a   b   l   o   D   i   s   k
0000400    .   m   c       -   -  \r   *       o   n       a       D   o
0000420    r   a   d   o       w   i   t   h     376 001  \0 340   V   m
0000440    u   l   t   i   p   l   e       d   r   i   v   e   s   ,    
0000460    d   r   i   v   e       0       i   s       u   s   e   d    
0000500    t   o       e   m   u   l   a   t   e  \r   *       a   n    
0000520    A   l   t   o       D   i   a   b   l   o       d   i   s   k
0000540        a   n   d       t   h   e       o   t   h   e   r       d
0000560    r   i   v   e   s       e   m   u   l   a   t   e       A   l
0000600    t   o       T   r   i   d   e   n   t       d   i   s   k   s
0000620    .  \r   *   -   -   -   -   -   -   -   -   -   -   -   -   -
0000640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0000700    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r  \r
0000720    *   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0000740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001000    -   -   -   -   -   -   -   -   -   -   -   -  \r   %       D
0001020    a   t   a       s   t   r   u   c   t   u   r   e   s  \r 376
0001040  001  \0 351   "   *   -   -   -   -   -   -   -   -   -   -   -
0001060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001140   \r  \r   K   B   L   K       f   o   r   m   a   t   :  \r  \t
0001160    V   M       6   4   0   :  \t   p   o   i   n   t   e   r    
0001200    t   o       d   i   s   k       c   o   m   m   a   n   d    
0001220    b   l   o   c   k       (   K   C   B   )  \r  \t   V   M    
0001240    6   4   1   :  \t   n   u   m   b   e   r       o   f       c
0001260    u   r   r   e   n   t   l   y   -   s   e   l   e   c   t   e
0001300    d       d   r   i   v   e  \r  \t   V   M       6   4   2   :
0001320   \t   c   y   l   i   n   d   e   r       n   u   m   b   e   r
0001340        o   f       m   o   s   t       r   e   c   e   n   t   l
0001360    y       s   t   a   r   t   e   d       d   i   s   k       c
0001400    o   m   m   a   n   d  \r  \t   V   M       6   4   3   :  \t
0001420    s   t   a   t   u   s       a   t       l   a   s   t       s
0001440    e   c   t   o 376 001  \0   ( 273   r       p   u   l   s   e
0001460   \r  \r   K   C   B       f   o   r   m   a   t   :  \r  \t   K
0001500    C   B   +   0   :  \t   c   y   l   i   n   d   e   r       n
0001520    u   m   b   e   r  \r  \t   K   C   B   +   1   :  \t   h   e
0001540    a   d       ,   ,       s   e   c   t   o   r       n   u   m
0001560    b   e   r   s  \r  \t   K   C   B   +   2   :  \t   d   r   i
0001600    v   e       n   u   m   b   e   r  \r  \t   K   C   B   +   3
0001620    :  \t   p   o   i   n   t   e   r       t   o       n   e   x
0001640    t       K   C   B  \r  \t   K   C   B   +   4   :  \t   c   o
0001660    m   m   a   n   d       s   e   a   l       (   o   v   e   r
0001700    w   r   i   t   t   e   n       b   y       i   n   i   t   i
0001720    a   l       s   t   a   t   u   s   )  \r  \t   K   C   B   +
0001740    5   :  \t   h   e   a   d   e   r       c   o   m   m   a   n
0001760    d  \r  \t   K   C   B   +   6   :  \t   h   e   a   d   e   r
0002000        w   o   r   d       c   o   u   n   t  \r  \t   K   C   B
0002020    +   7   :  \t   p   o   i   n   t   e   r       t   o       h
0002040    e   a   d   e   r       b   l   o 376 001  \0 022   N   c   k
0002060   \r  \t   K   C   B   +   1   0   :  \t   h   e   a   d   e   r
0002100        E   C   C   0  \r  \t   K   C   B   +   1   1   :  \t   h
0002120    e   a   d   e   r       E   C   C   1  \r  \t   K   C   B   +
0002140    1   2   :  \t   h   e   a   d   e   r       e   n   d   i   n
0002160    g       s   t   a   t   u   s  \r  \t   K   C   B   +   1   3
0002200        t   o       2   0   :       l   a   b   e   l       c   o
0002220    m   m   a   n   d       b   l   o   c   k       (   s   i   m
0002240    i   l   a   r       t   o       K   C   B   +   5       t   o
0002260        1   2   )  \r  \t   K   C   B   +   2   1       t   o    
0002300    2   7   :       d   a   t   a       c   o   m   m   a   n   d
0002320        b   l   o   c   k       (   s   i   m   i   l   a   r    
0002340    t   o       K   C   B   +   5       t   o       1   2   )  \r
0002360   \t   K   C   B   +   3   0   :  \t   u   n   u   s   e   d  \r
0002400   \t   K   C   B   +   3   1   :  \t   c   o   m   p   l   e   t
0002420    i   o   n       i   n   t   e   r   r   u   p   t       b   i
0002440    t       m   a   s   k  \t   *   *   *       n   o   t 376 001
0002460   \0   $   d       i   m   p   l   e   m   e   n   t   e   d  \r
0002500   \r   D   i   s   k       c   o   m   m   a   n   d       f   o
0002520    r   m   a   t   :  \r  \t   0   -   3   :  \t   u   n   u   s
0002540    e   d  \r  \t   4   :  \t   c   h   e   c   k       d   a   t
0002560    a  \r  \t   5   :  \t   u   n   u   s   e   d  \r  \t   6   :
0002600   \t   s   t   r   o   b   e       l   a   t   e  \t   *   *   *
0002620        n   o       w   a   y       t   o       a   c   c   e   s
0002640    s       t   h   i   s       a   t       p   r   e   s   e   n
0002660    t  \r  \t   7   :  \t   s   t   r   o   b   e       e   a   r
0002700    l   y  \t   *   *   *       n   o       w   a   y       t   o
0002720        a   c   c   e   s   s       t   h   i   s       a   t    
0002740    p   r   e   s   e   n   t  \r  \t   8   :  \t   w   r   i   t
0002760    e  \r  \t   9   :  \t   r   e   a   d  \r  \t   1   0   :  \t
0003000    u   n   u   s   e   d  \r  \t   1   1   :  \t   r   e   s   e
0003020    t       h   e   a   d       a   d   d   r   e   s   s  \r  \t
0003040    1   2   :  \t   d   e   v   i   c   e       c   h   e   c   k
0003060        r   e 376 001  \0 006 264   s   e   t  \r  \t   1   3   :
0003100   \t   h   e   a   d       s   e   l   e   c   t  \r  \t   1   4
0003120    :  \t   r   e   -   z   e   r   o  \r  \t   1   5   :  \t   a
0003140    d   v   a   n   c   e       h   e   a   d       a   d   d   r
0003160    e   s   s  \r  \r   D   i   s   k       s   t   a   t   u   s
0003200        f   o   r   m   a   t   :  \r  \t   0   :  \t   s   e   e
0003220    k       i   n   c   o   m   p   l   e   t   e  \r  \t   1   :
0003240   \t   i   l   l   e   g   a   l       h   e   a   d       n   u
0003260    m   b   e   r  \r  \t   2   :  \t   d   e   v   i   c   e    
0003300    c   h   e   c   k  \r  \t   3   :  \t   n   o   t       s   e
0003320    l   e   c   t   e   d  \r  \t   4   :  \t   n   o   t       o
0003340    n   -   l   i   n   e  \r  \t   5   :  \t   n   o   t       r
0003360    e   a   d   y  \r  \t   6   :  \t   s   e   c   t   o   r    
0003400    o   v   e   r   f   l   o   w  \r  \t   7   :  \t   w   r   i
0003420    t   e       d   a   t   a       l   a   t   e  \r  \t   8   :
0003440   \t   r   e   a   d       d   a   t   a       l   a   t   e  \r
0003460   \t   9   :  \t   c   o   m   p 376 001  \0   m 371   a   r   e
0003500        e   r   r   o   r  \r  \t   1   0   :  \t   r   e   a   d
0003520    -   o   n   l   y  \r  \t   1   1   :  \t   c   y   l   i   n
0003540    d   e   r       o   f   f   s   e   t  \r  \t   1   2   :  \t
0003560    E   C   C       e   r   r   o   r       -   -       r   e   p
0003600    o   r   t   e   d       o   n   l   y       i   n       K   C
0003620    B  \r  \t   1   2   -   1   5   :  \t   s   e   c   t   o   r
0003640        n   u   m   b   e   r       -   -       r   e   p   o   r
0003660    t   e   d       o   n   l   y       i   n       K   B   L   K
0003700   \r  \r   N   o   t   e   :       a   t       p   r   e   s   e
0003720    n   t       t   h   i   s       m   i   c   r   o   c   o   d
0003740    e       m   a   y       b   e       u   s   e   d       t   o
0003760        e   m   u   l   a   t   e       e   i   t   h   e   r    
0004000    t   h   e       A   l   t   o  \r   T   F   S       9   -   s
0004020    e   c   t   o   r       (   1   0   2   4   -   w   o   r   d
0004040        d   a   t   a       b   l   o   c   k   )       f   o   r
0004060    m   a   t       o   r       t   h   e       A   l 376 001  \0
0004100  030   =   t   o       J   u   n   i   p   e   r       1   6   -
0004120    s   e   c   t   o   r  \r   (   5   1   2   -   w   o   r   d
0004140        d   a   t   a       b   l   o   c   k   )       f   o   r
0004160    m   a   t   .           H   O   W   E   V   E   R   ,       d
0004200    u   e       t   o       d   e   f   i   c   i   e   n   c   i
0004220    e   s       i   n       t   h   e       D   o   r   a   d   o
0004240   \r   s   e   c   t   o   r       s   i   z   e       s   e   l
0004260    e   c   t   i   o   n       m   e   c   h   a   n   i   s   m
0004300    ,       a       d   r   i   v   e       t   o       b   e    
0004320    u   s   e   d       f   o   r       9   -   s   e   c   t   o
0004340    r       e   m   u   l   a   t   i   o   n  \r   m   u   s   t
0004360        b   e       j   u   m   p   e   r   e   d       f   o   r
0004400        1   1   7       s   e   c   t   o   r   s       (   D   o
0004420    r   a   d   o       s   t   a   n   d   a   r   d   )   ,    
0004440    w   h   e   r   e   a   s       a       d   r   i   v   e    
0004460    t   o       b   e  \r   u   s   e   d       f   o   r       1
0004500    6   - 376 001  \0   w 223   s   e   c   t   o   r       e   m
0004520    u   l   a   t   i   o   n       m   u   s   t       b   e    
0004540    j   u   m   p   e   r   e   d       f   o   r       1   6    
0004560    s   e   c   t   o   r   s   .  \r   %  \r  \f  \r   *   -   -
0004600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0004660    -   -   -   -   -   -   -   -   -  \r   *       S   I   O    
0004700    i   n   s   t   r   u   c   t   i   o   n  \r   *       D   i
0004720    a   b   l   o       d   i   s   k       d   o   e   s       n
0004740    o   t       u   s   e       S   I   O   ,       b   u   t    
0004760    T   r   i   d   e   n   t       d   i   s   k       d   o   e
0005000    s   .  \r   *       D   i   s   k   S   I   O       i   s    
0005020    f   i   r   s   t       d   e   f   i   n   e   d       i   n
0005040        A   D   i   a   b   l   o   D   i   s   k   .   m   c   ,
0005060        a   n   d       i   s       r   e   d   e   f   i   n   e
0005100    d       h   e   r   e   . 376 001  \0   f 203  \r   *       S
0005120    I   O   [   4   0   ]       e   n   a   b   l   e   s       T
0005140    r   i   d   e   n   t       e   m   u   l   a   t   i   o   n
0005160    ;       S   I   O   [   2   0   ]       d   i   s   a   b   l
0005200    e   s       i   t   .  \r   *       S   t   a   c   k       =
0005220        S   I   O       a   r   g   u   m   e   n   t   .  \r   *
0005240        C   u   r   r   e   n   t       s   t   a   t   e       o
0005260    f       T   r   i   d   e   n   t       e   m   u   l   a   t
0005300    i   o   n       i   s       r   e   f   l   e   c   t   e   d
0005320        i   n       T   r   i   d   e   n   t   F   l   a   g   :
0005340   \r   *  \t   B   0   :  \t   1       =       T   r   i   d   e
0005360    n   t       e   m   u   l   a   t   i   o   n       e   n   a
0005400    b   l   e   d   ,       0       =       d   i   s   a   b   l
0005420    e   d  \r   *  \t   B   1   :  \t   0       =       f   o   r
0005440    c   e       d   r   i   v   e       s   e   l   e   c   t   i
0005460    o   n       a   t       n   e   x   t       T   r   i   d   e
0005500    n   t       c   o   m   m   a   n   d  \r   * 376 001  \0 322
0005520  314  \t   B   1   2   -   1   5   :  \t   c   u   r   r   e   n
0005540    t       s   u   b   s   e   c   t   o   r       c   o   u   n
0005560    t  \r   *   -   -   -   -   -   -   -   -   -   -   -   -   -
0005600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005640    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r  \r
0005660    S   e   t   [   X   T   a   s   k   ,       I   P   [   E   M
0005700    U   ]   ]   ;  \r   T   o   p   L   e   v   e   l   ;  \r   D
0005720    o   n   t   K   n   o   w   R   B   a   s   e   ;  \r  \r   D
0005740    i   s   k   S   I   O   :  \r  \t   P   D   _       (   S   t
0005760    a   c   k   )       A   N   D       (   6   0   C   )   ;  \r
0006000   \t   P   D   _       (   S   t   a   c   k   )       A   N   D
0006020        (   4   0   C   )   ,       B   r   a   n   c   h   [   E
0006040    S   I   O   ,       A   L   U   =   0   ]   ;  \r  \t   T   _
0006060        A   0   ,       R   B   a   s   e   _       R   B   a   s
0006100    e   [   D   i   s   k   R   e   g   s   ]   ,       B   r   a
0006120    n 376 001  \0 232   F   c   h   [   .   +   2   ,       A   L
0006140    U   =   0   ]   ;  \r  \t   T   _       (   T   r   i   d   e
0006160    n   t   F   l   a   g   )       O   R       (   1   0   0   0
0006200    0   0   C   )   ;  \t   *       E   n   a   b   l   e       T
0006220    r   i   d   e   n   t       e   m   u   l   a   t   i   o   n
0006240   \r  \r   *       G   i   v   e       t   h   e       d   i   s
0006260    k       t   a   s   k       a       w   a   k   e   u   p   ,
0006300        i   n       c   a   s   e       t   h   e       c   u   r
0006320    r   e   n   t   l   y   -   s   e   l   e   c   t   e   d    
0006340    d   r   i   v   e  \r   *       i   s       n   o   t       o
0006360    n   -   l   i   n   e       a   n   d       h   e   n   c   e
0006400        n   o   t       g   i   v   i   n   g       a   n   y    
0006420    s   e   c   t   o   r       w   a   k   e   u   p   s   .  \r
0006440    *       A   S   S   U   M   P   T   I   O   N   :       c   o
0006460    d   e       d   o   i   n   g       a       d   i   s   k    
0006500    S   I   O       w   i   l   l       N   O   T       b   e    
0006520    t   r   y   i   n   g 376 001  \0   _ 364       t   o       r
0006540    e   a   d   /   w   r   i   t   e  \r   *       t   h   e    
0006560    d   i   s   k       (   D   i   a   b   l   o       o   r    
0006600    T   r   i   d   e   n   t   )       a   t       t   h   e    
0006620    s   a   m   e       t   i   m   e   ,       a   n   d       h
0006640    e   n   c   e       t   h   e       m   i   c   r   o   c   o
0006660    d   e  \r   *       w   i   l   l       n   o   t       b   e
0006700        c   o   n   f   u   s   e   d       b   y       t   h   e
0006720        e   x   t   r   a       w   a   k   e   u   p   .  \r  \t
0006740    T   r   i   d   e   n   t   F   l   a   g   _       T   ,    
0006760    T   a   s   k   i   n   g   O   f   f   ;  \r  \t   W   a   k
0007000    e   u   p   [   D   S   K   ]   ;  \r  \t   T   a   s   k   i
0007020    n   g   O   n   ,       B   r   a   n   c   h   [   E   S   I
0007040    O   ]   ;  \r  \r  \r   *   -   -   -   -   -   -   -   -   -
0007060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007120    -   -   -   -   -   -   -   -   -   -   - 376 001  \0   Z   {
0007140    -   -   -   -   -   -   -  \r   *       E   n   d       o   f
0007160        i   d   l   e       l   o   o   p       f   o   r       D
0007200    i   a   b   l   o       e   m   u   l   a   t   i   o   n   .
0007220   \r   *       I   f       T   r   i   d   e   n   t       e   m
0007240    u   l   a   t   i   o   n       i   s       e   n   a   b   l
0007260    e   d   ,       c   h   e   c   k       f   o   r       n   e
0007300    w   l   y   -   i   s   s   u   e   d       T   r   i   d   e
0007320    n   t       c   o   m   m   a   n   d   s   ,  \r   *       a
0007340    n   d       s   w   i   t   c   h       t   o       T   r   i
0007360    d   e   n   t       e   m   u   l   a   t   i   o   n       i
0007400    f       a   n   y       a   r   e       f   o   u   n   d   .
0007420   \r   *       E   n   d   A   l   t   o   L   o   o   p       i
0007440    s       f   i   r   s   t       d   e   f   i   n   e   d    
0007460    i   n       D   i   s   k   S   u   b   r   s   .   m   c   ,
0007500        a   n   d       i   s       r   e   d   e   f   i   n   e
0007520    d       h   e   r   e   .  \r   *   -   -   -   -   -   -   -
0007540  376 001  \0 032 017   -   -   -   -   -   -   -   -   -   -   -
0007560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0007620    -   -   -   -   -   -   -   -   -  \r  \r   S   e   t   [   X
0007640    T   a   s   k   ,       I   P   [   D   S   K   ]   ]   ;  \r
0007660    K   n   o   w   R   B   a   s   e   [   D   i   s   k   R   e
0007700    g   s   ]   ;  \r  \r   E   n   d   A   l   t   o   L   o   o
0007720    p   :  \r  \t   T   _       (   K   4   0   0   )   +   (   2
0007740    4   0   C   )   ;  \t  \t   *       V   M       6   4   0    
0007760    =       K   C   B       p   o   i   n   t   e   r  \r  \t   T
0010000    _       (   F   e   t   c   h   _       T   )   +   1   ,    
0010020    T   r   i   d   e   n   t   F   l   a   g   ,       B   r   a
0010040    n   c   h   [   .   +   2   ,       R   <   0   ]   ;  \r  \t
0010060    K   S   t   a   t   u   s   _       A   0   ,       B   l   o
0010100    c   k   ,       B   r   a   n   c   h   [   A   l   t   o   L
0010120    o   o   p   ]   ;       *       T   r   i   d   e   n   t    
0010140    e   m   u   l   a 376 001  \0 001 277   t   i   o   n       d
0010160    i   s   a   b   l   e   d  \r  \r   *       T   r   i   d   e
0010200    n   t       e   m   u   l   a   t   i   o   n       i   s    
0010220    e   n   a   b   l   e   d   .           A       T   r   i   d
0010240    e   n   t       c   o   m   m   a   n   d       i   s       p
0010260    e   n   d   i   n   g       i   f       e   i   t   h   e   r
0010300   \r   *       V   M       6   4   0       (   K   C   B       p
0010320    o   i   n   t   e   r   )       i   s       n   o   n   z   e
0010340    r   o       o   r       V   M       6   4   1       (   d   r
0010360    i   v   e       n   u   m   b   e   r   )       i   s       n
0010400    e   g   a   t   i   v   e   .  \r  \t   F   e   t   c   h   _
0010420        T   ,       K   P   t   r   _       P   D   _       M   D
0010440    ;  \t  \t   *       V   M       6   4   1       =       d   r
0010460    i   v   e       n   u   m   b   e   r  \r  \t   K   T   e   m
0010500    p   0   _       M   D   ,       B   r   a   n   c   h   [   S
0010520    t   a   r   t   T   r   i   d   e   n   t   ,       A   L   U
0010540    #   0   ]   ;  \r  \t   K   T   e   m 376 001  \0 351 301   p
0010560    0   ,       B   r   a   n   c   h   [   S   t   a   r   t   T
0010600    r   i   d   e   n   t   1   ,       R   <   0   ]   ;  \r  \t
0010620    K   S   t   a   t   u   s   _       A   0   ,       B   l   o
0010640    c   k   ,       B   r   a   n   c   h   [   A   l   t   o   L
0010660    o   o   p   ]   ;       *       N   o       T   r   i   d   e
0010700    n   t       c   o   m   m   a   n   d  \r  \r   *       S   w
0010720    i   t   c   h       t   o       T   r   i   d   e   n   t    
0010740    e   m   u   l   a   t   i   o   n       m   o   d   e   .  \r
0010760    S   t   a   r   t   T   r   i   d   e   n   t   :  \r  \t   N
0011000    o   p   ;  \r   S   t   a   r   t   T   r   i   d   e   n   t
0011020    1   :  \r  \t   T   r   i   d   e   n   t   F   l   a   g   _
0011040        (   T   r   i   d   e   n   t   F   l   a   g   )       A
0011060    N   D       (   N   o   t   [   4   0   0   0   0   ]   C   )
0011100    ;       *       F   o   r   c   e       d   r   i   v   e    
0011120    s   e   l   e   c   t  \r  \t   T   _       T   -   T   -   1
0011140    ,       M   e   m   B   a   s   e   _       D   i   s   k 376
0011160  001  \0   K   |   B   R   ,  \t   *       B   R   H   i   _    
0011200    M   D   S   H   i   -   1       f   o   r       T   r   i   d
0011220    e   n   t       t   r   a   n   s   f   e   r   s  \r  \t  \t
0011240    C   a   l   l   [   S   e   t   D   i   s   k   B   R   H   i
0011260    ]   ;  \r  \t   M   e   m   B   a   s   e   _       I   O   B
0011300    R   ,       B   r   a   n   c   h   [   T   r   i   I   d   l
0011320    e   L   o   o   p   ]   ;  \r  \f  \r   *   -   -   -   -   -
0011340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011420    -   -   -   -   -   -  \r   *       I   d   l   e       l   o
0011440    o   p       f   o   r       T   r   i   d   e   n   t       e
0011460    m   u   l   a   t   i   o   n   :       a   w   a   k   e   n
0011500    e   d       o   n   c   e       p   e   r       s   e   c   t
0011520    o   r   .  \r   *       S   t   o   r   e   s       s   t   a
0011540    t   u   s       a   n   d       c   h   e   c   k   s       f
0011560    o   r       n 376 001  \0 361 215   e   w   l   y   -   i   s
0011600    s   u   e   d       c   o   m   m   a   n   d   s   .  \r   *
0011620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0011700    -   -   -   -   -   -   -   -   -   -   -  \r  \r   T   r   i
0011720    I   d   l   e   L   o   o   p   :  \r  \t   T   _       c   l
0011740    e   a   r   S   e   e   k   T   a   g   T   W   ,       C   a
0011760    l   l   [   D   o   M   u   f   f   O   u   t   p   u   t   ]
0012000    ;       *       c   l   e   a   r       a   n   y       s   p
0012020    u   r   i   o   u   s       S   e   e   k   T   a   g   T   W
0012040   \r  \t   C   a   l   l   [   U   p   d   a   t   e   S   e   c
0012060    t   o   r   ]   ;  \r  \r  \t   T   _       K   S   e   l   e
0012100    c   t   ,       C   a   l   l   [   S   e   n   d   D   r   i
0012120    v   e   T   a   g   ]   ;  \t   *       T   u   r   n       o
0012140    n       s   e   l   e   c   t       f   o   r       c   u   r
0012160    r   e   n   t       d   r   i   v 376 001  \0   a   M   e  \r
0012200   \t   T   _       (   K   4   0   0   )   +   (   2   4   0   C
0012220    )   ;  \t  \t   *       V   M       6   4   0       =       K
0012240    C   B       p   o   i   n   t   e   r  \r  \t   T   _       (
0012260    F   e   t   c   h   _       T   )   +   1   ,       T   r   i
0012300    d   e   n   t   F   l   a   g   ,  \t   *       S   w   i   t
0012320    c   h       t   o       D   i   a   b   l   o       i   f    
0012340    T   r   i   d   e   n   t       d   i   s   a   b   l   e   d
0012360   \r  \t  \t   B   r   a   n   c   h   [   S   w   i   t   c   h
0012400    T   o   D   i   a   b   l   o   ,       R   >   =   0   ]   ;
0012420   \r  \t   F   e   t   c   h   _       T   ,       K   P   t   r
0012440    _       P   D   _       M   D   ;  \t  \t   *       V   M    
0012460    6   4   1       =       d   r   i   v   e       n   u   m   b
0012500    e   r  \r  \t   K   A   d   d   r   _       M   D   ,       B
0012520    r   a   n   c   h   [   T   r   i   N   e   w   C   m   m   d
0012540    ,       A   L   U   #   0   ]   ;       *       B   r   a   n
0012560    c   h       i   f       h   a   v   e       c   o   m 376 001
0012600   \0 350   r   m   a   n   d  \r  \t   K   A   d   d   r   _    
0012620    (   K   A   d   d   r   )       A   N   D       (   7   7   7
0012640    7   7   C   )   ,  \t   *       I   s   o   l   a   t   e    
0012660    d   r   i   v   e       n   u   m   b   e   r  \r  \t  \t   B
0012700    r   a   n   c   h   [   T   r   i   D   r   i   v   e   S   e
0012720    l   e   c   t   ,       R   <   0   ]   ;       *       B   r
0012740    a   n   c   h       i   f       n   e   w       d   r   i   v
0012760    e       s   e   l   e   c   t  \r  \r   *       N   o       T
0013000    r   i   d   e   n   t       c   o   m   m   a   n   d   s   .
0013020            S   t   o   r   e       T   r   i   d   e   n   t    
0013040    s   t   a   t   u   s       a   n   d       c   h   e   c   k
0013060        f   o   r       D   i   a   b   l   o       c   o   m   m
0013100    a   n   d   .  \r  \t   T   _       m   u   f   f   s   S   t
0013120    a   t   u   s   ;  \r  \t   C   a   l   l   [   R   e   a   d
0013140    2   0   M   u   f   f   s   ]   ;  \t  \t   *       R   e   a
0013160    d       d   r   i   v   e       s   t   a   t   u   s  \r  \t
0013200    K   T   e 376 001  \0   f   ;   m   p   1   _       T       A
0013220    N   D       (   N   o   t   [   1   7   ]   C   )   ;  \t   *
0013240        R   e   p   o   r   t       d   r   i   v   e       s   t
0013260    a   t   u   s       i   n       [   0   :   1   1   ]  \r  \t
0013300    T   _       L   D   F   [   S   e   c   t   o   r   ,       4
0013320    ,       0   ]   ;  \t  \t   *       R   e   p   o   r   t    
0013340    s   e   c   t   o   r       n   u   m   b   e   r       i   n
0013360        [   1   2   :   1   5   ]  \r  \t   K   T   e   m   p   1
0013400    _       (   K   T   e   m   p   1   )       O   R       T   ,
0013420        F   r   e   e   z   e   B   C   ;       *       A   L   U
0013440        b   r   a   n   c   h       c   o   n   d       _       u
0013460    n   m   a   s   k   e   d       S   e   c   t   o   r  \r  \t
0013500    T   _       (   K   S   e   l   e   c   t   )       A   N   D
0013520        (   N   o   t   [   t   a   g   S   e   l   e   c   t   D
0013540    r   i   v   e   !   ]   C   )   ,  \r  \t  \t   B   r   a   n
0013560    c   h   [   .   +   2   ,       A   L   U   <   0   ]   ;  \t
0013600    *       D   o   n   '   t     376 001  \0 341   J   d   e   s
0013620    e   l   e   c   t       i   f       s   e   c   t   o   r    
0013640    u   n   s   y   n   c   h   r   o   n   i   z   e   d  \r  \t
0013660    C   a   l   l   [   S   e   n   d   D   r   i   v   e   T   a
0013700    g   ]   ;  \t  \t   *       T   u   r   n       o   f   f    
0013720    d   r   i   v   e       s   e   l   e   c   t  \r  \t   T   _
0013740        (   K   4   0   0   )   +   (   1   2   1   C   )   ;  \t
0013760   \t   *       V   M       5   2   1       =       D   i   a   b
0014000    l   o       K   C   B       p   o   i   n   t   e   r  \r  \t
0014020    T   _       (   F   e   t   c   h   _       T   )   +   (   S
0014040    u   b   [   6   4   3   ,       5   2   1   ]   C   )   ;  \r
0014060   \t   P   D   _       M   D   ;  \r  \t   S   t   o   r   e   _
0014100        T   ,       D   B   u   f   _       K   T   e   m   p   1
0014120    ,       B   r   a   n   c   h   [   .   +   2   ,       A   L
0014140    U   #   0   ]   ;       *       S   t   o   r   e       s   t
0014160    a   t   u   s       i   n       V   M       6   4   3  \r  \t
0014200    B   l   o   c   k   ,       B   r   a   n   c   h 376 001  \0
0014220  323   z   [   T   r   i   I   d   l   e   L   o   o   p   ]   ;
0014240   \r  \r   *   -   -   -   -   -   -   -   -   -   -   -   -   -
0014260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014320    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   *
0014340        T   r   i   d   e   n   t       i   s       i   d   l   e
0014360        a   n   d       t   h   e   r   e       i   s       a    
0014400    n   e   w       D   i   a   b   l   o       c   o   m   m   a
0014420    n   d   .           S   w   i   t   c   h       t   o       D
0014440    i   a   b   l   o       m   o   d   e   .  \r   *   -   -   -
0014460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014540    -   -   -   -   -   -   -   -  \r  \t   N   o   p   ;  \r   S
0014560    w   i   t   c   h   T   o   D   i   a   b   l   o   :  \r  \t
0014600    T   _       A   0   ,       M   e   m   B   a   s   e   _    
0014620    D   i 376 001  \0 207 347   s   k   B   R   ;  \t  \t   *    
0014640    B   R   H   i   _       M   D   S   H   i       f   o   r    
0014660    D   i   a   b   l   o       t   r   a   n   s   f   e   r   s
0014700   \r  \t   C   a   l   l   [   S   e   t   D   i   s   k   B   R
0014720    H   i   ]   ;  \r  \t   C   a   l   l   [   I   n   i   t   R
0014740    a   m   D   i   a   b   l   o   ]   ;  \t  \t   *       R   e
0014760    s   e   t       f   o   r   m   a   t       R   a   m   ,    
0015000    s   e   l   e   c   t       d   r   i   v   e       0  \r  \t
0015020    K   S   t   a   t   u   s   _       A   0   ,       M   e   m
0015040    B   a   s   e   _       I   O   B   R   ,       B   l   o   c
0015060    k   ,       *       T   h   i   s       w   i   l   l       b
0015100    l   o   c   k       u   n   t   i   l       I   n   d   e   x
0015120   \r  \t  \t   B   r   a   n   c   h   [   A   l   t   o   L   o
0015140    o   p   ]   ;  \t   *       B   e   g   i   n       e   x   e
0015160    c   u   t   i   n   g       D   i   a   b   l   o       c   o
0015200    m   m   a   n   d   s  \r  \r   *   -   -   -   -   -   -   -
0015220    -   -   -   -   -   -   - 376 001  \0 005 030   -   -   -   -
0015240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015300    -   -   -   -   -   -   -   -   -  \r   *       S   e   l   e
0015320    c   t       n   e   w       T   r   i   d   e   n   t       d
0015340    r   i   v   e   ,       f   o   r   c   e   d       b   y    
0015360    s   o   f   t   w   a   r   e       s   t   o   r   i   n   g
0015400        1   0   0   0   0   0   B       +       d   r   i   v   e
0015420        i   n   t   o  \r   *       V   M       6   4   1   ,    
0015440    w   i   t   h   o   u   t       i   s   s   u   i   n   g    
0015460    a       c   o   m   m   a   n   d   .  \r   *       A   l   s
0015500    o       g   e   t       h   e   r   e       w   h   e   n    
0015520    a       T   r   i   d   e   n   t       c   o   m   m   a   n
0015540    d       s   e   l   e   c   t   s       a       n   e   w    
0015560    d   r   i   v   e   .  \r   *       T       =       6   4   1
0015600    ,       K   A   d   d   r       =       n   e   w       d   r
0015620    i   v   e       n   u   m   b   e   r   ,     376 001  \0   7
0015640  271   K   P   t   r       =       0       o   r       K   C   B
0015660        p   o   i   n   t   e   r   .  \r   *   -   -   -   -   -
0015700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015760    -   -   -   -   -   -  \r   T   r   i   D   r   i   v   e   S
0016000    e   l   e   c   t   :  \r  \t   S   t   o   r   e   _       T
0016020    ,       D   B   u   f   _       K   A   d   d   r   ,       C
0016040    a   l   l   [   I   n   i   t   R   a   m   T   r   i   d   e
0016060    n   t   ]   ;  \r  \t   T   _       T   r   i   d   e   n   t
0016100    F   l   a   g   _       (   T   r   i   d   e   n   t   F   l
0016120    a   g   )       O   R       (   4   0   0   0   0   C   )   ;
0016140        *       R   e   s   e   t       f   o   r   c   e       f
0016160    l   a   g  \r  \t   K   T   e   m   p   0   _       T       A
0016200    N   D       (   7   7   C   )   ;  \t  \t   *       E   x   t
0016220    r   a   c   t       s   u   b   s   e   c   t   o   r       c
0016240    o 376 001  \0 261   C   u   n   t  \r  \t   T   _       K   A
0016260    d   d   r   ,       C   a   l   l   [   S   e   t   D   r   i
0016300    v   e   A   n   d   S   u   b   S   e   c   t   o   r   ]   ;
0016320        *       S   e   l   e   c   t       d   r   i   v   e    
0016340    a   n   d       s   u   b   s   e   c   t   o   r       c   o
0016360    u   n   t  \r  \t   B   l   o   c   k   ,       B   r   a   n
0016400    c   h   [   T   r   i   I   d   l   e   L   o   o   p   ]   ;
0016420   \t   *       B   l   o   c   k       t   i   l       i   n   d
0016440    e   x   ,       t   h   e   n       l   o   o   k       a   g
0016460    a   i   n  \r  \r   *   -   -   -   -   -   -   -   -   -   -
0016500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016560    -  \r   *       H   a   v   e       t   h   e       f   i   r
0016600    s   t       T   r   i   d   e   n   t       c   o   m   m   a
0016620    n   d       o   f       a       n   e   w       c   h   a   i
0016640    n   .  \r   *       S 376 001  \0 253 331   e   t       u   p
0016660        t   h   e       f   o   r   m   a   t       R   a   m    
0016700    a   c   c   o   r   d   i   n   g       t   o       t   h   i
0016720    s       c   o   m   m   a   n   d   ,       a   n   d       f
0016740    o   r   c   e       a       d   r   i   v   e       s   e   l
0016760    e   c   t  \r   *       i   f       t   h   e       s   e   c
0017000    t   o   r       f   o   r   m   a   t       h   a   s       c
0017020    h   a   n   g   e   d   .  \r   *   -   -   -   -   -   -   -
0017040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017120    -   -   -   -  \r   T   r   i   N   e   w   C   m   m   d   :
0017140   \r  \t   N   o   p   ;  \r  \t   K   A   d   d   r   _       T
0017160    -   T   -   1   ,       C   a   l   l   [   I   n   i   t   R
0017200    a   m   T   r   i   d   e   n   t   ]   ;       *       P   r
0017220    e   t   e   n   d       c   u   r   r   e   n   t       d   r
0017240    i   v   e       i   s       -   1  \r  \t 376 001  \0 016 030
0017260    P   D   _       (   T   r   i   d   e   n   t   F   l   a   g
0017300    )   +   (   T   r   i   d   e   n   t   F   l   a   g   )   ;
0017320        *       T   e   s   t       T   r   i   d   e   n   t   F
0017340    l   a   g   [   1   ]  \r  \t   T   _       (   K   P   t   r
0017360    )   +   (   4   C   )   ,       B   r   a   n   c   h   [   D
0017400    o   T   C   m   m   d   1   ,       A   L   U   >   =   0   ]
0017420    ;       *       B   r   a   n   c   h       i   f       f   o
0017440    r   m   a   t       c   h   a   n   g   e   d  \r  \f  \r   *
0017460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017540    -   -   -   -   -   -   -   -   -   -   -  \r   *       H   a
0017560    v   e       a       T   r   i   d   e   n   t       c   o   m
0017600    m   a   n   d       t   o       e   x   e   c   u   t   e   .
0017620            K   P   t   r       =       K   C   B       p   o   i
0017640    n   t   e   r   .  \r   *       C   h   e   c   k       f   o
0017660  376 001  \0 207 340   r       c   o   r   r   e   c   t       s
0017700    e   a   l       a   n   d       n   e   w       d   r   i   v
0017720    e       s   e   l   e   c   t   .  \r   *   -   -   -   -   -
0017740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020020    -   -   -   -   -   -  \r   D   o   T   C   m   m   d   :  \r
0020040   \t   T   _       (   K   4   0   0   )   +   (   2   4   1   C
0020060    )   ;  \t  \t   *       V   M       6   4   1       =       c
0020100    u   r   r   e   n   t       d   r   i   v   e       n   u   m
0020120    b   e   r  \r  \t   F   e   t   c   h   _       T   ,       T
0020140    _       K   P   t   r   ;  \r  \t   K   A   d   d   r   _    
0020160    M   D   ,       T   _       T   +   (   4   C   )   ;  \t  \t
0020200    *       K   C   B   +   4       =       c   o   m   m   a   n
0020220    d       s   e   a   l  \r   D   o   T   C   m   m   d   1   :
0020240   \r  \t   T   _       (   F   e   t   c   h   _       T   )   -
0020260    (   2   C   )   ; 376 001  \0 351 300  \t  \t   *       K   C
0020300    B   +   2       =       d   r   i   v   e       n   u   m   b
0020320    e   r  \r  \t   F   e   t   c   h   _       T   ,       K   C
0020340    m   m   d   _       1   2   2   4   0   0   C   ,       T   _
0020360        M   D   ;       *       C   o   r   r   e   c   t       s
0020400    e   a   l       =       1   2   2   6   4   5   B  \r  \t   K
0020420    C   m   m   d   _       (   K   C   m   m   d   )       O   R
0020440        (   2   4   5   C   )   ;  \r  \t   K   C   m   m   d   _
0020460        (   K   C   m   m   d   )       X   O   R       T   ;  \r
0020500   \t   P   D   _       (   K   A   d   d   r   )       X   O   R
0020520        M   D   ,       K   A   d   d   r   _       M   D   ,    
0020540    *       C   o   m   p   a   r   e       n   e   w       d   r
0020560    i   v   e       w   i   t   h       c   u   r   r   e   n   t
0020600   \r  \t  \t   B   r   a   n   c   h   [   T   C   m   m   d   B
0020620    a   d   S   e   a   l   ,       A   L   U   #   0   ]   ;    
0020640    *       B   r   a   n   c   h       i   f       i   n   v   a
0020660    l   i   d       s   e   a   l  \r  \t 376 001  \0 371   L   T
0020700    _       (   K   P   t   r   )   +   (   5   C   )   ,       B
0020720    r   a   n   c   h   [   .   +   2   ,       A   L   U   =   0
0020740    ]   ;  \r  \t   T   _       (   K   4   0   0   )   +   (   2
0020760    4   1   C   )   ,       B   r   a   n   c   h   [   T   r   i
0021000    D   r   i   v   e   S   e   l   e   c   t   ]   ;       *    
0021020    N   e   w       d   r   i   v   e   ,       g   o       s   e
0021040    l   e   c   t       i   t  \r  \r   *   -   -   -   -   -   -
0021060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0021140    -   -   -   -   -  \r   *       R   u   n       d   o   w   n
0021160        t   h   e       c   o   m   m   a   n   d       l   i   s
0021200    t       i   n       t   h   e       K   C   B       a   n   d
0021220        c   o   n   s   t   r   u   c   t       t   h   e       s
0021240    i   n   g   l   e   -   w   o   r   d  \r   *       c   o   m
0021260    m   a   n   d       w   a   n   t   e   d       b   y     376
0021300  001  \0   ) 253   t   h   e       c   o   n   t   r   o   l   l
0021320    e   r   .           T       =       K   P   t   r   +   5   ,
0021340        K   C   m   m   d       =       0   .  \r   *       T   h
0021360    i   s       c   o   d   e       d   e   p   e   n   s       o
0021400    n       t   h   e       K   C   B       c   o   n   t   a   i
0021420    n   i   n   g       a   t       m   o   s   t       3       c
0021440    o   m   m   a   n   d       b   l   o   c   k   s   .  \r   *
0021460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0021540    -   -   -   -   -   -   -   -   -   -   -  \r   T   C   o   n
0021560    s   t   C   m   m   d   :  \r  \t   T   _       (   F   e   t
0021600    c   h   _       T   )   +   (   6   C   )   ;  \t  \t   *    
0021620    F   e   t   c   h       c   o   m   m   a   n   d       f   o
0021640    r       t   h   i   s       b   l   o   c   k  \r  \t   K   C
0021660    m   m   d   _       L   S   H   [   K   C   m   m   d   ,    
0021700    2   ]   ;  \r 376 001  \0   R 257  \t   K   T   e   m   p   0
0021720    _       P   D   _       M   D   ;  \r  \t   P   D   _       (
0021740    K   T   e   m   p   0   )       A   N   D       (   1   2   C
0021760    )   ,       B   r   a   n   c   h   [   T   C   o   n   s   t
0022000    C   m   m   d   E   n   d   ,       A   L   U   =   0   ]   ;
0022020   \r  \t   P   D   _       (   K   T   e   m   p   0   )       A
0022040    N   D       (   2   0   0   C   )   ,       B   r   a   n   c
0022060    h   [   T   R   e   s   e   t   R   e   s   t   o   r   e   ,
0022100        A   L   U   #   0   ]   ;  \r  \t   P   D   _       (   K
0022120    T   e   m   p   0   )       A   N   D       (   4   0   0   0
0022140    C   )   ,       B   r   a   n   c   h   [   .   +   2   ,    
0022160    A   L   U   =   0   ]   ;  \r  \t   K   C   m   m   d   _    
0022200    (   K   C   m   m   d   )       O   R       (   c   o   m   m
0022220    a   n   d   W   r   i   t   e   )   ,       B   r   a   n   c
0022240    h   [   T   C   o   n   s   t   C   m   m   d   ]   ;  \r  \t
0022260    B   r   a   n   c   h   [   .   +   2   ,       A   L   U   =
0022300    0   ]   ;  \r  \t   K   C   m   m 376 001  \0   R 245   d   _
0022320        (   K   C   m   m   d   )       O   R       (   c   o   m
0022340    m   a   n   d   C   o   m   p   a   r   e   )   ,       B   r
0022360    a   n   c   h   [   T   C   o   n   s   t   C   m   m   d   ]
0022400    ;  \r  \t   K   C   m   m   d   _       (   K   C   m   m   d
0022420    )       O   R       (   c   o   m   m   a   n   d   R   e   a
0022440    d   )   ,       B   r   a   n   c   h   [   T   C   o   n   s
0022460    t   C   m   m   d   ]   ;  \r  \r   *       E   n   d       o
0022500    f       c   o   m   m   a   n   d   s   .           L   e   f
0022520    t   -   s   h   i   f   t       K   C   m   m   d       s   o
0022540        t   h   a   t       t   h   e       f   i   r   s   t    
0022560    c   o   m   m   a   n   d       i   s       n   o   n   -   n
0022600    u   l   l   .  \r   *       (   C   a   r   e   f   u   l   :
0022620        a       d   o   -   n   o   t   h   i   n   g       c   o
0022640    m   m   a   n   d       w   i   l   l       l   e   a   v   e
0022660        K   C   m   m   d       e   n   t   i   r   e   l   y    
0022700    z   e   r   o   .   )  \r   *       C   o   m   p   a 376 001
0022720   \0 210 272   r   e       r   e   q   u   e   s   t   e   d    
0022740    c   y   l   i   n   d   e   r       w   i   t   h       c   u
0022760    r   r   e   n   t       o   n   e   .  \r   *       T   h   e
0023000    s   e       t   w   o       o   p   e   r   a   t   i   o   n
0023020    s       a   r   e       i   n   t   e   r   w   o   v   e   n
0023040        t   o       s   a   v   e       s   p   a   c   e       a
0023060    n   d       t   i   m   e   .  \r   T   C   o   n   s   t   C
0023100    m   m   d   E   n   d   :  \r  \t   T   _       (   K   4   0
0023120    0   )   +   (   2   4   2   C   )   ;  \t  \t   *       V   M
0023140        6   4   2       =       c   u   r   r   e   n   t       c
0023160    y   l   i   n   d   e   r  \r  \t   K   T   e   m   p   1   _
0023200        F   e   t   c   h   _       T   ;  \r  \t   K   T   e   m
0023220    p   3   _       (   F   e   t   c   h   _       K   P   t   r
0023240    )   +   1   ,       T   _       M   D   ;  \t   *       K   P
0023260    T   R   +   0       =       n   e   w       c   y   l   i   n
0023300    d   e   r   ;       A   L   U   #   0  \r  \t   P   D   _    
0023320    (   K   C 376 001  \0 311   O   m   m   d   )       A   N   D
0023340        (   3   0   0   C   )   ,       B   r   a   n   c   h   [
0023360    .   +   3   ,       A   L   U   =   0   ]   ;       *       B
0023400    r   a   n   c   h       i   f       d   o   -   n   o   t   h
0023420    i   n   g  \r  \t   P   D   _       T       X   O   R       M
0023440    D   ,       B   r   a   n   c   h   [   .   +   3   ,       A
0023460    L   U   #   0   ]   ;  \r  \t   K   C   m   m   d   _       L
0023500    S   H   [   K   C   m   m   d   ,       2   ]   ,       B   r
0023520    a   n   c   h   [   .   -   2   ]   ;       *       S   h   i
0023540    f   t       c   o   m   m   a   n   d       i   n   t   o    
0023560    p   o   s   i   t   i   o   n  \r  \t   P   D   _       T    
0023600    X   O   R       M   D   ;  \r  \t   F   e   t   c   h   _    
0023620    K   T   e   m   p   3   ,       T   _       M   D   ,       B
0023640    r   a   n   c   h   [   N   o   T   S   e   e   k   ,       A
0023660    L   U   =   0   ]   ;       *       K   B   L   K   +   1    
0023700    =       h   e   a   d   ,   ,   s   e   c   t   o   r  \r  \f
0023720   \r   *   -   -   -   -   -   - 376 001  \0   9 252   -   -   -
0023740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024020    -   -  \r   *       M   u   s   t       d   o       a       s
0024040    e   e   k   .           T       =       n   e   w       c   y
0024060    l   i   n   d   e   r       n   u   m   b   e   r   ,       K
0024100    T   e   m   p   1       =       6   4   2   B   .  \r   *   -
0024120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024200    -   -   -   -   -   -   -   -   -   -  \r  \t   S   t   o   r
0024220    e   _       K   T   e   m   p   1   ,       D   B   u   f   _
0024240        T   ,  \t  \t   *       U   p   d   a   t   e       c   u
0024260    r   r   e   n   t       c   y   l   i   n   d   e   r       i
0024300    n       V   M       6   4   2  \r  \t  \t   C   a   l   l   [
0024320    S   e   e   k   A   n   d   W   a   i   t   F   o 376 001  \0
0024340  254 301   r   R   e   a   d   y   ]   ;  \r  \r   *   -   -   -
0024360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024440    -   -   -   -   -   -   -   -  \r   *       N   o   w       s
0024460    e   l   e   c   t       t   h   e       h   e   a   d       a
0024500    n   d       w   a   i   t       f   o   r       t   h   e    
0024520    r   i   g   h   t       s   e   c   t   o   r   .  \r   *    
0024540    M   D       =       h   e   a   d       ,   ,       s   e   c
0024560    t   o   r   ;       K   T   e   m   p   3       =       K   P
0024600    t   r   +   1   .  \r   *   -   -   -   -   -   -   -   -   -
0024620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024700    -   -  \r   N   o   T   S   e   e   k   :  \r  \t   T   _    
0024720    M   D   ,       K   S   t   a   t   u   s   _       A   0   ;
0024740   \r  \t 376 001  \0 245 357   T   _       R   S   H   [   T   ,
0024760        1   0   ]   ,       K   A   d   d   r   _       M   D   ;
0025000   \r  \t   T   _       T       O   R       (   t   a   g   H   e
0025020    a   d   )   ,       C   a   l   l   [   S   e   n   d   T   a
0025040    g   ]   ;       *       S   e   n   d       t   h   e       h
0025060    e   a   d       t   a   g       c   o   m   m   a   n   d  \r
0025100   \t   T   _       (   K   A   d   d   r   )       A   N   D    
0025120    (   3   7   7   7   7   C   )   ;  \t   *       R   e   m   o
0025140    v   e       o   f   f   s   e   t       h   e   a   d       p
0025160    o   s   i   t   i   o   n   i   n   g  \r  \r  \t   P   D   _
0025200        K   C   m   m   d   ;  \t  \t  \t   *       d   o   -   n
0025220    o   t   h   i   n   g       c   o   m   m   a   n   d   ?  \r
0025240   \t   K   A   d   d   r   _       (   K   A   d   d   r   )    
0025260    A   N   D       (   3   7   7   C   )   ,       B   r   a   n
0025300    c   h   [   T   C   m   m   d   S   e   e   k   O   n   l   y
0025320    ,       A   L   U   =   0   ]   ;  \r  \r   *       S   t   o
0025340    r   e       h   e   a   d 376 001  \0   K 256   ,   ,   s   e
0025360    c   t   o   r       (   w   i   t   h       o   f   f   s   e
0025400    t       h   e   a   d       p   o   s   i   t   i   o   n   i
0025420    n   g       s   t   r   i   p   p   e   d       o   f   f   )
0025440   \r   *       b   a   c   k       i   n   t   o       K   P   t
0025460    r   +   1   ,       s   o       t   h   a   t       h   e   a
0025500    d   e   r       c   h   e   c   k   i   n   g       w   i   l
0025520    l       w   o   r   k       p   r   o   p   e   r   l   y  \r
0025540    *       w   h   e   n       o   f   f   s   e   t       h   e
0025560    a   d       p   o   s   i   t   i   o   n   i   n   g       i
0025600    s       b   e   i   n   g       d   o   n   e   .  \r  \t   S
0025620    t   o   r   e   _       K   T   e   m   p   3   ,       D   B
0025640    u   f   _       T   ;  \r  \r   T   W   a   i   t   S   e   c
0025660    t   o   r   :  \r  \t   S   C   a   l   l   [   W   a   i   t
0025700    F   o   r   S   e   c   t   o   r   ]   ;  \t  \t   *       R
0025720    e   t   u   r   n   s       w   i   t   h       T   I   O   A
0025740    [   D   i   s   k   C   o   n   t   r   o   l 376 001  \0 254
0025760  371   ]  \r  \t       B   r   a   n   c   h   [   T   B   a   d
0026000    S   e   c   t   o   r   ]   ;  \t  \t   *       +   1       r
0026020    e   t   u   r   n   :       f   a   i   l   e   d       t   o
0026040        f   i   n   d       s   e   c   t   o   r  \r  \r   *   -
0026060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026140    -   -   -   -   -   -   -   -   -   -  \r   *       I   s   s
0026160    u   e       t   h   e       c   o   m   m   a   n   d       t
0026200    o       t   h   e       c   o   n   t   r   o   l   l   e   r
0026220    .  \r   *       T   h   e   n       c   h   e   c   k       t
0026240    o       s   e   e       w   h   e   t   h   e   r       w   e
0026260        i   s   s   u   e   d       i   t       i   n       t   i
0026300    m   e   ,       a   n   d       i   f       n   o   t       r
0026320    e   v   o   k   e       i   t  \r   *       a   n   d       w
0026340    a   i   t       f   o   r       t   h   i   s       s   e   c
0026360    t 376 001  \0   K 226   o   r       t   o       c   o   m   e
0026400        a   r   o   u   n   d       a   g   a   i   n   .  \r   *
0026420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026500    -   -   -   -   -   -   -   -   -   -   -  \r  \t   O   u   t
0026520    p   u   t   _       K   C   m   m   d   ,       C   a   l   l
0026540    [   U   p   d   a   t   e   S   e   c   t   o   r   ]   ;    
0026560    *       R   e   t   u   r   n   s       w   i   t   h       T
0026600        =       S   e   c   t   o   r  \r  \t   P   D   _       (
0026620    K   A   d   d   r   )       X   O   R       T   ;  \t  \t   *
0026640        A   r   e       w   e       s   t   i   l   l       a   t
0026660        t   h   e       s   a   m   e       s   e   c   t   o   r
0026700    ?  \r  \t   T   _       A   0   ,       T   I   O   A   [   D
0026720    i   s   k   C   o   n   t   r   o   l   ]   ,       B   r   a
0026740    n   c   h   [   T   C   m   m   d   I   n   T   i   m   e   ,
0026760        A   L   U   =   0 376 001  \0 302 231   ]   ;  \r  \r  \t
0027000    O   u   t   p   u   t   _       T   ;  \t  \t  \t   *       N
0027020    o   t       i   n       t   i   m   e   .           T   h   i
0027040    s       c   l   e   a   r   s       A   c   t   i   v   e  \r
0027060   \t   O   u   t   p   u   t   _       T   ,       B   r   a   n
0027100    c   h   [   T   W   a   i   t   S   e   c   t   o   r   ]   ;
0027120   \t   *       T   h   i   s       r   e   l   o   a   d   s    
0027140    c   o   m   m   a   n   d       r   e   g   i   s   t   e   r
0027160   \r  \f  \r   *   -   -   -   -   -   -   -   -   -   -   -   -
0027200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0027240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0027260    *       N   o   w       d   o       t   h   e       d   a   t
0027300    a       t   r   a   n   s   f   e   r   s   .  \r   *   -   -
0027320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0027360    -   -   -   -   -   -   -   -   -   -   - 376 001  \0 336 237
0027400    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   T
0027420    C   m   m   d   I   n   T   i   m   e   :  \r  \t   K   S   t
0027440    a   t   u   s   _       A   0   ,       B   l   o   c   k   ,
0027460        C   a   l   l   [   U   p   d   a   t   e   S   e   c   t
0027500    o   r   ]   ;       *       B   l   o   c   k       t   i   l
0027520        s   t   a   r   t       o   f       s   e   c   t   o   r
0027540   \r  \t   K   C   m   m   d   _       R   C   Y   [   K   C   m
0027560    m   d   ,       K   C   m   m   d   ,       6   ]   ;  \t   *
0027600        H   e   a   d   e   r       c   o   m   m   a   n   d    
0027620    t   o       [   1   4   :   1   5   ]  \r   T   C   m   m   d
0027640    S   e   e   k   O   n   l   y   :  \r  \t   T   _       (   K
0027660    P   t   r   )   +   (   4   C   )   ;  \t  \t  \t   *       K
0027700    C   B   +   4       =       s   e   a   l       =       f   i
0027720    r   s   t       b   l   o   c   k       -   1  \r   T   R   e
0027740    s   e   t   F   i   n   i   s   h   :  \r  \t   K   T   e   m
0027760    p   3   _       T   ;  \r  \t   K   T   e   m   p   0   _    
0030000  376 001  \0 242  \f   m   u   f   f   R   e   a   d   E   r   r
0030020    o   r   ;  \r  \r   *       H   e   r   e       K   T   e   m
0030040    p   3       =       p   o   i   n   t   e   r       t   o    
0030060    s   t   a   t   u   s       w   o   r   d       f   o   r    
0030100    p   r   e   v   i   o   u   s       b   l   o   c   k   ;  \r
0030120    *       K   S   t   a   t   u   s       =       s   o   f   t
0030140    w   a   r   e       s   t   a   t   u   s       c   o   n   d
0030160    i   t   i   o   n   s       f   o   r       p   r   e   v   i
0030200    o   u   s       b   l   o   c   k       (   j   u   s   t    
0030220    E   C   C       e   r   r   o   r   )   ;  \r   *       K   T
0030240    e   m   p   0       =       m   u   f   f   R   e   a   d   E
0030260    r   r   o   r       o   r       m   u   f   f   W   r   i   t
0030300    e   E   r   r   o   r       a   s       a   p   p   r   o   p
0030320    r   i   a   t   e   .  \r   *       E   a   c   h       i   t
0030340    e   r   a   t   i   o   n       o   f       T   C   m   m   d
0030360    L   o   o   p       e   x   e   c   u   t   e   s       t   h
0030400    e       c   o   m 376 001  \0 020   W   m   a   n   d       i
0030420    n       K   C   m   m   d   [   1   4   :   1   5   ]  \r   *
0030440        a   n   d       l   e   f   t   -   c   y   c   l   e   s
0030460        K   C   m   m   d       2       b   i   t   s   .  \r   T
0030500    C   m   m   d   L   o   o   p   :  \r  \t   C   a   l   l   [
0030520    R   e   a   d   1   M   u   f   f   ]   ;  \t  \t   *       C
0030540    h   e   c   k       f   o   r       h   a   r   d   w   a   r
0030560    e       e   r   r   o   r   s  \r  \t   T   _       m   u   f
0030600    f   s   S   t   a   t   u   s   ,       K   T   e   m   p   0
0030620    ,       B   r   a   n   c   h   [   T   C   m   m   d   N   o
0030640    E   r   r   ,       R       e   v   e   n   ]   ;  \r  \r   *
0030660        T   h   e   r   e       w   a   s       a       h   a   r
0030700    d   w   a   r   e       e   r   r   o   r       i   n       t
0030720    h   e       p   r   e   v   i   o   u   s       b   l   o   c
0030740    k   .           R   e   a   d       e   n   t   i   r   e    
0030760    s   t   a   t   u   s       w   o   r   d   .  \r   *       B
0031000    i   t   s       0   -   1   1       o 376 001  \0   v 243   f
0031020        t   h   e       h   a   r   d   w   a   r   e       s   t
0031040    a   t   u   s       a   r   e       i   d   e   n   t   i   c
0031060    a   l       t   o       t   h   e       e   m   u   l   a   t
0031100    e   d       A   l   t   o       T   r   i   d   e   n   t  \r
0031120    *       s   t   a   t   u   s   .           B   i   t   s    
0031140    1   2       a   n   d       1   3       a   r   e       I   O
0031160    B   P   a   r   i   t   y   E   r   r       a   n   d       F
0031200    i   f   o   P   a   r   i   t   y   E   r   r   ,       w   h
0031220    i   c   h       a   r   e   n   '   t  \r   *       d   e   f
0031240    i   n   e   d       o   n       t   h   e       A   l   t   o
0031260    ;       w   e       m   a   p       t   h   e   s   e       t
0031300    o       R   e   a   d   D   a   t   a   E   r   r       s   o
0031320        t   h   a   t       t   h   e       s   o   f   t   w   a
0031340    r   e       w   i   l   l  \r   *       a   t       l   e   a
0031360    s   t       n   o   t   i   c   e       t   h   a   t       t
0031400    h   e   r   e       w   a   s       a   n       e   r   r 376
0031420  001  \0 275 030   o   r   .           (   T   h   e   s   e    
0031440    w   i   l   l       s   u   b   s   e   q   u   e   n   t   l
0031460    y       c   a   u   s   e       t   h   e  \r   *       c   o
0031500    m   m   a   n   d       c   h   a   i   n       t   o       b
0031520    e       a   b   o   r   t   e   d   .   )           B   i   t
0031540    s       1   4       a   n   d       1   5       a   r   e    
0031560    R   e   a   d   E   r   r   o   r       a   n   d       W   r
0031600    i   t   e   E   r   r   o   r   ,  \r   *       w   h   i   c
0031620    h       a   r   e       i   r   r   e   l   e   v   a   n   t
0031640        f   o   r       o   u   r       p   u   r   p   o   s   e
0031660    s       h   e   r   e   .  \r  \t   C   a   l   l   [   R   e
0031700    a   d   2   0   M   u   f   f   s   ]   ;  \r  \t   P   D   _
0031720        (   K   T   e   m   p   0   )       A   N   D       (   1
0031740    4   C   )   ;  \t  \t   *       I   O   B       o   r       F
0031760    i   f   o       P   E   ?  \r  \t   T   _       (   K   T   e
0032000    m   p   0   )       A   N   D       (   N   o   t   [   1   7
0032020    ]   C   )   , 376 001  \0 205 227       B   r   a   n   c   h
0032040    [   .   +   2   ,       A   L   U   =   0   ]   ;  \r  \t   T
0032060    _       T       O   R       (   1   0   0   C   )   ;  \t  \t
0032100   \t   *       Y   e   s   ,       a   l   s   o       s   e   t
0032120        R   e   a   d   D   a   t   a   E   r   r       b   i   t
0032140   \r  \t   K   S   t   a   t   u   s   _       (   K   S   t   a
0032160    t   u   s   )       O   R       T   ;  \t   *       M   e   r
0032200    g   e       w   i   t   h       s   o   f   t   w   a   r   e
0032220        s   t   a   t   u   s       b   i   t   s  \r   T   C   m
0032240    m   d   N   o   E   r   r   :  \r  \t   T   _       (   K   S
0032260    t   a   t   u   s   )   +   1   ;  \t  \t  \t   *       S   e
0032300    t       d   o   n   e       b   i   t  \r  \t   K   T   e   m
0032320    p   3   _       (   S   t   o   r   e   _       K   T   e   m
0032340    p   3   )   +   1   ,       D   B   u   f   _       T   ;    
0032360    *       S   t   o   r   e       s   t   a   t   u   s       w
0032400    o   r   d  \r  \r   *       N   o   w       d   i   s   p   a
0032420    t   c   h       o   n       t   h 376 001  \0 347 224   e    
0032440    n   e   x   t       c   o   m   m   a   n   d   .           N
0032460    o   t   e   :       K   T   e   m   p   0       c   o   n   t
0032500    a   i   n   s       h   a   r   d   w   a   r   e       s   t
0032520    a   t   u   s  \r   *       t   h   a   t       m   u   s   t
0032540        b   e       p   r   e   s   e   r   v   e   d       f   o
0032560    r       e   x   a   m   i   n   a   t   i   o   n       a   t
0032600        T   C   m   m   d   E   n   d   .  \r  \t   K   T   e   m
0032620    p   3   _       (   K   T   e   m   p   3   )   +   1   ;  \t
0032640   \t   *       S   k   i   p       o   v   e   r       c   o   m
0032660    m   a   n   d       w   o   r   d  \r  \t   K   T   e   m   p
0032700    3   _       (   F   e   t   c   h   _       K   T   e   m   p
0032720    3   )   +   1   ;  \t   *       F   e   t   c   h       w   o
0032740    r   d       c   o   u   n   t  \r  \t   K   T   e   m   p   3
0032760    _       (   F   e   t   c   h   _       K   T   e   m   p   3
0033000    )   +   1   ,       T   _       M   D   ;       *       F   e
0033020    t   c   h       m   e   m   o   r   y       a   d   d 376 001
0033040   \0   W  \0   r   e   s   s  \r  \t   D   s   k   M   A   d   d
0033060    r   _       (   0   S   )   -   T   ,       T   _       M   D
0033100    ;  \t   *       D   s   k   M   A   d   d   r   _       -   c
0033120    o   u   n   t  \r  \t   T   _       T   -   (   D   s   k   M
0033140    A   d   d   r   )   ,       M   e   m   B   a   s   e   _    
0033160    D   i   s   k   B   R   ;       *       T   _       m   e   m
0033200    o   r   y       a   d   d   r   e   s   s       +       c   o
0033220    u   n   t  \r  \t   B   D   i   s   p   a   t   c   h   _    
0033240    K   C   m   m   d   ;  \t  \t   *       D   i   s   p   a   t
0033260    c   h       o   n       K   C   m   m   d   [   1   4   :   1
0033300    5   ]  \r  \t   K   S   t   a   t   u   s   _       A   0   ,
0033320        B   R   L   o   _       T   ;  \t  \t   *       S   e   t
0033340        B   R       f   o   r       n   e   g   a   t   i   v   e
0033360        i   n   d   e   x   i   n   g  \r  \r   T   C   m   m   d
0033400    T   a   b   l   e   :       D   i   s   p   T   a   b   l   e
0033420    [   4   ,       7   ,       4   ]   ,  \r  \t   B   r   a   n
0033440    c   h   [ 376 001  \0 256 320   T   C   m   m   d   E   n   d
0033460    ]   ;  \t  \t   *       0       n   o       m   o   r   e    
0033500    c   o   m   m   a   n   d   s  \r  \t   T   _       1   C   ,
0033520        B   r   a   n   c   h   [   T   C   m   m   d   W   r   i
0033540    t   e   ]   ;  \t   *       1       w   r   i   t   e   ;    
0033560    T   _       s   y   n   c       p   a   t   t   e   r   n    
0033600    t   o       w   r   i   t   e  \r  \t   K   T   e   m   p   0
0033620    _       m   u   f   f   R   d   F   i   f   o   T   W   ,    
0033640    B   r   a   n   c   h   [   T   C   m   m   d   C   h   e   c
0033660    k   ]   ;       *       2       c   h   e   c   k  \r  \t   K
0033700    T   e   m   p   0   _       m   u   f   f   R   d   F   i   f
0033720    o   T   W   ,       B   r   a   n   c   h   [   T   C   m   m
0033740    d   R   e   a   d   ]   ;       *       3       r   e   a   d
0033760   \r  \f  \r   *   -   -   -   -   -   -   -   -   -   -   -   -
0034000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034040    -   -   -   -   -   -   -   - 376 001  \0 356 337   -   -   -
0034060    -   -   -   -  \r   *       W   r   i   t   e       c   o   m
0034100    m   a   n   d   .  \r   *       C   o   n   t   r   o   l   l
0034120    e   r       g   i   v   e   s       a       W   r   i   t   e
0034140    F   i   f   o   T   W       w   h   e   n       t   h   e   r
0034160    e       i   s       r   o   o   m       f   o   r       a   t
0034200        l   e   a   s   t       4       w   o   r   d   s  \r   *
0034220        i   n       t   h   e       F   i   f   o   .           D
0034240    o   i   n   g       a   n       O   u   t   p   u   t       t
0034260    h   a   t       r   e   d   u   c   e   s       t   h   e    
0034300    f   r   e   e       s   p   a   c   e       b   e   l   o   w
0034320        4       c   a   u   s   e   s  \r   *       W   r   i   t
0034340    e   F   i   f   o   T   W       t   o       b   e       d   r
0034360    o   p   p   e   d       a   t       T   0       o   f       t
0034400    h   e       4   t   h       c   y   c   l   e       a   f   t
0034420    e   r       t   h   e       O   u   t   p   u   t   ,  \r   *
0034440        s   o       a       B   l   o   c   k       o 376 001  \0
0034460    #   ;   n       t   h   e       5   t   h       c   y   c   l
0034500    e       w   i   l   l       t   a   k   e       e   f   f   e
0034520    c   t   .  \r   *       I       t   h   i   n   k       i   t
0034540        w   a   s       o   r   i   g   i   n   a   l   l   y    
0034560    i   n   t   e   n   d   e   d       t   h   a   t       a    
0034600    3   -   i   n   s   t   r   u   c   t   i   o   n   ,       2
0034620    -   w   o   r   d       l   o   o   p  \r   *       b   e    
0034640    p   o   s   s   i   b   l   e   :  \t  \t  \t   O   u   t   p
0034660    u   t   ;       O   u   t   p   u   t   ;       B   l   o   c
0034700    k   ;  \r   *       U   n   f   o   r   t   u   n   a   t   e
0034720    l   y   ,       t   h   i   s       d   o   e   s   n   '   t
0034740        w   o   r   k       i   f       t   h   e       s   e   c
0034760    o   n   d       O   u   t   p   u   t       c   a   u   s   e
0035000    s       t   h   e       w   a   k   e   u   p  \r   *       t
0035020    o       b   e       d   r   o   p   p   e   d   ,       b   e
0035040    c   a   u   s   e       i   t       i   s       d   r   o   p
0035060    p   e 376 001  \0 022 210   d       s   o       l   a   t   e
0035100        t   h   a   t       w   e       w   i   l   l       g   o
0035120        a   r   o   u   n   d  \r   *       t   h   e       l   o
0035140    o   p       t   w   i   c   e       m   o   r   e   ,       o
0035160    u   t   p   u   t   t   i   n   g       4       w   o   r   d
0035200    s       w   h   e   n       t   h   e   r   e       i   s    
0035220    r   o   o   m       f   o   r       o   n   l   y       3   .
0035240   \r   *       T   h   u   s       t   h   e       m   i   n   i
0035260    m   a   l       l   o   o   p       i   s   :  \t   {   O   u
0035300    t   p   u   t   ;       O   u   t   p   u   t   ;       N   o
0035320    p   }   ;       B   l   o   c   k   ;  \r   *       w   h   e
0035340    r   e       t   h   e       i   n   s   t   r   u   c   t   i
0035360    o   n   s       i   n   s   i   d   e       {       }       m
0035400    a   y       b   e       p   e   r   m   u   t   e   d       i
0035420    n       a   n   y       w   a   y   .  \r   *       A   n    
0035440    e   q   u   i   v   a   l   e   n   t       l   o   o   p    
0035460    i   s   :  \t   O   u   t 376 001  \0 240   o   p   u   t   ;
0035500        B   l   o   c   k   ;  \r   *       a   n   d       i   t
0035520        t   a   k   e   s       l   e   s   s       m   i   c   r
0035540    o   c   o   d   e   .  \r   *       D   u   e       t   o    
0035560    c   o   n   t   r   o   l       s   e   c   t   i   o   n    
0035600    b   u   g   s   ,       w   e       m   u   s   t       n   o
0035620    t       B   l   o   c   k       o   n       a       m   e   m
0035640    o   r   y       r   e   f   e   r   e   n   c   e  \r   *    
0035660    i   f       t   h   e       t   a   s   k       w   a   k   e
0035700    u   p       m   i   g   h   t       b   e       d   r   o   p
0035720    p   e   d       a   t       T   0       o   f       t   h   a
0035740    t       i   n   s   t   r   u   c   t   i   o   n   .  \r   *
0035760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0036040    -   -   -   -   -   -   -   -   -   -   -  \r   T   C   m   m
0036060    d   W   r   i   t   e   :  \r  \t   T   I   O 376 001  \0   Q
0036100  035   A   [   D   i   s   k   D   a   t   a   ]   ;  \r  \t   D
0036120    s   k   M   A   d   d   r   _       (   F   e   t   c   h   _
0036140        D   s   k   M   A   d   d   r   )   +   1   ,       O   u
0036160    t   p   u   t   _       T   ;       *       O   u   t   p   u
0036200    t       s   y   n   c       p   a   t   t   e   r   n  \r  \r
0036220   \t   D   s   k   M   A   d   d   r   _       (   F   e   t   c
0036240    h   _       D   s   k   M   A   d   d   r   )   +   1   ,    
0036260    O   u   t   p   u   t   _       M   D   ;  \r  \t   B   l   o
0036300    c   k   ,       B   r   a   n   c   h   [   .   -   1   ,    
0036320    A   L   U   <   0   ]   ;  \r  \r  \t   O   u   t   p   u   t
0036340    _       M   D   ;  \t  \t  \t   *       O   u   t   p   u   t
0036360        l   a   s   t       w   o   r   d  \r  \r   *       C   h
0036400    a   n   g   i   n   g       T   I   O   A       f   r   o   m
0036420        D   i   s   k   D   a   t   a       t   o       D   i   s
0036440    k   C   o   n   t   r   o   l       d   i   s   a   b   l   e
0036460    s       W   r   i   t   e   F   i   f   o   T   W   .  \r   *
0036500      376 001  \0 364   7   T   h   e       w   a   k   e   u   p
0036520        i   s       r   e   m   o   v   e   d       a   t       T
0036540    0       o   f       t   h   e       t   h   i   r   d       i
0036560    n   s   t   r   u   c   t   i   o   n       a   f   t   e   r
0036600        t   h   e       o   n   e       t   h   a   t  \r   *    
0036620    c   h   a   n   g   e   s       T   I   O   A   ,       s   o
0036640        t   h   e       e   a   r   l   i   e   s   t       w   e
0036660        c   a   n       b   l   o   c   k       i   s       t   h
0036700    e       f   o   u   r   t   h       i   n   s   t   r   u   c
0036720    t   i   o   n   .  \r   *       H   a   r   d   w   a   r   e
0036740        g   e   n   e   r   a   t   e   s       o   n   e       m
0036760    o   r   e       W   r   i   t   e   F   i   f   o   T   W    
0037000    w   h   e   n       i   t       i   s       d   o   n   e    
0037020    w   i   t   h       t   h   i   s       b   l   o   c   k   .
0037040   \r  \t   T   I   O   A   [   D   i   s   k   C   o   n   t   r
0037060    o   l   ]   ;  \r  \t   K   T   e   m   p   0   _       m   u
0037100    f   f   W   r   i   t 376 001  \0 335 006   e   E   r   r   o
0037120    r   ;  \t  \t   *       S   e   l   e   c   t       a   p   p
0037140    r   o   p   r   i   a   t   e       s   t   a   t   u   s    
0037160    b   i   t  \r  \t   K   C   m   m   d   _       L   C   Y   [
0037200    K   C   m   m   d   ,       K   C   m   m   d   ,       2   ]
0037220    ;  \t   *       S   h   i   f   t       c   o   m   m   a   n
0037240    d       f   o   r       n   e   x   t       b   l   o   c   k
0037260   \r  \t   K   T   e   m   p   3   _       (   K   T   e   m   p
0037300    3   )   +   1   ,       M   e   m   B   a   s   e   _       I
0037320    O   B   R   ;       *       S   k   i   p       o   v   e   r
0037340        E   C   C       w   o   r   d   s  \r  \t   K   T   e   m
0037360    p   3   _       (   K   T   e   m   p   3   )   +   1   ,    
0037400    B   l   o   c   k   ,       B   r   a   n   c   h   [   T   C
0037420    m   m   d   L   o   o   p   ]   ;       *       W   a   i   t
0037440        t   i   l       w   r   i   t   e       d   o   n   e  \r
0037460   \r   *   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0037500    -   -   -   -   -   -   -   -   -   -   - 376 001  \0   t 267
0037520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0037560    -   -  \r   *       R   e   a   d       c   o   m   m   a   n
0037600    d   .  \r   *       C   o   n   t   r   o   l   l   e   r    
0037620    g   i   v   e   s       a       R   e   a   d   F   i   f   o
0037640    T   W       w   h   e   n       t   h   e   r   e       a   r
0037660    e       a   t       l   e   a   s   t       3       w   o   r
0037700    d   s       i   n       t   h   e       F   i   f   o  \r   *
0037720        (   a   c   t   u   a   l   l   y   ,       2       i   n
0037740        t   h   e       F   i   f   o       a   n   d       1    
0037760    i   n       O   u   t   R   e   g   )   .           D   o   i
0040000    n   g       a   n       I   n   p   u   t       t   h   a   t
0040020        r   e   d   u   c   e   s  \r   *       t   h   e       c
0040040    o   u   n   t       b   e   l   o   w       3       c   a   u
0040060    s   e   s       R   e   a   d   F   i   f   o   T   W       t
0040100    o       b   e       d   r   o   p   p   e   d       a   t    
0040120  376 001  \0   /   y   T   0       o   f       t   h   e       4
0040140    t   h       c   y   c   l   e  \r   *       a   f   t   e   r
0040160        t   h   e       I   n   p   u   t   ,       s   o       a
0040200        B   l   o   c   k       o   n       t   h   e       5   t
0040220    h       c   y   c   l   e       w   i   l   l       t   a   k
0040240    e       e   f   f   e   c   t   .  \r   *       T   h   u   s
0040260        t   h   e       m   i   n   i   m   a   l       l   o   o
0040300    p       i   s   :  \t   I   n   p   u   t   ;       B   l   o
0040320    c   k   ;  \r   *       D   u   e       t   o       c   o   n
0040340    t   r   o   l       s   e   c   t   i   o   n       b   u   g
0040360    s   ,       w   e       m   u   s   t       n   o   t       B
0040400    l   o   c   k       o   n       a       m   e   m   o   r   y
0040420        r   e   f   e   r   e   n   c   e  \r   *       i   f    
0040440    t   h   e       t   a   s   k       w   a   k   e   u   p    
0040460    m   i   g   h   t       b   e       d   r   o   p   p   e   d
0040500        a   t       T   0       o   f       t   h   a   t       i
0040520    n   s   t   r   u 376 001  \0 037   W   c   t   i   o   n   .
0040540   \r   *   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0040560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040620    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   T   C
0040640    m   m   d   R   e   a   d   :  \r  \t   D   s   k   M   A   d
0040660    d   r   _       (   D   s   k   M   A   d   d   r   )   -   1
0040700    ,       B   l   o   c   k   ,       C   a   l   l   [   R   e
0040720    a   d   1   M   u   f   f   ]   ;  \r  \t   K   T   e   m   p
0040740    0   ,       T   I   O   A   [   D   i   s   k   D   a   t   a
0040760    ]   ,       B   r   a   n   c   h   [   T   R   e   a   d   B
0041000    a   d   T   W   ,       R       e   v   e   n   ]   ;  \r  \t
0041020    P   D   _       D   s   k   M   A   d   d   r   ,       T   _
0041040        I   n   p   u   t   ,       B   r   a   n   c   h   [   .
0041060    +   2   ]   ;       *       C   a   n   '   t       d   o    
0041100    b   a   c   k   -   t   o   -   b   a   c   k       I   n   p
0041120    u   t   s  \r  \r  \t   P   D   _     376 001  \0 226 256   (
0041140    S   t   o   r   e   _       D   s   k   M   A   d   d   r   )
0041160    +   1   ,       D   B   u   f   _       T   ,       T   _    
0041200    I   n   p   u   t   ;  \r  \t   D   s   k   M   A   d   d   r
0041220    _       (   D   s   k   M   A   d   d   r   )   +   1   ,    
0041240    B   l   o   c   k   ,       B   r   a   n   c   h   [   .   -
0041260    1   ,       A   L   U   #   0   ]   ;  \r  \r   *       A    
0041300    r   e   a   d       b   l   o   c   k       e   n   d   s    
0041320    w   i   t   h       2       g   a   r   b   a   g   e       w
0041340    o   r   d   s       a   n   d       2       E   C   C       w
0041360    o   r   d   s   .           W   h   e   n       w   e       f
0041400    a   l   l       o   u   t  \r   *       o   f       t   h   e
0041420        m   a   i   n       l   o   o   p   ,       w   e       h
0041440    a   v   e       a   l   r   e   a   d   y       r   e   a   d
0041460        t   h   e       f   i   r   s   t       g   a   r   b   a
0041500    g   e       w   o   r   d   .  \r  \t   C   a   l   l   [   R
0041520    e   a   d   E   C   C   ]   ;  \t  \t  \t   *       R   e 376
0041540  001  \0   ; 372   t   u   r   n   s       w   i   t   h       E
0041560    C   C       t   e   s   t       h   a   n   g   i   n   g  \r
0041600   \t   B   r   a   n   c   h   [   T   R   e   a   d   C   h   e
0041620    c   k   E   n   d   ]   ;  \t  \t   *       R   e   m   a   i
0041640    n   d   e   r       s   a   m   e       a   s       c   h   e
0041660    c   k       c   a   s   e  \r  \f  \r   *   -   -   -   -   -
0041700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0041760    -   -   -   -   -   -  \r   *       C   h   e   c   k       c
0042000    o   m   m   a   n   d   .  \r   *       C   o   n   t   r   o
0042020    l   l   e   r       g   i   v   e   s       a       R   e   a
0042040    d   F   i   f   o   T   W       w   h   e   n       t   h   e
0042060    r   e       i   s       a   t       l   e   a   s   t       1
0042100        w   o   r   d       i   n       t   h   e       F   i   f
0042120    o  \r   *       (   a   c   t   u   a   l   l   y   ,       O
0042140    u   t   R   e 376 001  \0   S 346   g       f   u   l   l    
0042160    r   e   g   a   r   d   l   e   s   s       o   f       F   i
0042200    f   o   )   .           D   o   i   n   g       a   n       I
0042220    n   p   u   t       t   h   a   t       e   m   p   t   i   e
0042240    s  \r   *       t   h   e       F   i   f   o       c   a   u
0042260    s   e   s       R   e   a   d   F   i   f   o   T   W       t
0042300    o       b   e       d   r   o   p   p   e   d       a   t    
0042320    T   0       o   f       t   h   e       2   n   d       c   y
0042340    c   l   e  \r   *       a   f   t   e   r       t   h   e    
0042360    I   n   p   u   t   ,       s   o       a       B   l   o   c
0042400    k       o   n       t   h   e       3   r   d       c   y   c
0042420    l   e       w   i   l   l       t   a   k   e       e   f   f
0042440    e   c   t   .  \r   *       T   h   u   s       t   h   e    
0042460    m   i   n   i   m   a   l       l   o   o   p       i   s   :
0042500   \t   I   n   p   u   t   ;       N   o   p   ;       N   o   p
0042520    ;       B   l   o   c   k   ;  \r   *       D   u   e       t
0042540    o       c   o   n   t   r   o   l 376 001  \0 347 300       s
0042560    e   c   t   i   o   n       b   u   g   s   ,       w   e    
0042600    m   u   s   t       n   o   t       B   l   o   c   k       o
0042620    n       a       m   e   m   o   r   y       r   e   f   e   r
0042640    e   n   c   e  \r   *       i   f       t   h   e       t   a
0042660    s   k       w   a   k   e   u   p       m   i   g   h   t    
0042700    b   e       d   r   o   p   p   e   d       a   t       T   0
0042720        o   f       t   h   a   t       i   n   s   t   r   u   c
0042740    t   i   o   n   .  \r   *   -   -   -   -   -   -   -   -   -
0042760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043040    -   -  \r   T   C   m   m   d   C   h   e   c   k   :  \r  \t
0043060    D   s   k   M   A   d   d   r   _       (   F   e   t   c   h
0043100    _       D   s   k   M   A   d   d   r   )   +   1   ,       B
0043120    l   o   c   k   ,       C   a   l   l   [   R   e   a   d   1
0043140    M   u   f   f   ]   ;  \r  \t   K   T   e   m   p   0 376 001
0043160   \0 326   n   _       A   0   ,       T   I   O   A   [   D   i
0043200    s   k   D   a   t   a   ]   ,       B   r   a   n   c   h   [
0043220    T   C   h   e   c   k   B   a   d   T   W   ,       R       e
0043240    v   e   n   ]   ;  \r  \r   *       T   h   e       f   i   r
0043260    s   t       t   w   o       w   o   r   d   s       a   r   e
0043300        t   r   e   a   t   e   d       d   i   f   f   e   r   e
0043320    n   t   l   y       f   r   o   m       t   h   e       r   e
0043340    s   t   :  \r   *       t   h   e   y       a   r   e       A
0043360    L   W   A   Y   S       c   h   e   c   k   e   d       a   n
0043400    d       a   r   e       N   E   V   E   R       s   t   o   r
0043420    e   d   .           H   a   n   d   l   e       t   h   e   s
0043440    e       i   n   -   l   i   n   e   .  \r   *       M   D    
0043460    =       f   i   r   s   t       w   o   r   d       f   r   o
0043500    m       m   e   m   o   r   y   ;       K   T   e   m   p   0
0043520        a   c   c   u   m   u   l   a   t   e   s       t   h   e
0043540        O   R       o   f       a   l   l       d   i   f   f   e
0043560    r   e   n 376 001  \0 002 376   c   e   s   .  \r  \t   T   _
0043600        I   n   p   u   t   ;  \r  \t   T   _       T       X   O
0043620    R       M   D   ;  \r  \t   K   T   e   m   p   0   _       (
0043640    K   T   e   m   p   0   )       O   R       T   ;  \r  \t   D
0043660    s   k   M   A   d   d   r   _       (   F   e   t   c   h   _
0043700        D   s   k   M   A   d   d   r   )   +   1   ,       B   l
0043720    o   c   k   ;  \r  \r  \t   T   _       I   n   p   u   t   ;
0043740   \r  \t   T   _       T       X   O   R       M   D   ,       D
0043760    s   k   M   A   d   d   r   ,  \r  \t  \t   B   r   a   n   c
0044000    h   [   T   C   h   e   c   k   L   a   s   t   ,       R   >
0044020    =   0   ]   ;       *       B   r   a   n   c   h       i   f
0044040        o   n   l   y       2       w   o   r   d   s       i   n
0044060        b   l   o   c   k  \r  \t   K   T   e   m   p   0   _    
0044100    (   K   T   e   m   p   0   )       O   R       T   ;  \r  \t
0044120    D   s   k   M   A   d   d   r   _       (   F   e   t   c   h
0044140    _       D   s   k   M   A   d   d   r   )   +   1   ,       B
0044160    l   o   c   k   ,       B   r 376 001  \0 260   !   a   n   c
0044200    h   [   T   C   h   e   c   k   L   o   o   p   ]   ;  \r  \r
0044220    T   C   h   e   c   k   L   a   s   t   :  \r  \t   K   T   e
0044240    m   p   0   _       (   K   T   e   m   p   0   )       O   R
0044260        T   ,       B   r   a   n   c   h   [   T   C   h   e   c
0044300    k   D   o   n   e   ]   ;  \r  \r   *       M   a   i   n    
0044320    c   h   e   c   k       l   o   o   p       -   -       4    
0044340    c   y   c   l   e   s       p   e   r       w   o   r   d   .
0044360   \r   *       A   t       t   h   e       t   o   p       o   f
0044400        t   h   e       l   o   o   p   ,       M   D       =    
0044420    t   h   e       w   o   r   d       f   e   t   c   h   e   d
0044440        f   r   o   m       m   e   m   o   r   y       d   u   r
0044460    i   n   g       t   h   e  \r   *       p   r   e   v   i   o
0044500    u   s       c   y   c   l   e   ;       K   T   e   m   p   0
0044520        a   c   c   u   m   u   l   a   t   e   s       t   h   e
0044540        O   R       o   f       a   l   l       d   i   f   f   e
0044560    r   e   n   c   e   s   ;  \r   *       C   a   r 376 001  \0
0044600  217  \0   r   y       i   s       s   e   t       i   f   f    
0044620    t   h   i   s       i   s       t   h   e       l   a   s   t
0044640        i   t   e   r   a   t   i   o   n   .  \r   T   C   h   e
0044660    c   k   L   o   o   p   :  \r  \t   P   D   _       M   D   ,
0044700        T   _       K   T   e   m   p   1   _       I   n   p   u
0044720    t   ;  \r  \t   T   _       T       X   O   R       M   D   ,
0044740        B   r   a   n   c   h   [   T   C   h   e   c   k   S   t
0044760    o   r   e   ,       A   L   U   =   0   ]   ;       *       D
0045000    o   n   '   t       c   h   e   c   k       i   f       M   D
0045020    =   0  \r  \t   K   T   e   m   p   0   _       (   K   T   e
0045040    m   p   0   )       O   R       T   ,       B   r   a   n   c
0045060    h   [   .   +   2   ,       C   a   r   r   y   ]   ;  \r  \t
0045100    D   s   k   M   A   d   d   r   _       (   F   e   t   c   h
0045120    _       D   s   k   M   A   d   d   r   )   +   1   ,       B
0045140    l   o   c   k   ,       *       M   o   r   e       t   o    
0045160    g   o   ,       f   e   t   c   h       n   e   x   t  \r  \t
0045200   \t   D 376 001  \0   g 207   b   l   B   r   a   n   c   h   [
0045220    T   C   h   e   c   k   L   o   o   p   ,       T   C   h   e
0045240    c   k   E   r   r   o   r   ,       A   L   U   =   0   ]   ;
0045260   \r  \t   D   s   k   M   A   d   d   r   _       (   D   s   k
0045300    M   A   d   d   r   )   +   1   ,  \t  \t   *       L   a   s
0045320    t       w   o   r   d   ,       c   h   e   c   k       i   t
0045340        a   n   d       d   o   n   e  \r  \t  \t   D   b   l   B
0045360    r   a   n   c   h   [   T   C   h   e   c   k   D   o   n   e
0045400    ,       T   C   h   e   c   k   E   r   r   o   r   1   ,    
0045420    A   L   U   =   0   ]   ;  \r  \r   *       I   f       a    
0045440    c   h   e   c   k       e   r   r   o   r       o   c   c   u
0045460    r   s   ,       s   t   o   r   e       t   h   e       d   a
0045500    t   a       t   h   a   t       w   a   s       a   c   t   u
0045520    a   l   l   y       r   e   a   d   ,  \r   *       a   n   d
0045540        t   h   e   n       j   u   s   t       r   e   a   d    
0045560    t   h   e       r   e   s   t       o   f       t   h   e    
0045600    b   l   o   c   k   .  \r 376 001  \0 277 347   T   C   h   e
0045620    c   k   E   r   r   o   r   :  \r  \t   D   s   k   M   A   d
0045640    d   r   _       (   D   s   k   M   A   d   d   r   )   -   1
0045660    ,       B   r   a   n   c   h   [   T   C   h   e   c   k   S
0045700    t   o   r   e   ]   ;  \r   T   C   h   e   c   k   E   r   r
0045720    o   r   1   :  \r  \t   D   s   k   M   A   d   d   r   _    
0045740    (   D   s   k   M   A   d   d   r   )   -   1   ,       B   r
0045760    a   n   c   h   [   T   C   h   e   c   k   S   t   o   r   e
0046000    ]   ;  \r  \r   *       A   s       s   o   o   n       a   s
0046020        w   e       e   n   c   o   u   n   t   e   r       a    
0046040    z   e   r   o       w   o   r   d       f   r   o   m       m
0046060    e   m   o   r   y   ,       s   t   o   p       c   h   e   c
0046100    k   i   n   g       a   n   d  \r   *       j   u   s   t    
0046120    s   t   o   r   e       t   h   e       d   i   s   k       d
0046140    a   t   a       i   n   t   o       m   e   m   o   r   y   .
0046160   \r   T   N   o   C   h   e   c   k   L   o   o   p   :  \r  \t
0046200    K   T   e   m   p   1   _       I   n   p   u 376 001  \0   s
0046220    >   t   ;  \r   T   C   h   e   c   k   S   t   o   r   e   :
0046240   \r  \t   T   _       (   D   s   k   M   A   d   d   r   )   -
0046260    1   ,       B   r   a   n   c   h   [   T   C   h   e   c   k
0046300    S   t   o   r   e   L   a   s   t   ,       R   >   =   0   ]
0046320    ;  \r  \t   D   s   k   M   A   d   d   r   _       (   F   e
0046340    t   c   h   _       D   s   k   M   A   d   d   r   )   +   1
0046360    ;  \r  \t   S   t   o   r   e   _       T   ,       D   B   u
0046400    f   _       K   T   e   m   p   1   ,       B   l   o   c   k
0046420    ,       B   r   a   n   c   h   [   T   N   o   C   h   e   c
0046440    k   L   o   o   p   ]   ;  \r  \r   T   C   h   e   c   k   S
0046460    t   o   r   e   L   a   s   t   :  \r  \t   S   t   o   r   e
0046500    _       T   ,       D   B   u   f   _       K   T   e   m   p
0046520    1   ;  \r  \f  \r   *       C   h   e   c   k       c   o   m
0046540    m   a   n   d       (   c   o   n   t   '   d   )  \r  \r   *
0046560        H   e   r   e       w   h   e   n       d   o   n   e    
0046600    c   h   e   c   k   i   n   g   .           K   T   e   m   p
0046620    0 376 001  \0 254 016       i   s       n   o   n   z   e   r
0046640    o       i   f       t   h   e   r   e       w   e   r   e    
0046660    a   n   y       d   i   f   f   e   r   e   n   c   e   s   .
0046700   \r   T   C   h   e   c   k   D   o   n   e   :  \r  \t   P   D
0046720    _       K   T   e   m   p   0   ,       T   I   O   A   [   D
0046740    i   s   k   M   u   f   f   ]   ;  \r  \t   T   _       c   l
0046760    e   a   r   C   o   m   p   a   r   e   E   r   r   ,       B
0047000    r   a   n   c   h   [   .   +   2   ,       A   L   U   #   0
0047020    ]   ;  \r  \r   *       N   o       d   i   f   f   e   r   e
0047040    n   c   e   s   :       c   l   e   a   r       C   o   m   p
0047060    a   r   e   E   r   r   .           N   o   t   e       t   h
0047100    a   t       i   f       a       c   o   m   p   a   r   e    
0047120    e   r   r   o   r       o   c   c   u   r   r   e   d  \r   *
0047140        i   n       a   n       e   a   r   l   i   e   r       b
0047160    l   o   c   k   ,       R   e   a   d   D   a   t   a   E   r
0047200    r       w   i   l   l       b   e       s   e   t   ,       a
0047220    n   d       t   h   i 376 001  \0 367 317   s       w   i   l
0047240    l       N   O   T       c   l   e   a   r       i   t   .  \r
0047260   \t   O   u   t   p   u   t   _       T   ,       B   r   a   n
0047300    c   h   [   .   +   2   ]   ;  \r  \r   *       C   h   e   c
0047320    k       e   r   r   o   r       o   c   c   u   r   r   e   d
0047340    .           S   e   t       C   o   m   p   a   r   e       E
0047360    r   r   o   r       s   t   a   t   u   s       b   i   t    
0047400    h   e   r   e       s   o       t   h   a   t       t   h   e
0047420   \r   *       e   r   r   o   r       i   s       p   r   o   p
0047440    e   r   l   y       r   e   p   o   r   t   e   d       i   n
0047460        t   h   e       s   t   a   t   u   s       f   o   r    
0047500    t   h   i   s       b   l   o   c   k   .  \r   *       T   h
0047520    e       e   r   r   o   r       w   i   l   l       b   e    
0047540    c   a   p   t   u   r   e   d       b   y       t   h   e    
0047560    h   a   r   d   w   a   r   e       (   a   s       R   e   a
0047600    d   D   a   t   a   E   r   r   )       a   t       t   h   e
0047620   \r   *       b   e   g   i   n   n   i   n 376 001  \0 263 247
0047640    g       o   f       t   h   e       n   e   x   t       b   l
0047660    o   c   k   ,       a   n   d       w   i   l   l       b   e
0047700        r   e   p   o   r   t   e   d       i   n       t   h   e
0047720        s   t   a   t   u   s       f   o   r  \r   *       a   l
0047740    l       s   u   b   s   e   q   u   e   n   t       b   l   o
0047760    c   k   s       u   n   t   i   l       t   h   e       s   o
0050000    f   t   w   a   r   e       i   s   s   u   e   s       a    
0050020    R   e   s   e   t   .  \r  \t   K   S   t   a   t   u   s   _
0050040        (   K   S   t   a   t   u   s   )       O   R       (   1
0050060    0   0   C   )   ;  \r  \r   *       N   o   w       c   o   n
0050100    t   i   n   u   e       o   n       a   n   d       r   e   a
0050120    d       t   h   e       E   C   C   .  \r  \t   T   I   O   A
0050140    [   D   i   s   k   D   a   t   a   ]   ,       B   l   o   c
0050160    k   ;  \r  \t   C   a   l   l   [   C   h   e   c   k   E   C
0050200    C   ]   ;  \r  \r   *       A   t       t   h   i   s       p
0050220    o   i   n   t   ,       t   h   e       E   C   C       w   o
0050240  376 001  \0   V 214   r   d   s       a   r   e       i   n    
0050260    T       a   n   d       K   T   e   m   p   0   .  \r   *    
0050300    T   h   i   s       i   s       t   h   e       t   a   i   l
0050320        o   f       b   o   t   h       r   e   a   d   i   n   g
0050340        a   n   d       c   h   e   c   k   i   n   g   .  \r   *
0050360        K   T   e   m   p   3       p   o   i   n   t   s       t
0050400    o       f   i   r   s   t       E   C   C       w   o   r   d
0050420        f   o   r       t   h   i   s       b   l   o   c   k   .
0050440   \r   T   R   e   a   d   C   h   e   c   k   E   n   d   :  \r
0050460   \t   P   D   _       (   K   T   e   m   p   0   )       O   R
0050500        T   ,       M   e   m   B   a   s   e   _       I   O   B
0050520    R   ;  \r  \t   T   _       (   S   t   o   r   e   _       K
0050540    T   e   m   p   3   )   +   1   ,       D   B   u   f   _    
0050560    T   ,       B   r   a   n   c   h   [   .   +   2   ,       A
0050600    L   U   =   0   ]   ;       *       S   t   o   r   e       E
0050620    C   C   0  \r  \t   K   S   t   a   t   u   s   _       (   K
0050640    S   t   a   t   u 376 001  \0 362   +   s   )       O   R    
0050660    (   1   0   C   )   ;  \t   *       E   C   C       e   r   r
0050700    o   r  \r  \t   T   _       (   S   t   o   r   e   _       T
0050720    )   +   1   ,       D   B   u   f   _       K   T   e   m   p
0050740    0   ;       *       S   t   o   r   e       E   C   C   1  \r
0050760   \t   K   C   m   m   d   _       L   C   Y   [   K   C   m   m
0051000    d   ,       K   C   m   m   d   ,       2   ]   ;  \t   *    
0051020    S   h   i   f   t       c   o   m   m   a   n   d       f   o
0051040    r       n   e   x   t       b   l   o   c   k  \r  \t   K   T
0051060    e   m   p   0   _       m   u   f   f   R   e   a   d   E   r
0051100    r   o   r   ;  \r  \t   K   T   e   m   p   3   _       T   ,
0051120        M   e   m   B   a   s   e   _       I   O   B   R   ,    
0051140    B   r   a   n   c   h   [   T   C   m   m   d   L   o   o   p
0051160    ]   ;  \r  \r   *       I   f       a       n   o   n   -   F
0051200    i   f   o       T   W       o   c   c   u   r   s       a   t
0051220        t   h   e       b   e   g   i   n   n   i   n   g       o
0051240    f       r   e   a   d   i   n   g     376 001  \0 257 374   o
0051260    r       c   h   e   c   k   i   n   g   ,       m   o   s   t
0051300   \r   *       l   i   k   e   l   y       t   h   e       d   a
0051320    t   a       w   a   s       s   o       b   a   d       t   h
0051340    a   t       t   h   e       c   o   n   t   r   o   l   l   e
0051360    r       w   a   s       u   n   a   b   l   e       t   o    
0051400    l   o   c   k       o   n   t   o       i   t  \r   *       b
0051420    e   f   o   r   e       r   e   a   c   h   i   n   g       t
0051440    h   e       e   n   d       o   f       t   h   e       s   e
0051460    c   t   o   r   .           R   e   p   o   r   t       t   h
0051500    i   s       a   s       a       S   e   c   t   o   r   O   v
0051520    e   r   f   l   o   w   .  \r   T   R   e   a   d   B   a   d
0051540    T   W   :  \r  \t   N   o   p   ;  \r   T   C   h   e   c   k
0051560    B   a   d   T   W   :  \r  \t   K   C   m   m   d   _       T
0051600    _       A   0   ,       T   I   O   A   [   D   i   s   k   C
0051620    o   n   t   r   o   l   ]   ;       *       N   o       m   o
0051640    r   e       c   o   m   m   a   n   d   s  \r  \t   K   T 376
0051660  001  \0   G   B   e   m   p   0   _       A   0   ,       O   u
0051700    t   p   u   t   _       T   ,       C   a   l   l   [   O   u
0051720    t   p   u   t   G   e   t   s   T   ]   ;       *       R   e
0051740    s   e   t       c   o   n   t   r   o   l   l   e   r  \r  \t
0051760    K   S   t   a   t   u   s   _       1   0   0   0   C   ,    
0052000    B   r   a   n   c   h   [   T   R   e   a   d   C   h   e   c
0052020    k   E   n   d   ]   ;       *       P   o   s   t       t   h
0052040    i   s       s   t   a   t   u   s  \r  \r   *   -   -   -   -
0052060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052140    -   -   -   -   -   -   -  \r   *       C   o   m   m   a   n
0052160    d       h   a   s       c   o   m   p   l   e   t   e   d   .
0052200   \r   *       K   T   e   m   p   0       h   a   s       c   u
0052220    r   r   e   n   t       h   a   r   d   w   a   r   e       s
0052240    t   a   t   u   s       (   0       i   f       n   o       e
0052260    r   r   o   r 376 001  \0   g 353   s       h   a   v   e    
0052300    o   c   c   u   r   r   e   d   )   .  \r   *   -   -   -   -
0052320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052400    -   -   -   -   -   -   -  \r   T   C   m   m   d   E   n   d
0052420    :  \r  \t   P   D   _       K   T   e   m   p   0   ,       M
0052440    e   m   B   a   s   e   _       I   O   B   R   ;  \t   *    
0052460    E   r   r   o   r       o   c   c   u   r   r   e   d   ?  \r
0052500   \t   T   _       A   0   ,       T   I   O   A   [   D   i   s
0052520    k   C   o   n   t   r   o   l   ]   ,       B   r   a   n   c
0052540    h   [   .   +   2   ,       A   L   U   =   0   ]   ;  \r  \t
0052560    O   u   t   p   u   t   _       T   ,       C   a   l   l   [
0052600    O   u   t   p   u   t   G   e   t   s   T   ]   ;  \t   *    
0052620    Y   e   s   ,       r   e   s   e   t       c   o   m   m   a
0052640    n   d       r   e   g   i   s   t   e   r  \r  \t   T   _    
0052660    c   l   e   a   r   S   e   e   k 376 001  \0 356 206   T   a
0052700    g   T   W   ,       C   a   l   l   [   D   o   M   u   f   f
0052720    O   u   t   p   u   t   ]   ;       *       C   l   e   a   r
0052740        T   W       c   a   u   s   e   d       b   y       T   a
0052760    g   D   o   n   e  \r  \t   T   _       (   K   4   0   0   )
0053000    +   (   2   1   4   C   )   ;  \t  \t   *       F   i   f   o
0053020        o   v   e   r   /   u   n   d   e   r   f   l   o   w   ,
0053040        F   i   f   o   /   I   O   B       P   E   ?  \r  \t   P
0053060    D   _       (   K   T   e   m   p   0   )       A   N   D    
0053100    T   ;  \r  \t   T   _       (   K   P   t   r   )   +   (   3
0053120    C   )   ,       B   r   a   n   c   h   [   T   C   m   m   d
0053140    C   a   t   a   s   t   r   o   p   h   e   ,       A   L   U
0053160    #   0   ]   ;  \r  \r  \t   F   e   t   c   h   _       T   ,
0053200        T   _       K   4   0   0   ;  \t  \t   *       K   C   B
0053220    +   3       i   s       p   o   i   n   t   e   r       t   o
0053240        n   e   x   t       c   o   m   m   a   n   d  \r  \t   T
0053260    _       T   +   (   2   4   0   C   )   ,       K   P 376 001
0053300   \0 023 344   t   r   _       M   D   ;  \r  \t   S   t   o   r
0053320    e   _       T   ,       P   D   _       D   B   u   f   _    
0053340    K   P   t   r   ;  \t   *       S   t   o   r   e       i   t
0053360        i   n       V   M       6   4   0  \r  \t   B   r   a   n
0053400    c   h   [   T   r   i   I   d   l   e   L   o   o   p   ,    
0053420    A   L   U   =   0   ]   ;  \t   *       I   s       t   h   e
0053440    r   e       a       c   o   m   m   a   n   d   ?  \r  \t   B
0053460    r   a   n   c   h   [   D   o   T   C   m   m   d   ]   ;  \t
0053500   \t   *       Y   e   s   ,       g   o       t   o       i   t
0053520        d   i   r   e   c   t   l   y  \r  \f  \r   *   -   -   -
0053540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053620    -   -   -   -   -   -   -   -  \r   *       C   a   t   a   s
0053640    t   r   o   p   h   i   c       e   r   r   o   r       o   c
0053660    c   u   r   r   e   d   .  \r   *       R   e   s   e   t    
0053700    c   o   m 376 001  \0 237 303   m   a   n   d       r   e   g
0053720    i   s   t   e   r       i   n       c   a   s   e       w   e
0053740        h   a   v   e       g   o   t   t   e   n       o   u   t
0053760        o   f       s   y   n   c       w   i   t   h       c   o
0054000    n   t   r   o   l   l   e   r   .  \r   *       T   h   e   n
0054020        d   i   s   a   b   l   e       f   u   r   t   h   e   r
0054040        K   C   B       p   r   o   c   e   s   s   i   n   g    
0054060    a   n   d       p   o   s   t       a   b   o   r   t       s
0054100    t   a   t   u   s       i   n       V   M       6   4   4   .
0054120   \r   *       F   o   r   m   a   t       o   f       s   t   a
0054140    t   u   s       w   o   r   d       i   n       6   4   4    
0054160    (   a   s       d   e   f   i   n   e   d       b   y       A
0054200    l   t   o       a   n   d       b   y       T   r   i   e   x
0054220    )   :  \r   *  \t   B   5  \t   s   e   e   k       t   i   m
0054240    e   d       o   u   t       (   n   o   t       i   m   p   l
0054260    e   m   e   n   t   e   d   ;       T   r   i   e   x       t
0054300    h   i   n   k   s       i   t 376 001  \0 300   \   '   s    
0054320    B   4   !   )  \r   *  \t   B   6  \t   E   C   C       c   o
0054340    m   p   u   t   e       e   r   r   o   r       (   n   o   t
0054360        i   m   p   l   e   m   e   n   t   e   d   :       i   n
0054400    d   i   s   t   i   n   g   u   i   s   h   a   b   l   e    
0054420    f   r   o   m  \r   *  \t  \t   c   h   e   c   k       e   r
0054440    r   o   r   !   )  \r   *  \t   B   7  \t   d   a   t   a    
0054460    l   a   t   e   :       m   i   c   r   o   c   o   d   e    
0054500    m   a   y       b   e       o   u   t       o   f       s   y
0054520    n   c       w   i   t   h       h   a   r   d   w   a   r   e
0054540   \r   *  \t   B   9  \t   I   O   B       p   a   r   i   t   y
0054560        e   r   r   o   r  \r   *  \t   B   1   0  \t   F   i   f
0054600    o       p   a   r   i   t   y       e   r   r   o   r  \r   *
0054620   \t   B   1   1  \t   i   n   v   a   l   i   d       s   e   a
0054640    l  \r   *  \t   B   1   3  \t   r   e   a   d       t   a   s
0054660    k       h   u   n   g       (   n   o   t       i   m   p   l
0054700    e   m   e   n   t   e   d   )  \r   *  \t   B   1 376 001  \0
0054720  237   J   4  \t   K   C   B       a   b   o   r   t   e   d    
0054740    b   e   c   a   u   s   e       o   f       o   n   e       o
0054760    f       t   h   e   s   e       e   r   r   o   r   s  \r   *
0055000   \t   B   1   5  \t   f   a   i   l   e   d       t   o       f
0055020    i   n   d       d   e   s   i   r   e   d       s   e   c   t
0055040    o   r       w   i   t   h   i   n       6   4       s   e   c
0055060    t   o   r       t   i   m   e   s  \r   *   -   -   -   -   -
0055100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055160    -   -   -   -   -   -  \r   T   C   m   m   d   C   a   t   a
0055200    s   t   r   o   p   h   e   :  \r  \t   T   _       (   K   4
0055220    0   0   )   +   (   2   0   0   C   )   ;  \r  \t   P   D   _
0055240        (   K   T   e   m   p   0   )       A   N   D       T   ;
0055260   \t  \t   *       F   i   f   o       o   v   e   r   /   u   n
0055300    d   e   r   f   l   o   w   ?  \r  \t   T   _       (   K   T
0055320    e   m 376 001  \0 247   .   p   0   )       A   N   D       (
0055340    1   4   C   )   ,       B   r   a   n   c   h   [   .   +   2
0055360    ,       A   L   U   =   0   ]   ;       *       M   a   s   k
0055400        I   O   B       a   n   d       F   i   f   o       P   E
0055420   \r  \t   T   _       T       O   R       (   4   0   C   )   ;
0055440   \t  \t  \t   *       R   e   p   o   r   t       o   v   e   r
0055460    /   u   n   d   e   r   f   l   o   w       a   s       d   a
0055500    t   a       l   a   t   e  \r  \t   K   S   t   a   t   u   s
0055520    _       L   S   H   [   T   ,       3   ]   ;  \t  \t   *    
0055540    S   h   i   f   t       i   n   t   o       p   o   s   i   t
0055560    i   o   n  \r   T   C   m   m   d   A   b   o   r   t   :  \r
0055600   \t   K   S   t   a   t   u   s   _       (   K   S   t   a   t
0055620    u   s   )       O   R       (   2   C   )   ;  \t   *       S
0055640    e   t       a   b   o   r   t       b   i   t  \r  \t   T   _
0055660        (   K   4   0   0   )   +   (   2   4   4   C   )   ;  \t
0055700   \t   *       S   t   o   r   e       a   b   o   r   t       s
0055720    t   a   t   u   s       i 376 001  \0  \0   @   n       V   M
0055740        6   4   4  \r  \t   S   t   o   r   e   _       T   ,    
0055760    D   B   u   f   _       K   S   t   a   t   u   s   ,       K
0056000    S   t   a   t   u   s   _       A   0   ;  \r  \t   T   _    
0056020    (   K   4   0   0   )   +   (   2   4   0   C   )   ;  \t  \t
0056040    *       Z   e   r   o       V   M       6   4   0       t   o
0056060        a   b   o   r   t       c   o   m   m   a   n   d       c
0056100    h   a   i   n  \r  \t   S   t   o   r   e   _       T   ,    
0056120    D   B   u   f   _       K   S   t   a   t   u   s   ,       B
0056140    r   a   n   c   h   [   T   r   i   I   d   l   e   L   o   o
0056160    p   ]   ;  \r  \r   T   C   m   m   d   B   a   d   S   e   a
0056200    l   :  \r  \t   K   S   t   a   t   u   s   _       2   0   C
0056220    ,       B   r   a   n   c   h   [   T   C   m   m   d   A   b
0056240    o   r   t   ]   ;  \r   T   B   a   d   S   e   c   t   o   r
0056260    :  \r  \t   K   S   t   a   t   u   s   _       1   C   ,    
0056300    B   r   a   n   c   h   [   T   C   m   m   d   A   b   o   r
0056320    t   ]   ;  \r  \r   *   -   -   -   -   -   - 376 001  \0   A
0056340    1   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0056360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056420    -   -   -   -   -   -  \r   *       R   e   s   e   t   /   R
0056440    e   s   t   o   r   e       c   o   m   m   a   n   d   .  \r
0056460    *       T   h   i   s       i   s       t   h   e       o   n
0056500    l   y       p   l   a   c   e       w   h   e   r   e       C
0056520    l   e   a   r   E   r   r   o   r   s       i   s       d   o
0056540    n   e       t   o       r   e   s   e   t       l   a   t   c
0056560    h   e   d       e   r   r   o   r   s   .  \r   *       K   T
0056600    e   m   p   0       h   a   s       t   h   e       c   o   m
0056620    m   a   n   d   .  \r   *   -   -   -   -   -   -   -   -   -
0056640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056720    -   -  \r   T   R   e   s   e   t   R   e   s   t   o   r   e
0056740    : 376 001  \0   M   P  \r  \t   N   o   p   ;  \r  \t   T   _
0056760        (   K   T   e   m   p   0   )       O   R       (   t   a
0057000    g   C   o   n   t   r   o   l   )   ;  \r  \t   K   T   e   m
0057020    p   3   _       T   ,       C   a   l   l   [   S   e   n   d
0057040    T   a   g   ]   ;  \r  \t   T   _       c   l   e   a   r   E
0057060    r   r   o   r   s   ,       C   a   l   l   [   D   o   M   u
0057100    f   f   O   u   t   p   u   t   ]   ;  \r  \t   P   D   _    
0057120    L   S   H   [   K   T   e   m   p   3   ,       1   6   ]   ;
0057140   \t  \t   *       I   s       t   h   i   s       a       r   e
0057160    s   t   o   r   e   ?  \r  \t   K   S   t   a   t   u   s   _
0057200        A   0   ,       B   r   a   n   c   h   [   T   R   e   s
0057220    e   t   D   o   n   e   ,       A   L   U   >   =   0   ]   ;
0057240   \r  \r   *       F   o   r       R   e   s   t   o   r   e   ,
0057260        m   u   s   t       b   l   o   c   k       t   i   l    
0057300    d   r   i   v   e       i   s       r   e   a   d   y       a
0057320    n   d       a   n       I   n   d   e   x       p   u   l   s
0057340    e       a   r   r   i 376 001  \0   L 302   v   e   s   .  \r
0057360   \t   T   _       c   l   e   a   r   A   l   l   T   W   s   ,
0057400        C   a   l   l   [   D   o   M   u   f   f   O   u   t   p
0057420    u   t   ]   ;  \r  \t   T   _       K   4   0   0   ,       T
0057440    I   O   A   [   D   i   s   k   C   o   n   t   r   o   l   ]
0057460    ,       C   a   l   l   [   O   u   t   p   u   t   G   e   t
0057500    s   T   ]   ;       *       B   l   o   c   k   T   i   l   I
0057520    n   d   e   x  \r  \t   T   _       (   K   4   0   0   )   +
0057540    (   2   4   2   C   )   ;  \t  \t   *       F   o   r   g   e
0057560    t       s   a   v   e   d       c   y   l   i   n   d   e   r
0057600        a   d   d   r   e   s   s  \r  \t   S   t   o   r   e   _
0057620        T   ,       S   e   c   t   o   r   _       D   B   u   f
0057640    _       -   1   C   ,       B   l   o   c   k   ;  \r  \r   *
0057660        N   o   w       f   i   n   i   s   h       u   p       b
0057700    y       s   t   o   r   i   n   g       h   e   a   d   e   r
0057720        s   t   a   t   u   s   .           K   n   o   w       K
0057740    C   m   m   d   [   1   4   :   1   5   ] 376 001  \0 362 017
0057760    =   0       h   e   r   e   .  \r   T   R   e   s   e   t   D
0060000    o   n   e   :  \r  \t   T   _       (   K   P   t   r   )   +
0060020    (   1   2   C   )   ;  \t  \t   *       A   d   d   r   e   s
0060040    s       o   f       h   e   a   d   e   r       s   t   a   t
0060060    u   s  \r  \t   B   r   a   n   c   h   [   T   R   e   s   e
0060100    t   F   i   n   i   s   h   ]   ;  \r  \f  \r   *   -   -   -
0060120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060200    -   -   -   -   -   -   -   -  \r   I   n   i   t   R   a   m
0060220    T   r   i   d   e   n   t   :  \t  \t   *       I   n   i   t
0060240        f   o   r   m   a   t       R   a   m       f   o   r    
0060260    T   r   i   d   e   n   t       e   m   u   l   a   t   i   o
0060300    n   .  \r   *       E   n   t   e   r   :       K   P   t   r
0060320        =       K   C   B       p   o   i   n   t   e   r       f
0060340    o   r       s   o   m   e       T   r   i   d   e   n   t    
0060360  376 001  \0 203 245   c   o   m   m   a   n   d       (   0    
0060400    i   f       n   o   n   e   )  \r   *  \t   T   r   i   d   e
0060420    n   t   F   l   a   g   [   1   2   :   1   5   ]       =    
0060440    c   u   r   r   e   n   t       s   u   b   s   e   c   t   o
0060460    r       c   o   u   n   t  \r   *  \t   A   s   s   u   m   e
0060500    s       R   a   m       w   o   r   d   s       5   -   1   7
0060520        a   r   e       a   l   r   e   a   d   y       s   e   t
0060540        u   p       f   o   r       D   i   a   b   l   o       e
0060560    m   u   l   a   t   i   o   n   .  \r   *       E   x   i   t
0060600    :       U   p   d   a   t   e   s       T   r   i   d   e   n
0060620    t   F   l   a   g   [   1   2   :   1   5   ]  \r   *  \t   C
0060640    l   e   a   r   s       T   r   i   d   e   n   t   F   l   a
0060660    g   [   1   ]       i   f       s   e   c   t   o   r       s
0060700    i   z   e       c   h   a   n   g   e   d   ,       t   o    
0060720    f   o   r   c   e       d   r   i   v   e       s   e   l   e
0060740    c   t   .  \r   *       C   l   o   b   b   e   r   s       T
0060760    ,       K   T   e 376 001  \0 235 204   m   p   0   ,       K
0061000    T   e   m   p   1   ,       K   T   e   m   p   2   ,       K
0061020    T   e   m   p   3   ,       K   S   t   a   t   u   s   ,    
0061040    T   I   O   A  \r   *       S   t   r   a   t   e   g   y   :
0061060        I   n   i   t   R   a   m       i   s       c   a   l   l
0061100    e   d       w   h   e   n       s   w   i   t   c   h   i   n
0061120    g       b   e   t   w   e   e   n       D   i   a   b   l   o
0061140        a   n   d       T   r   i   d   e   n   t       m   o   d
0061160    e   ,  \r   *       w   h   e   n       s   w   i   t   c   h
0061200    i   n   g       d   r   i   v   e   s   ,       a   n   d    
0061220    w   h   e   n   e   v   e   r       a       n   e   w       c
0061240    h   a   i   n       o   f       c   o   m   m   a   n   d   s
0061260        i   s       s   t   a   r   t   e   d   .  \r   *       I
0061300    f       t   h   e   r   e       i   s       a       c   o   m
0061320    m   a   n   d   ,       a   n   d       t   h   e       c   o
0061340    m   m   a   n   d       t   r   a   n   s   f   e   r   s    
0061360    a       d   a   t   a       b   l   o 376 001  \0 320   '   c
0061400    k   ,  \r   *       t   h   e   n       s   e   t       u   p
0061420        t   h   e       f   o   r   m   a   t       R   a   m    
0061440    a   n   d       s   e   l   e   c   t       a       s   e   c
0061460    t   o   r       f   o   r   m   a   t       a   c   c   o   r
0061500    d   i   n   g  \r   *       t   o       t   h   e       c   o
0061520    m   m   a   n   d   .           I   f       t   h   e   r   e
0061540        i   s       n   o       c   o   m   m   a   n   d       o
0061560    r       t   h   e       c   o   m   m   a   n   d       i   s
0061600        a       n   o   n   -   d   a   t   a  \r   *       c   o
0061620    m   m   a   n   d   ,       t   h   e   n       a   s   s   u
0061640    m   e       w   h   a   t   e   v   e   r       s   e   c   t
0061660    o   r       f   o   r   m   a   t       i   s       c   u   r
0061700    r   e   n   t   l   y       s   e   l   e   c   t   e   d   .
0061720   \r   *       T   h   i   s       s   t   r   a   t   e   g   y
0061740        d   e   p   e   n   d   s       o   n       t   h   e    
0061760    a   s   s   u   m   p   t   i   o   n       t   h   a   t 376
0062000  001  \0 221 021       n   o   b   o   d   y       s   e   t   s
0062020        u   p       c   o   m   m   a   n   d  \r   *       c   h
0062040    a   i   n   s       c   o   n   s   i   s   t   i   n   g    
0062060    o   f       a       n   o   n   -   d   a   t   a       c   o
0062100    m   m   a   n   d       f   o   l   l   o   w   e   d       b
0062120    y       d   a   t   a       c   o   m   m   a   n   d   s   .
0062140   \r   *   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0062160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062220    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   S   u
0062240    b   r   o   u   t   i   n   e   ;  \r  \r  \t   P   D   _    
0062260    K   P   t   r   ;  \r  \t   K   T   e   m   p   3   _       L
0062300    i   n   k   ,       B   r   a   n   c   h   [   R   a   m   S
0062320    e   t   u   p   ,       A   L   U   =   0   ]   ;  \r   T   o
0062340    p   L   e   v   e   l   ;  \r  \t   T   _       (   K   P   t
0062360    r   )   +   (   6   C   )   ;  \r  \t   T   _       (   F   e
0062400    t   c   h   _ 376 001  \0   F   U       T   )   +   (   1   4
0062420    C   )   ;  \t  \t   *       K   C   B   +   6       =       h
0062440    e   a   d   e   r       c   o   u   n   t  \r  \t   K   T   e
0062460    m   p   0   _       M   D   -   1   ;  \r  \t   T   _       (
0062500    F   e   t   c   h   _       T   )   -   (   6   C   )   ;  \t
0062520   \t   *       K   C   B   +   2   2       =       d   a   t   a
0062540        c   o   u   n   t  \r  \t   K   T   e   m   p   2   _    
0062560    M   D   -   1   ;  \r  \t   F   e   t   c   h   _       T   ,
0062600        P   D   _       K   T   e   m   p   2   ;  \t  \t   *    
0062620    K   C   B   +   1   4       =       l   a   b   e   l       c
0062640    o   u   n   t  \r  \t   K   T   e   m   p   1   _       M   D
0062660    -   1   ,       B   r   a   n   c   h   [   .   +   2   ,    
0062700    A   L   U   >   =   0   ]   ;  \r  \t   B   r   a   n   c   h
0062720    [   R   a   m   S   e   t   u   p   ]   ;  \t  \t   *       N
0062740    o       d   a   t   a       c   o   u   n   t   ,       s   k
0062760    i   p       s   u   b   s   e   c   t   o   r       s   e   l
0063000    e   c   t  \r  \r   *       C   h 376 001  \0 335   f   o   o
0063020    s   e       s   u   b   s   e   c   t   o   r       c   o   u
0063040    n   t   .           9   -   s   e   c   t   o   r       f   o
0063060    r   m   a   t       a   s   s   u   m   e   s       d   r   i
0063100    v   e       i   s       j   u   m   p   e   r   e   d       f
0063120    o   r  \r   *       1   1   7       s   e   c   t   o   r   s
0063140        a   n   d       c   h   o   o   s   e   s       a       s
0063160    u   b   s   e   c   t   o   r       c   o   u   n   t       o
0063200    f       1   4   B   .           1   6   -   s   e   c   t   o
0063220    r       f   o   r   m   a   t       a   s   s   u   m   e   s
0063240   \r   *       d   r   i   v   e       i   s       j   u   m   p
0063260    e   r   e   d       f   o   r       1   6       s   e   c   t
0063300    o   r   s       a   n   d       c   h   o   o   s   e   s    
0063320    a       s   u   b   s   e   c   t   o   r       c   o   u   n
0063340    t       o   f       0   .  \r  \t   T   _       (   K   T   e
0063360    m   p   2   )       A   N   D       (   1   0   0   0   C   )
0063400    ;  \t   *       D   a   t   a       b   l   o   c   k 376 001
0063420   \0 210   R       >       5   1   2       w   o   r   d   s   ?
0063440   \r  \t   K   S   t   a   t   u   s   _       T   r   i   d   e
0063460    n   t   F   l   a   g   ,       B   r   a   n   c   h   [   .
0063500    +   3   ,       A   L   U   =   0   ]   ;  \r  \t   T   _    
0063520    1   4   C   ;  \t  \t  \t  \t   *       Y   e   s   ,       c
0063540    h   o   o   s   e       1   4   B  \r  \t   M   a   x   S   e
0063560    c   t   o   r   s   _       1   1   C   ,       B   r   a   n
0063600    c   h   [   .   +   2   ]   ;  \t   *       9       s   e   c
0063620    t   o   r   s       a   r   o   u   n   d  \r  \t   M   a   x
0063640    S   e   c   t   o   r   s   _       2   0   C   ;  \t  \t   *
0063660        N   o   ,       c   h   o   o   s   e       0   ;       1
0063700    6       s   e   c   t   o   r   s       a   r   o   u   n   d
0063720   \r  \t   T   _       (   K   S   t   a   t   u   s   )       X
0063740    O   R       T   ;  \t  \t   *       S   e   e       i   f    
0063760    d   i   f   f   e   r   e   n   t       f   r   o   m       c
0064000    u   r   r   e   n   t  \r  \t   T   _       T       A   N   D
0064020        (   1 376 001  \0   j 273   7   C   )   ;  \r  \t   T   r
0064040    i   d   e   n   t   F   l   a   g   _       (   T   r   i   d
0064060    e   n   t   F   l   a   g   )       X   O   R       T   ,    
0064100    B   r   a   n   c   h   [   .   +   2   ,       A   L   U   =
0064120    0   ]   ;  \r  \t   T   r   i   d   e   n   t   F   l   a   g
0064140    _       (   T   r   i   d   e   n   t   F   l   a   g   )    
0064160    A   N   D       (   N   o   t   [   4   0   0   0   0   ]   C
0064200    )   ;       *       F   o   r   c   e       d   r   i   v   e
0064220        s   e   l   e   c   t  \r  \t   K   S   e   l   e   c   t
0064240    _       (   K   S   e   l   e   c   t   )       A   N   D    
0064260    (   N   o   t   [   4   0   0   0   ]   C   )   ;       *    
0064300    S   e   c   t   o   r   s       e   v   e   n   l   y       d
0064320    i   v   i   d   e       t   h   e       d   i   s   k  \r  \r
0064340    *       L   o   a   d       w   o   r   d   s       0   -   4
0064360        o   f       f   o   r   m   a   t       R   a   m   ;    
0064400    r   e   m   a   i   n   i   n   g       w   o   r   d   s    
0064420    a   r   e       s   a   m   e 376 001  \0   F   2       a   s
0064440        f   o   r       D   i   a   b   l   o   .  \r   R   a   m
0064460    S   e   t   u   p   :  \r  \t   T   _       A   0   ,       T
0064500    I   O   A   [   D   i   s   k   C   o   n   t   r   o   l   ]
0064520    ,       C   a   l   l   [   O   u   t   p   u   t   G   e   t
0064540    s   T   ]   ;       *       C   l   e   a   r       R   a   m
0064560        a   d   d   r   e   s   s  \r  \t   T   _       K   T   e
0064600    m   p   0   ,       T   I   O   A   [   D   i   s   k   R   a
0064620    m   ]   ;  \r  \t   T   _       K   T   e   m   p   1   ,    
0064640    O   u   t   p   u   t   _       T   ,  \t  \t   *       [   0
0064660    ]       h   e   a   d   e   r       c   o   u   n   t       -
0064700    1  \r  \t  \t   C   a   l   l   [   O   u   t   p   u   t   G
0064720    e   t   s   T   ]   ;  \t   *       [   1   ]       l   a   b
0064740    e   l       c   o   u   n   t       -   1  \r  \t   T   _    
0064760    A   0   ,       O   u   t   p   u   t   _       K   T   e   m
0065000    p   2   ,  \t  \t   *       [   2   ]       d   a   t   a    
0065020    c   o   u   n   t       -   1  \r  \t  \t   C   a 376 001  \0
0065040  245 200   l   l   [   O   u   t   p   u   t   G   e   t   s   T
0065060    ]   ;  \t   *       [   3   ]       u   n   u   s   e   d    
0065100    c   o   u   n   t  \r  \t   T   _       O   r   [   t   a   g
0065120    R   e   a   d   !   ,       t   a   g   H   e   a   d   S   e
0065140    l   e   c   t   !   ]   C   ;  \r  \t   T   _       T       O
0065160    R       (   t   a   g   A   l   t   o   L   e   a   d   e   r
0065200    )   ;  \t   *       [   4   ]       c   o   n   t   r   o   l
0065220        t   a   g       f   o   r       r   e   a   d  \r  \t   L
0065240    i   n   k   _       K   T   e   m   p   3   ,       B   r   a
0065260    n   c   h   [   O   u   t   p   u   t   G   e   t   s   T   ]
0065300    ;       *       O   u   t   p   u   t   _       T       a   n
0065320    d       R   e   t   u   r   n  \r  \r   *   -   -   -   -   -
0065340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065420    -   -   -   -   -   -  \r   S   e   t   D   i   s   k   B   R
0065440    H   i 376 001  \0 232   Q   :  \t   *       S   e   t       B
0065460    R   H   i       f   o   r       d   i   s   k       t   r   a
0065500    n   s   f   e   r   s  \r   *       E   n   t   e   r   :    
0065520    T       =       a   m   o   u   n   t       t   o       a   d
0065540    d       t   o       M   D   S   H   i       t   o       y   i
0065560    e   l   d       c   o   r   r   e   c   t       v   a   l   u
0065600    e  \r   *  \t   M   e   m   B   a   s   e       =       D   i
0065620    s   k   B   R  \r   *       C   l   o   b   b   e   r   s    
0065640    T  \r   *   -   -   -   -   -   -   -   -   -   -   -   -   -
0065660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065720    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   S
0065740    u   b   r   o   u   t   i   n   e   ;  \r  \r  \t   R   B   a
0065760    s   e   _       R   B   a   s   e   [   E   m   u   B   R   H
0066000    i   R   e   g   ]   ;  \r  \t   T   _       (   E   m   u   B
0066020    R   H   i   R   e   g   )   +   T   ,       R   B   a   s   e
0066040    _       R   B   a   s   e 376  \0   &   s   N   [   D   i   s
0066060    k   R   e   g   s   ]   ;  \r  \t   B   R   H   i   _       T
0066100    ,       R   e   t   u   r   n   ;  \r 032   (   1   5   5   2
0066120    )  \r 377  \0  \0   T   r   i   D   i   s   k   .   c   m  \0
0066140  373 232   r 316 213  \0  \0 376  \0   8 026 202   M   i   c   r
0066160    o   /   o   u       A   l   t   o   E   m   u   D   e   f   s
0066200    /   r       A   l   t   o   T   r   i   D   i   s   k   /   b
0066220            D   i   s   k   D   e   f   s       T   r   i   D   i
0066240    s   k      \r 377  \0  \0   T   r   i   E   m   u   .   c   m
0066260   \0 373 230 343   : 210  \0  \0 376  \0 330 035   W   M   i   c
0066300    r   o   D   /   n       T   r   i   E   m   u   /   o       A
0066320    l   t   o   E   m   u   D   e   f   s       A   l   t   o   E
0066340    m   u       A   l   t   o   V   a   r   i   o   u   s       A
0066360    l   t   o   B   i   t   B   l   t       A   T   r   a   p   s
0066400        B   C   P   L   R   u   n   t   i   m   e       A   l   t
0066420    o   E   t   h   e   r       A   l   t   o   E   t   h   e   r
0066440    E   m   u       A   l   t   o   D   i   a   b   l   o   D   i
0066460    s   k       A   l   t   o   D   i   s   k   S   u   b   r   s
0066500        A   l   t   o   T   r   i   D   i   s   k       A   l   t
0066520    o   D   i   s   p   l   a   y   M   a   i   n       A   l   t
0066540    o   D   i   s   p   l   a   y   A   u   x       A   l   t   o
0066560    J   u   n   k       A   l   t   o   I   n   i   t   M   e   m
0066600        X   M   F   a   u   l   t   T   a   s   k       L   o   a
0066620    d   R   a   m  \r 377  \0  \0   T   r   i   M   e   s   a   .
0066640    c   m  \0 373 232   r 316   4  \0  \0 376 001  \0   J 004   /
0066660    /       T   r   i   M   e   s   a   .   c   m  \r   /   /    
0066700    I   f       A   l   t   o   T   r   i   D   i   s   k       i
0066720    s       i   n   c   l   u   d   e   d   ,       i   t       m
0066740    u   s   t       f   o   l   l   o   w       A   l   t   o   D
0066760    i   s   k   S   u   b   r   s   .  \r   /   /       I   f    
0067000    B   C   P   L   R   u   n   t   i   m   e       i   s       i
0067020    n   c   l   u   d   e   d   ,       i   t       m   u   s   t
0067040        f   o   l   l   o   w       M   T   r   a   p   s   .  \r
0067060    /   /       I   f       A   l   t   o   C   o   l   o   r   D
0067100    i   s   p   l   a   y       i   s       i   n   c   l   u   d
0067120    e   d   ,       i   t       m   u   s   t       f   o   l   l
0067140    o   w       A   l   t   o   D   i   s   p   l   a   y   M   a
0067160    i   n   .  \r   /   /       E   i   t   h   e   r       A   l
0067200    t   o   M   e   s   a   F   l   o   a   t       o   r       A
0067220    l   t   o   M   e   s   a   D   u   m   m   y   F   l   o   a
0067240    t       m   u   s   t       b   e       i   n   c   l   u 376
0067260  001  \0 270 207   d   e   d   .  \r  \r   M   i   c   r   o   D
0067300    /   n       T   r   i   M   e   s   a   /   o       A   l   t
0067320    o   E   m   u   D   e   f   s       A   l   t   o   M   e   s
0067340    a   D   e   f   s       ^  \r   A   l   t   o   M   e   s   a
0067360    A   r   i   t   h       A   l   t   o   M   e   s   a   F   a
0067400    u   l   t   s       A   l   t   o   M   e   s   a   D   u   m
0067420    m   y   F   l   o   a   t       ^  \r   A   l   t   o   M   e
0067440    s   a   J   u   m   p   s       A   l   t   o   M   e   s   a
0067460    L   S       A   l   t   o   M   e   s   a   M   i   s   c   D
0067500    i   s   p       A   l   t   o   M   e   s   a   M   i   s   c
0067520    O   p   s       A   l   t   o   M   e   s   a   P   r   o   c
0067540    e   s   s       ^  \r   A   l   t   o   M   e   s   a   R   W
0067560        A   l   t   o   M   e   s   a   R   W   L       A   l   t
0067600    o   M   e   s   a   V   e   r   s   i   o   n       A   l   t
0067620    o   M   e   s   a   X   f   e   r       ^  \r   A   l   t   o
0067640    E   m   u       A   l   t   o   V   a   r   i   o   u   s    
0067660    A   l   t   o 376  \0 232 247 251   B   i   t   B   l   t    
0067700    M   T   r   a   p   s       B   C   P   L   R   u   n   t   i
0067720    m   e       A   l   t   o   I   n   i   t   M   e   m       ^
0067740   \r   A   l   t   o   E   t   h   e   r       A   l   t   o   E
0067760    t   h   e   r   E   m   u       A   l   t   o   D   i   a   b
0070000    l   o   D   i   s   k       A   l   t   o   D   i   s   k   S
0070020    u   b   r   s       A   l   t   o   T   r   i   D   i   s   k
0070040        ^  \r   A   l   t   o   D   i   s   p   l   a   y   M   a
0070060    i   n       A   l   t   o   D   i   s   p   l   a   y   A   u
0070100    x       A   l   t   o   J   u   n   k       L   o   a   d   R
0070120    a   m  \r 377  \0  \0   T   r   i   D   i   s   k   F   i   l
0070140    e   s   .   c   m  \0 373 230 343   : 302  \0  \0 376  \0   ^
0070160  326   "   T   r   i   D   i   s   k   .   m   c       T   r   i
0070200    D   i   s   k   .   c   m       T   r   i   E   m   u   .   c
0070220    m       T   r   i   M   e   s   a   .   c   m       T   r   i
0070240    D   i   s   k   F   i   l   e   s   .   c   m       T   r   i
0070260    D   i   s   k   B   a   c   k   u   p   .   c   m       T   r
0070300    i   D   i   s   k   R   e   l   e   a   s   e   .   c   m    
0070320  377  \0  \0   T   r   i   D   i   s   k   B   a   c   k   u   p
0070340    .   c   m  \0 373 230 343   : 247  \0  \0 376  \0   N   A 037
0070360    F   t   p       I   v   y       S   t   o   r   e   /   c    
0070400    T   r   i   E   m   u   .   m   b       T   r   i   M   e   s
0070420    a   .   m   b       D   u   m   p   /   c       T   r   i   D
0070440    i   s   k   S   o   u   r   c   e   s   .   d   m       @   T
0070460    r   i   D   i   s   k   F   i   l   e   s   @      \r 377  \0
0070500   \0   T   r   i   D   i   s   k   R   e   l   e   a   s   e   .
0070520    c   m  \0 373 230 343   : 273  \0  \0 376  \0   u 365 374   F
0070540    t   p       I   n   d   i   g   o       C   o   n   n   /   c
0070560        D   o   r   a   d   o       S   t   o   r   e   /   c    
0070600    T   r   i   E   m   u   .   m   b       T   r   i   M   e   s
0070620    a   .   m   b       ^  \r   C   o   n   n   /   c       D   o
0070640    r   a   d   o   S   o   u   r   c   e       D   u   m   p   /
0070660    c       T   r   i   D   i   s   k   S   o   u   r   c   e   s
0070700    .   d   m       @   T   r   i   D   i   s   k   F   i   l   e
0070720    s   @      \r 374                                            
0070725