$ od -c -N 50000 [Indigo]<AltoSource>TFSSOURCES.DM!3
0000000  377  \0  \0   T   f   s   .   d  \0 373 227   e 020 036  \0  \0
0000020  376 001  \0 200 216   /   /       T   f   s   .   d       -    
0000040    d   e   f   i   n   i   t   i   o   n   s       f   i   l   e
0000060        f   o   r       d   r   i   v   i   n   g       t   h   e
0000100        T   r   i   d   e   n   t       w   i   t   h       T   F
0000120    S  \r   /   /       C   o   p   y   r   i   g   h   t       X
0000140    e   r   o   x       C   o   r   p   o   r   a   t   i   o   n
0000160        1   9   7   9   ,       1   9   8   0   ,       1   9   8
0000200    1  \r  \r   /   /  \t   L   a   s   t       m   o   d   i   f
0000220    i   e   d       J   u   n   e       2   7   ,       1   9   8
0000240    1           2   :   1   7       P   M       b   y       T   a
0000260    f   t  \r  \r   /   /       F   o   r   m   a   t       o   f
0000300        f   i   l   e       D   i   s   k   D   e   s   c   r   i
0000320    p   t   o   r   :  \r   /   /       D   a   t   a       P   a
0000340    g   e       1   :           T   h   i   s       i   s       m
0000360    o   s   t   l   y       e   m   p   t   y   .           F   i
0000400    r   s   t       l   T   F   S   K   D   H   e   a   d   e   r
0000420        w   o   r   d 376 001  \0 262 323   s       h   a   v   e
0000440        t   h   e  \r   /   /  \t   i   n   i   t   i   a   l    
0000460    p   o   r   t   i   o   n       o   f       t   h   e       T
0000500    F   S   K   D       s   t   r   u   c   t   u   r   e       r
0000520    e   c   o   r   d   e   d       -   -       r   e   m   a   i
0000540    n   d   e   r       e   m   p   t   y  \r   /   /       D   a
0000560    t   a       P   a   g   e   s       2       t   h   r   o   u
0000600    g   h       n       (   n       i   s       a   t       m   o
0000620    s   t       5   )   .       T   h   e   s   e       h   a   v
0000640    e       b   i   t       t   a   b   l   e  \r   /   /  \t   (
0000660    K   D   H   .   d   i   s   k   B   T   S   i   z   e       t
0000700    o   t   a   l       w   o   r   d   s   )   .  \r   /   /    
0000720    T   h   e       v   i   r   t   u   a   l       d   i   s   k
0000740        a   d   d   r   e   s   s   e   s       o   f       a   l
0000760    l       d   a   t   a       p   a   g   e   s       a   r   e
0001000        k   e   p   t       i   n       t   h   e  \r   /   /  \t
0001020    T   F   S   K   D       s   t   r   u 376 001  \0 275   '   c
0001040    t   u   r   e       (   V   D   A   d   i   s   k   D   D   )
0001060        s   o       t   h   e   y       c   a   n       b   e    
0001100    r   e   f   e   r   e   n   c   e   d       d   i   r   e   c
0001120    t   l   y   .  \r  \r  \r   m   a   n   i   f   e   s   t  \r
0001140                [  \r   /   /       l   o   w       m   e   m   o
0001160    r   y       c   e   l   l   s       o   f       i   n   t   e
0001200    r   e   s   t  \r               D   A   s   t   a   r   t    
0001220    =       #   4   2   0  \t  \t   /   /       d   i   s   p   l
0001240    a   y       l   o   c   a   t   i   o   n  \r   /   /       d
0001260    i   s   k       a   c   c   e   s   s   i   n   g       c   o
0001300    n   s   t   a   n   t   s       (   s   a   m   e       f   o
0001320    r       B   F   S       a   n   d       T   F   S   )  \r    
0001340            l   F   I   D       =       3  \t  \t  \t   /   /    
0001360    l   e   n   g   t   h       o   f       a       F   I   D  \r
0001400    /   /       T   F   S       f   i   l   e   -   r   e   l   a
0001420    t   e   d       c   o   n   s   t   a   n   t   s  \r   / 376
0001440  001  \0   & 304   /       N   o   t   e       t   h   a   t    
0001460    t   h   e       p   h   y   s   i   c   a   l       d   i   s
0001500    k       s   h   a   p   e       p   a   r   a   m   e   t   e
0001520    r   s       v   a   r   y       a   c   c   o   r   d   i   n
0001540    g       t   o       t   h   e  \r   /   /       d   i   s   k
0001560        m   o   d   e   l   ,       a   n   d       a   r   e    
0001600    d   e   t   e   r   m   i   n   e   d       d   y   n   a   m
0001620    i   c   a   l   l   y       b   y       D   e   t   e   r   m
0001640    i   n   e   D   i   s   k   M   o   d   e   l   .  \r        
0001660        T   F   S   w   o   r   d   s   P   e   r   P   a   g   e
0001700        =       1   0   2   4  \t   /   /       w   o   r   d   s
0001720        i   n       d   a   t   a       b   l   o   c   k       o
0001740    f       s   e   c   t   o   r  \r               T   F   S   l
0001760    n   W   o   r   d   s   P   e   r   P   a   g   e       =    
0002000    1   0  \r               p   a   c   k   I   D       =       0
0002020   \t  \t  \t   /   /       p   a   r   t       o   f       F   I
0002040    D  \r  \r   / 376 001  \0 274   G   /       d   e   f   i   n
0002060    i   t   i   o   n   s       f   o   r       b   i   t       t
0002100    a   b   l   e       f   o   r   m   a   t  \r               l
0002120    e   n   g   t   h   T   F   S   D   D   p   r   e   a   m   b
0002140    l   e       =       2  \t   /   /       n   u   m       p   a
0002160    g   e   s       i   n       D   i   s   k       D   e   s   c
0002200    r   i   p   t   o   r       a   h   e   a   d       o   f    
0002220    B   T  \r               l   e   n   g   t   h   T   F   S   B
0002240    T       =       1   7   7   7   7   7   B       r   s   h   i
0002260    f   t       (   T   F   S   l   n   W   o   r   d   s   P   e
0002300    r   P   a   g   e   +   4   )       +   1  \r              \t
0002320   \t  \t  \t   /   /       m   a   x       l   e   n   g   t   h
0002340        o   f       T   F   S       B   i   t       T   a   b   l
0002360    e       (   p   a   g   e   s   )  \r               ]  \r  \r
0002400    /   /   u   s   e   d       b   y       d   i   s   k       b
0002420    i   t       t   a   b   l   e       r   o   u   t   i   n   e
0002440    s       t   o       c   o   m   p 376 001  \0 022 204   u   t
0002460    e       b   i   t       l   o   c   a   t   i   o   n   s  \r
0002500    s   t   r   u   c   t   u   r   e       V   D   A   :        
0002520    /   /       V   i   r   t   u   a   l       D   i   s   k    
0002540    A   d   d   r   e   s   s  \r               [  \r            
0002560    w   o   r   d   N   u   m       b   i   t       1   2       =
0002600   \t   /   /       w   o   r   d       i   n   d   e   x       i
0002620    n       w   h   o   l   e       f   i   l   e  \r            
0002640                [  \r                           p   a   g   e   N
0002660    u   m       b   i   t       1   2   -   T   F   S   l   n   W
0002700    o   r   d   s   P   e   r   P   a   g   e  \r                
0002720            w   o   r   d   N   u   m   I   n   P   a   g   e    
0002740    b   i   t       T   F   S   l   n   W   o   r   d   s   P   e
0002760    r   P   a   g   e  \r                           ]  \r        
0003000        b   i   t   N   u   m       b   i   t       4  \t  \t   /
0003020    /       b   i   t       i   n   d   e   x  \r               ]
0003040   \r  \f  \r   /   /   T   r   i   d   e   n   t       d 376 001
0003060   \0   i 251   i   s   k       h   a   r   d   w   a   r   e   -
0003100    r   e   l   a   t   e   d       d   e   f   i   n   i   t   i
0003120    o   n   s  \r  \r   m   a   n   i   f   e   s   t  \r        
0003140        [  \r               d   c   b   I   D       =       #   1
0003160    2   2   6   4   5  \t  \t   /   /       d   i   s   k       c
0003200    o   m   m   a   n   d       s   e   a   l  \r   /   /       H
0003220    a   r   d   w   a   r   e       c   o   m   m   a   n   d    
0003240    b   i   t       a   s   s   i   g   n   m   e   n   t   s  \r
0003260                C   h   e   c   k   D   a   t   a       =       #
0003300    4   0   0   0  \r               W   r   i   t   e   B   i   t
0003320        =       #   2   0   0  \r               R   e   a   d   B
0003340    i   t       =       #   1   0   0  \r               H   e   a
0003360    d   S   e   l   e   c   t       =       #   4  \r            
0003400    R   e   Z   e   r   o       =       #   1   2  \r            
0003420    C   h   e   c   k   R   e   s   e   t       =       #   1   0
0003440   \r   /   /       H   a   r   d   w   a   r   e       d   i   s
0003460    k       c 376 001  \0 224 273   o   m   m   a   n   d   s    
0003500    u   s   e   d       i   n       c   o   n   j   u   n   c   t
0003520    i   o   n       w   i   t   h       a   b   o   v   e  \r    
0003540            d   i   s   k   R   e   a   d       =       R   e   a
0003560    d   B   i   t       +       H   e   a   d   S   e   l   e   c
0003600    t  \r               d   i   s   k   W   r   i   t   e       =
0003620        W   r   i   t   e   B   i   t       +       H   e   a   d
0003640    S   e   l   e   c   t  \r               d   i   s   k   C   h
0003660    e   c   k       =       C   h   e   c   k   D   a   t   a    
0003700    +       R   e   a   d   B   i   t       +       H   e   a   d
0003720    S   e   l   e   c   t  \r               d   i   s   k   R   e
0003740    s   e   t       =       C   h   e   c   k   R   e   s   e   t
0003760   \r               d   i   s   k   R   e   s   t   o   r   e    
0004000    =       R   e   Z   e   r   o  \r               d   i   s   k
0004020    N   o   o   p       =       H   e   a   d   S   e   l   e   c
0004040    t  \r  \r   /   /       S   p   e   c   i   a   l       d   i
0004060    s   k       c   o   m   m   a 376 001  \0 025 320   n   d    
0004100    f   o   r       v   e   r   i   f   y   i   n   g       f   r
0004120    e   e       l   a   b   e   l   s   :  \r               D   C
0004140    r   e   a   d   L   n   D   =   d   i   s   k   M   a   g   i
0004160    c   +   8  \t   /   /   C   h   e   c   k       h   e   a   d
0004200    e   r   ,       r   e   a   d       l   a   b   e   l   ,    
0004220    n   o       d   a   t   a  \r               D   C   r   e   a
0004240    d   n   D   =   d   i   s   k   M   a   g   i   c   +   9  \t
0004260   \t   /   /   C   h   e   c   k       h   e   a   d   e   r   ,
0004300        c   h   e   c   k       l   a   b   e   l   ,       n   o
0004320        d   a   t   a  \r               D   C   w   r   i   t   e
0004340    L   n   D   =   d   i   s   k   M   a   g   i   c   +   1   0
0004360   \t   /   /   c   h   e   c   k       h   e   a   d   e   r   ,
0004400        w   r   i   t   e       l   a   b   e   l   ,       n   o
0004420        d   a   t   a  \r               ]  \r  \r   /   /       D
0004440    i   s   k       s   t   a   t   u   s       w   o   r   d   .
0004460            S   e   e       h   a   r   d   w   a   r 376 001  \0
0004500    ; 242   e       m   a   n   u   a   l       f   o   r       d
0004520    e   t   a   i   l   e   d       d   e   f   i   n   i   t   i
0004540    o   n   s  \r   s   t   r   u   c   t   u   r   e       D   S
0004560    T   :  \r               [  \r               S   t   a   t   u
0004600    s       w   o   r   d       =  \r                           [
0004620   \r                           E   r   r   o   r   s       b   i
0004640    t       1   0       =  \r                                    
0004660    [           /   /       *       =       m   a   y       r   e
0004700    q   u   i   r   e       a       r   e   s   t   o   r   e    
0004720    t   o       c   l   e   a   r  \r                            
0004740            S   e   e   k   I   n   c       b   i   t  \t  \t   /
0004760    /       1   0   0   0   0   0       *  \r                    
0005000                    C   y   l   O   v   f   l       b   i   t  \t
0005020   \t   /   /           4   0   0   0   0       -   m   i   s   n
0005040    a   m   e   d   ,       r   e   a   l   l   y       b   a   d
0005060        h   e   a   d       #  \r                                
0005100        D 376 001  \0 362   i   e   v   i   c   e   C   k       b
0005120    i   t  \t  \t   /   /           2   0   0   0   0       *  \r
0005140                                        N   o   t   S   e   l   e
0005160    c   t   e   d       b   i   t  \t   /   /           1   0   0
0005200    0   0  \r                                       N   o   t   O
0005220    n   L   i   n   e       b   i   t  \t  \t   /   /            
0005240    4   0   0   0  \r                                       N   o
0005260    t   R   e   a   d   y       b   i   t  \t  \t   /   /        
0005300        2   0   0   0  \r                                       S
0005320    e   c   O   v   f   l       b   i   t  \t  \t   /   /        
0005340        1   0   0   0  \r                                       D
0005360    a   t   a   L   a   t   e       b   i   t       2       =  \r
0005400                                                    [  \r        
0005420                                            W   r   L   a   t   e
0005440        b   i   t  \t  \t   /   /                   4   0   0  \r
0005460                                                    R   d   L   a
0005500    t   e       b   i   t  \t 376 001  \0 004   M  \t   /   /    
0005520                2   0   0  \r                                    
0005540                ]  \r                                       C   o
0005560    m   p   E   r   r       b   i   t  \t  \t   /   /            
0005600        1   0   0  \r                                       ]  \r
0005620                            R   e   a   d   O   n   l   y       b
0005640    i   t  \t  \t   /   /                       4   0  \r        
0005660                    O   f   f   s   e   t       b   i   t  \t  \t
0005700    /   /                       2   0  \r                        
0005720    S   e   c   t   o   r       b   i   t       4       =  \t  \t
0005740    /   /                       1   7       -   -       r   e   p
0005760    o   r   t   e   d       o   n   l   y       i   n       #   6
0006000    4   3      \r                                       [  \t  \t
0006020   \t   /   /       f   o   l   l   o   w   i   n   g       r   e
0006040    p   o   r   t   e   d       o   n   l   y       i   n       C
0006060    B   :  \r                                       E   C   C   e
0006100    r   r   o   r       b   i   t  \t  \t   /   / 376 001  \0 201
0006120  023                       1   0  \r                            
0006140            F   o   r   g   o   t   t   e   n       b   i   t  \t
0006160   \t   /   /                           4       -   -       s   e
0006200    t       b   y       s   o   f   t   w   a   r   e       o   n
0006220    l   y  \r                                       T   i   m   e
0006240    o   u   t       b   i   t  \t  \t   /   /                    
0006260        2       -   -       s   e   t       b   y       s   o   f
0006300    t   w   a   r   e       o   n   l   y  \r                    
0006320                    D   o   n   e       b   i   t  \t  \t   /   /
0006340                            1  \r                                
0006360        ]  \r                           ]  \r               ]  \r
0006400   \r   m   a   n   i   f   e   s   t  \r               [  \r   /
0006420    /       S   o   m   e       b   i   t       m   a   s   k   s
0006440        c   o   r   r   e   s   p   o   n   d   i   n   g       t
0006460    o       t   h   e       D   S   T       s   t   r   u   c   t
0006500    u   r   e  \r               d   s   t   D   a   t   a   L   a
0006520    t 376 001  \0 024   b   e   =   #   6   0   0  \r            
0006540    d   s   t   C   o   m   p   E   r   r   =   #   1   0   0  \r
0006560                d   s   t   E   C   C   e   r   r   o   r   =   #
0006600    1   0  \r               d   s   t   F   o   r   g   o   t   t
0006620    e   n   =   #   4  \r               d   s   t   T   i   m   e
0006640    o   u   t   =   #   2  \r               d   s   t   D   o   n
0006660    e   =   #   1  \r   /   /       M   a   s   k       b   i   t
0006700    s       f   o   r       s   t   a   t   u   s       w   o   r
0006720    d  \r               d   s   t   E   r   r   o   r   s   =   #
0006740    1   7   7   7   1   6  \t  \t   /   /       a   l   l       e
0006760    r   r   o   r   s       -   -       i   g   n   o   r   e    
0007000    R   e   a   d   O   n   l   y       a   n   d       O   f   f
0007020    s   e   t  \r               d   s   t   R   e   s   t   o   r
0007040    e   =   #   1   6   0   1   0   0  \t  \t   /   /       e   r
0007060    r   o   r   s       t   h   a   t       m   a   y       r   e
0007100    q   u   i   r   e       a       r   e   s   t   o   r   e    
0007120    t   o       c   l   e 376 001  \0   n   %   a   r  \r        
0007140        d   s   t   R   e   t   r   y   I   n   d   e   f   i   n
0007160    i   t   e   l   y   =   #   6   0   4  \t   /   /       r   e
0007200    t   r   y       t   h   e   s   e       e   r   r   o   r   s
0007220        w   i   t   h   o   u   t       c   o   u   n   t   i   n
0007240    g       t   h   e   m  \r   /   /       S   t   a   t   u   s
0007260        w   o   r   d       v   a   l   u   e   s  \r            
0007300    d   s   t   F   r   e   e   =   #   1   7   7   7   7   7  \t
0007320   \t   /   /       d   e   n   o   t   e   s       f   r   e   e
0007340        C   B       -   -       s   e   t       b   y       s   o
0007360    f   t   w   a   r   e  \r               ]  \r  \f  \r   /   /
0007400        T   r   i   d   e   n   t       C   o   n   t   r   o   l
0007420    l   e   r       C   o   n   t   r   o   l       B   l   o   c
0007440    k       f   o   r   m   a   t  \r   m   a   n   i   f   e   s
0007460    t       K   B   L   K       =       #   6   4   0  \t  \t   /
0007500    /       T   r   i   d   e   n   t       c   o   n   t   r   o
0007520    l   l   e   r       C   B       a   d   d 376 001  \0   ~ 212
0007540    r   e   s   s  \r   s   t   r   u   c   t   u   r   e       K
0007560    B   L   K   :  \r               [  \r               p   t   r
0007600        w   o   r   d  \t   /   /       K   B   L   K   +   0    
0007620    =       #   6   4   0       =       p   o   i   n   t   e   r
0007640        t   o       c   o   m   m   a   n   d       b   l   o   c
0007660    k  \r               d   r   i   v   e       w   o   r   d  \t
0007700    /   /       K   B   L   K   +   1       =       #   6   4   1
0007720        =       n   u   m   b   e   r       o   f       c   u   r
0007740    r   e   n   t   l   y       s   e   l   e   c   t   e   d    
0007760    d   r   i   v   e  \r               t   r   a   c   k       w
0010000    o   r   d  \t   /   /       K   B   L   K   +   2       =    
0010020    #   6   4   2       =       t   r   a   c   k       n   u   m
0010040    b   e   r       i   n       l   a   s   t       c   o   m   m
0010060    a   n   d  \r               @   D   S   T  \t  \t   /   /    
0010100    K   B   L   K   +   3       =       #   6   4   3       =    
0010120    s   t   a   t   u   s       a   t       l   a   s   t       s
0010140  376 001  \0 242 371   e   c   t   o   r       p   u   l   s   e
0010160   \r               a   b   o   r   t   e   d       w   o   r   d
0010200   \t   /   /       K   B   L   K   +   4       =       n   o   n
0010220    -   z   e   r   o       i   f       a       c   o   m   m   a
0010240    n   d       w   a   s       a   b   o   r   t   e   d  \r    
0010260            ]  \r  \r  \r   /   /   H   e   a   d   e   r   ,   L
0010300    a   b   e   l   ,   D   a   t   a       f   o   r   m   a   t
0010320    s       o   n       d   i   s   k  \r  \r   /   /       H   a
0010340    r   d   w   a   r   e       d   i   s   k       a   d   d   r
0010360    e   s   s       -       s   a   m   e       a   s       d   i
0010400    s   k       a   d   d   r   e   s   s       u   s   e   d    
0010420    i   n       t   h   e       K   C   B  \r   s   t   r   u   c
0010440    t   u   r   e       D   A   :  \r               [  \r        
0010460        t   r   a   c   k       w   o   r   d  \r               h
0010500    e   a   d       b   y   t   e  \r               s   e   c   t
0010520    o   r       b   y   t   e  \r               ]  \r  \r   /   /
0010540        D   i   s   k 376 001  \0 262   W       h   e   a   d   e
0010560    r       -       m   u   s   t       b   e       t   h   e    
0010600    s   a   m   e       a   s       D   A  \r   s   t   r   u   c
0010620    t   u   r   e       D   H   :       @   D   A  \r   m   a   n
0010640    i   f   e   s   t       l   D   H       =       s   i   z   e
0010660        D   H   /   1   6  \r  \r   /   /       D   i   s   k    
0010700    l   a   b   e   l   .  \r   /   /       T   h   e       l   a
0010720    s   t       t   w   o       w   o   r   d   s       m   u   s
0010740    t       b   e       t   h   e       n   e   x   t       s   e
0010760    c   t   o   r       a   d   d   r   e   s   s       i   n    
0011000    D   H       f   o   r   m   a   t  \r   /   /       (   u   s
0011020    e   d       f   o   r       c   h   a   i   n   i   n   g    
0011040    o   p   e   r   a   t   i   o   n   s   )  \r   /   /       *
0011060    =   s   e   t       b   y       D   o   D   i   s   k   C   o
0011100    m   m   a   n   d  \r   /   /       #   =   c   o   n   s   t
0011120    a   n   t       f   o   r       a   l   l       p   a   g   e
0011140    s  \r   s   t   r   u   c   t   u   r 376 001  \0 002 335   e
0011160        D   L   :  \r               [  \r               f   i   l
0011200    e   I   d       w   o   r   d       l   F   I   D  \t   /   /
0011220        #   *  \r               p   a   c   k   I   D       w   o
0011240    r   d  \t  \t   /   /       #   *      \r               n   u
0011260    m   C   h   a   r   s       w   o   r   d  \t   /   /       b
0011300    e   t   w   e   e   n       0       a   n   d       c   h   a
0011320    r   s   P   e   r   P   a   g   e       i   n   c   l   u   s
0011340    i   v   e   .  \r              \t  \t  \t   /   /       n   e
0011360        c   h   a   r   s   P   e   r   P   a   g   e       o   n
0011400    l   y       o   n       l   a   s   t       p   a   g   e  \r
0011420                p   a   g   e   N   u   m   b   e   r       w   o
0011440    r   d  \t   /   /       *       p   a   g   e       n   u   m
0011460    b   e   r       i   n       f   i   l   e       o   f       t
0011500    h   i   s       p   a   g   e  \r               p   r   e   v
0011520    i   o   u   s       @   D   H  \t  \t   /   /       d   i   s
0011540    k       a   d   d   r   e   s   s       o   f       p   r 376
0011560  001  \0 327 347   e   v   i   o   u   s       f   i   l   e    
0011600    p   a   g   e   ,       o   r       e   o   f   D   A  \r    
0011620            n   e   x   t       @   D   H  \t  \t   /   /       d
0011640    i   s   k       a   d   d   r   e   s   s       o   f       n
0011660    e   x   t       f   i   l   e       p   a   g   e   ,       o
0011700    r       e   o   f   D   A  \r               ]  \r   m   a   n
0011720    i   f   e   s   t       l   D   L   =   s   i   z   e       D
0011740    L   /   1   6  \r  \f  \r   /   /       D   i   s   k       c
0011760    o   m   m   a   n   d       b   l   o   c   k   .  \r   /   /
0012000        o   n   e       f   o   r       e   a   c   h       s   e
0012020    c   t   o   r       t   r   a   n   s   f   e   r  \r   s   t
0012040    r   u   c   t   u   r   e       K   C   B   :  \r            
0012060    [  \r               d   i   s   k   A   d   d   r   e   s   s
0012100        @   D   H       =       @   D   H  \t   /   /       +   0
0012120        +       1  \r               d   r   i   v   e       w   o
0012140    r   d  \t  \t  \t   /   /       +   2  \r               n   e
0012160    x   t   K   C 376 001  \0 347   E   B       w   o   r   d  \t
0012200   \t  \t   /   /       +   3  \r               I   D       w   o
0012220    r   d  \t  \t  \t   /   /       +   4       c   o   m   m   a
0012240    n   d       s   e   a   l  \r               C   o   m   m   H
0012260        w   o   r   d  \t  \t  \t   /   /       +   5       h   e
0012300    a   d   e   r       c   o   m   m   a   n   d       b   l   o
0012320    c   k      \r               C   o   u   n   t   H       w   o
0012340    r   d  \t  \t  \t   /   /       +   6  \r               A   d
0012360    d   r   H       w   o   r   d  \t  \t  \t   /   /       +   7
0012400   \r               E   C   C   0   H       w   o   r   d  \t  \t
0012420   \t   /   /       +   1   0  \r               E   C   C   1   H
0012440        w   o   r   d  \t  \t  \t   /   /       +   1   1  \r    
0012460            S   t   a   t   u   s   H       @   D   S   T  \t  \t
0012500   \t   /   /       +   1   2  \r               C   o   m   m   L
0012520        w   o   r   d  \t  \t  \t   /   /       +   1   3       l
0012540    a   b   e   l       c   o   m   m   a   n   d       b   l   o
0012560    c   k      \r               C   o 376 001  \0 313 375   u   n
0012600    t   L       w   o   r   d  \t  \t  \t   /   /       +   1   4
0012620   \r               A   d   d   r   L       w   o   r   d  \t  \t
0012640   \t   /   /       +   1   5  \r               E   C   C   0   L
0012660        w   o   r   d  \t  \t  \t   /   /       +   1   6  \r    
0012700            E   C   C   1   L       w   o   r   d  \t  \t  \t   /
0012720    /       +   1   7  \r               S   t   a   t   u   s   L
0012740        @   D   S   T  \t  \t  \t   /   /       +   2   0  \r    
0012760            C   o   m   m   D       w   o   r   d  \t  \t  \t   /
0013000    /       +   2   1       d   a   t   a       c   o   m   m   a
0013020    n   d       b   l   o   c   k      \r               C   o   u
0013040    n   t   D       w   o   r   d  \t  \t  \t   /   /       +   2
0013060    2  \r               A   d   d   r   D       w   o   r   d  \t
0013100   \t  \t   /   /       +   2   3  \r               E   C   C   0
0013120    D       w   o   r   d  \t  \t  \t   /   /       +   2   4  \r
0013140                E   C   C   1   D       w   o   r   d  \t  \t  \t
0013160    /   /       +   2   5  \r               S   t   a   t 376 001
0013200   \0 001   _   u   s   D       @   D   S   T  \t  \t  \t   /   /
0013220        +   2   6  \r               e   n   d   W   o   r   d    
0013240    w   o   r   d  \t  \t  \t   /   /       +   2   7  \r        
0013260        b   l   a   n   k       w   o   r   d  \t  \t  \t   /   /
0013300        +   3   0       i   n   t   e   r   r   u   p   t       b
0013320    i   t   s       w   h   e   n       i   m   p   l   e   m   e
0013340    n   t   e   d  \r               n   o   r   m   a   l   W   a
0013360    k   e   u   p   s       w   o   r   d  \t  \t   /   /       +
0013400    3   1  \r               e   r   r   o   r   W   a   k   e   u
0013420    p   s       w   o   r   d  \t  \t   /   /       +   3   2  \r
0013440                ]  \r   m   a   n   i   f   e   s   t       l   K
0013460    C   B   =   s   i   z   e       K   C   B   /   1   6  \r  \r
0013500    /   /       C   o   m   m   a   n   d       f   o   r   m   a
0013520    t       f   o   r       e   a   c   h       b   l   o   c   k
0013540        w   i   t   h   i   n       a       s   e   c   t   o   r
0013560   \r   /   /       u   s   e   d       t   o       f   i   l   l
0013600        i   n 376 001  \0 323 266       C   B  \r   s   t   r   u
0013620    c   t   u   r   e       K   C   B   b   l   o   c   k       :
0013640   \r               [  \r               C   o   m   m       w   o
0013660    r   d  \r               C   o   u   n   t       w   o   r   d
0013700   \r               A   d   d   r       w   o   r   d  \r        
0013720        E   C   C   0       w   o   r   d  \r               E   C
0013740    C   1       w   o   r   d  \r               S   t   a   t   u
0013760    s       w   o   r   d  \r               ]  \r   m   a   n   i
0014000    f   e   s   t       l   K   C   B   b   l   =   s   i   z   e
0014020        K   C   B   b   l   o   c   k   /   1   6  \r  \r  \f  \r
0014040    /   /       T   F   S       s   p   e   c   i   a   l   i   z
0014060    a   t   i   o   n       o   f       t   h   e       D   i   s
0014100    k       C   B   Z  \r   s   t   r   u   c   t   u   r   e    
0014120    T   F   S   C   B   Z   :  \r               [  \r            
0014140    @   C   B   Z  \t  \t  \t  \t   /   /       s   t   a   n   d
0014160    a   r   d       p   a   r   t  \r               C   B   s    
0014200    w   o   r   d       0  \t  \t 376 001  \0 201   R  \t   /   /
0014220        *       a   s       m   a   n   y       C   B   s       a
0014240    s       w   i   l   l       f   i   t       s   t   a   r   t
0014260        h   e   r   e  \r               ]  \r   m   a   n   i   f
0014300    e   s   t       l   T   F   S   C   B   Z       =       s   i
0014320    z   e       T   F   S   C   B   Z   /   1   6           /   /
0014340        f   i   x   e   d       p   a   r   t       o   f       C
0014360    B   Z  \r  \r   /   /       e   a   c   h       C   B   Z    
0014400    c   o   n   t   a   i   n   s       a       C   B       f   o
0014420    r       e   a   c   h       p   o   s   s   i   b   l   e    
0014440    t   r   a   n   s   f   e   r       e   n   q   u   e   u   e
0014460    d  \r   /   /       t   h   e       l   a   b   e   l       m
0014500    u   s   t       c   o   m   e       f   i   r   s   t       f
0014520    o   l   l   o   w   e   d       b   y       t   h   e       D
0014540    C   B       (   f   o   r       c   h   a   i   n   i   n   g
0014560    )  \r   /   /       a       f   r   e   e       C   B       m
0014600    u   s   t       h   a   v   e       s   t   a   t 376 001  \0
0014620  211 024   u   s   =   D   S   T   f   r   e   e   S   t   a   t
0014640    u   s       (   i   n   i   t   i   a   l   i   z   a   t   i
0014660    o   n       d   o   e   s       t   h   a   t   )  \r   /   /
0014700        *   =   i   n   i   t   i   a   l   i   z   e   d       b
0014720    y       I   n   i   t   i   a   l   i   z   e   C   b   S   t
0014740    o   r   a   g   e   ;       e   v   e   r   y   t   h   i   n
0014760    g       e   l   s   e       i   s       z   e   r   o   e   d
0015000   \r   s   t   r   u   c   t   u   r   e       C   B   :  \r    
0015020            [  \r               l   a   b   e   l       @   D   L
0015040   \t  \t   /   /       l   a   b   e   l       (   1   0       w
0015060    o   r   d   s   )  \r               @   K   C   B  \t  \t  \t
0015100    /   /       h   a   r   d   w   a   r   e       o   r   i   e
0015120    n   t   e   d       c   o   n   t   r   o   l       b   l   o
0015140    c   k           (   2   7       w   o   r   d   s   )  \r    
0015160            t   r   u   e   P   a   g   e   N   u   m   b   e   r
0015200        w   o   r   d  \t   /   /       '   v   a   r   i   a   b
0015220    l   e 376 001  \0   A 253   '       p   a   r   t       o   f
0015240        t   h   e       c   b       e   n   d   s       h   e   r
0015260    e  \r   /   /       r   e   m   a   i   n   i   n   g       w
0015300    o   r   d   s       a   r   e       n   o   t       z   e   r
0015320    o   e   d       b   y       T   F   S   G   e   t   C   b  \r
0015340                c   b   z       w   o   r   d  \t  \t   /   /    
0015360    *  \r               v   D   i   s   k   A   d   d   r   e   s
0015400    s       w   o   r   d  \t   /   /       V   D   A       f   o
0015420    r       t   h   i   s       x   f   e   r       (   o   f   f
0015440    s   e   t       =       3   8   .   )  \r               n   e
0015460    x   t   C   B       w   o   r   d  \t  \t   /   /       *    
0015500    p   o   i   n   t   e   r       t   o       n   e   x   t    
0015520    C   B       o   n       C   B   Z       q   u   e   u   e  \r
0015540                ]  \r   m   a   n   i   f   e   s   t  \r        
0015560        [      \r               l   C   B       =       s   i   z
0015600    e       C   B   /   1   6  \r               l   V   a   r   C
0015620    B       =       o   f   f 376 001  \0 341 267   s   e   t    
0015640    C   B   .   c   b   z   /   1   6  \r               C   B   z
0015660    o   n   e   L   e   n   g   t   h       =       l   T   F   S
0015700    C   B   Z   +   6   *   l   C   B           /   /   6       C
0015720    B   s       r   e   q   u   i   r   e   d       t   o       r
0015740    u   n       a   t       d   i   s   k       s   p   e   e   d
0015760   \r               ]  \r  \f  \r   /   /       D   S   K       s
0016000    t   r   u   c   t   u   r   e       f   o   r       T   r   i
0016020    d   e   n   t  \r   /   /       F   i   r   s   t   ,       t
0016040    h   e       l   o   c   a   l       d   e   f   i   n   i   t
0016060    i   o   n   s       f   o   r       T   r   i   d   e   n   t
0016100        o   n   l   y   :  \r   /   /       f   i   r   s   t    
0016120    l   T   F   S   K   D   H   e   a   d   e   r       w   o   r
0016140    d   s       a   r   e       r   e   a   d       i   n       f
0016160    r   o   m       d   i   s   k       a   t       n   o   r   m
0016200    a   l       s   t   a   r   t   u   p  \r   m   a   n   i   f
0016220    e   s   t       T   F   S   K   D   v   e   r 376 001  \0  \0
0016240  351   s   i   o   n   =   2  \r  \r   s   t   r   u   c   t   u
0016260    r   e       T   F   S   K   D   :  \r               [  \r    
0016300            @   K   D   H  \t  \t  \t  \t   /   /       s   t   a
0016320    n   d   a   r   d       1   s   t       p   a   r   t  \r    
0016340            v   e   r   s   i   o   n       w   o   r   d  \t  \t
0016360   \t   /   /       v   e   r   s   i   o   n       n   u   m   b
0016400    e   r       o   f       t   h   i   s       D   i   s   k   D
0016420    e   s   c   r   i   p   t   o   r  \r               m   o   d
0016440    e   l       w   o   r   d  \t  \t  \t   /   /       d   i   s
0016460    k       m   o   d   e   l       n   u   m   b   e   r  \r    
0016500            p   a   c   k   I   D       w   o   r   d  \t  \t  \t
0016520    /   /       f   i   e   l   d       s   e   t   u   p       w
0016540    h   e   n       d   i   s   k       i   n   i   t   i   a   l
0016560    i   z   e   d  \r               V   D   A   d   i   s   k   D
0016600    D   ^   1   ,   l   e   n   g   t   h   T   F   S   B   T   +
0016620    1       w   o   r   d           /   /       V   D   A   s    
0016640    o 376 001  \0   C 365   f       t   h   e       d   a   t   a
0016660        p   a   r   t       o   f       D   D  \r               f
0016700    i   r   s   t   V   T   r   a   c   k       w   o   r   d  \t
0016720   \t   /   /       f   i   r   s   t       t   r   a   c   k    
0016740    u   s   e   d       i   n       f   i   l   e       s   y   s
0016760    t   e   m  \r               n   V   T   r   a   c   k   s    
0017000    w   o   r   d  \t  \t   /   /       n   u   m   b   e   r    
0017020    o   f       t   r   a   c   k   s       u   s   e   d       i
0017040    n       f   i   l   e       s   y   s   t   e   m  \r        
0017060        n   T   r   a   n   s   f   e   r   s       w   o   r   d
0017100        2  \t  \t   /   /       t   o   t   a   l       n   u   m
0017120    b   e   r       o   f       t   r   a   n   s   f   e   r   s
0017140        o   n       t   h   i   s       d   i   s   k  \r        
0017160        n   E   r   r   o   r   s       w   o   r   d       2  \t
0017200   \t   /   /       t   o   t   a   l       n   u   m   b   e   r
0017220        o   f       e   r   r   o   r   s       -   -       s   e
0017240    e       T   f   s   G 376 001  \0 367 347   e   t   C   b  \r
0017260                n   E   C   C   E   r   r   o   r   s       w   o
0017300    r   d       2  \t  \t   /   /       t   o   t   a   l       n
0017320    u   m   b   e   r       o   f       E   C   C       e   r   r
0017340    o   r   s       e   n   c   o   u   n   t   e   r   e   d  \r
0017360                n   E   C   C   F   i   x   e   s       w   o   r
0017400    d       2  \t  \t   /   /       t   o   t   a   l       n   u
0017420    m   b   e   r       o   f       t   i   m   e   s       r   e
0017440    c   o   v   e   r   y       s   u   c   c   e   s   s   f   u
0017460    l  \r               n   R   e   s   t   o   r   e   s       w
0017500    o   r   d       2  \t  \t   /   /       n   u   m   b   e   r
0017520        o   f       "   r   e   s   t   o   r   e   "       o   p
0017540    e   r   a   t   i   o   n   s       d   o   n   e  \r        
0017560        n   U   n   R   e   c   o   v       w   o   r   d       2
0017600   \t  \t   /   /       n   u   m   b   e   r       o   f       u
0017620    n   r   e   c   o   v   e   r   a   b   l   e       e   r   r
0017640    o   r   s  \r               n   B   T   E 376 001  \0 220 335
0017660    r   r   o   r   s       w   o   r   d       2  \t  \t   /   /
0017700        n   u   m   b   e   r       o   f       b   i   t       t
0017720    a   b   l   e       d   i   s   c   r   e   p   a   n   c   i
0017740    e   s  \r               l   a   s   t   P   a   g   e   A   l
0017760    l   o   c       w   o   r   d  \t  \t   /   /       l   a   s
0020000    t       V   D   A       a   l   l   o   c   a   t   e   d    
0020020    -   -       f   o   r       b   i   a   s   i   n   g       s
0020040    e   a   r   c   h  \r  \r   /   /       w   o   r   d   s    
0020060    b   e   y   o   n   d       h   e   r   e       a   r   e    
0020100    n   o   t       s   a   v   e   d       o   n       t   h   e
0020120        d   i   s   k  \r               i   n   i   t   m   o   d
0020140    e       w   o   r   d  \t  \t   /   /       n   o   n   z   e
0020160    r   o       i   f       p   e   r   m   i   t   t   e   d    
0020200    t   o       c   r   e   a   t   e       n   e   w       f   i
0020220    l   e   s  \r               z   o   n   e       w   o   r   d
0020240   \t  \t  \t   /   /       z   o   n   e       o   f       t   h
0020260  376 001  \0   v   =   i   s       D   S   K  \r               d
0020300    d   M   g   r       w   o   r   d  \t  \t  \t   /   /       p
0020320    o   i   n   t   e   r       t   o       D   i   s   k   D   e
0020340    s   c   r   i   p   t   o   r       M   a   n   a   g   e   r
0020360        o   b   j   e   c   t  \r               f   p   T   F   S
0020400    S   y   s   D   i   r   b   l   k       w   o   r   d       l
0020420    F   P  \t   /   /       s   t   o   r   a   g   e       f   o
0020440    r       F   P  \r               f   p   T   F   S   D   D   b
0020460    l   k       w   o   r   d       l   F   P  \t  \t   /   /    
0020500    s   t   o   r   a   g   e       f   o   r       F   P  \r    
0020520            f   p   T   F   S   W   D   b   l   k       w   o   r
0020540    d       l   F   P  \t  \t   /   /       s   t   o   r   a   g
0020560    e       f   o   r       F   P  \r               W   D   N   a
0020600    m   e   b   l   k       w   o   r   d       m   a   x   L   e
0020620    n   g   t   h   F   n   I   n   W   o   r   d   s           /
0020640    /       s   t   o   r   a   g   e       f   o   r       n   a
0020660    m   e  \r         376 001  \0   | 033       ]  \r   m   a   n
0020700    i   f   e   s   t       l   T   F   S   K   D   H   e   a   d
0020720    e   r       =       (   o   f   f   s   e   t       T   F   S
0020740    K   D   .   i   n   i   t   m   o   d   e   /   1   6   )  \r
0020760   \r   /   /       e   x   t   e   n   d   e   d       v   e   r
0021000    s   i   o   n       o   f       t   h   e       d   i   s   k
0021020        s   t   r   u   c   t   u   r   e  \r   s   t   r   u   c
0021040    t   u   r   e       T   F   S   D   S   K   :  \r            
0021060    [  \r               @   D   S   K  \r               @   T   F
0021100    S   K   D  \r               ]  \r   m   a   n   i   f   e   s
0021120    t       l   T   F   S   D   S   K       =       s   i   z   e
0021140        T   F   S   D   S   K   /   1   6  \r  \r   /   /       T
0021160    F   S   D   S   K       o   f   f   s   e   t   s       k   n
0021200    o   w   n       t   o       T   f   s   A   .   A   s   m  \r
0021220    c   o   m   p   i   l   e   i   f       o   f   f   s   e   t
0021240        T   F   S   D   S   K   .   n   H   e   a   d   s   /   1
0021260    6       n   e       2   6       %     376 001  \0   ~   j   o
0021300    f   f   s   e   t       T   F   S   D   S   K   .   n   S   e
0021320    c   t   o   r   s   /   1   6       n   e       2   7       %
0021340   \r       o   f   f   s   e   t       T   F   S   D   S   K   .
0021360    f   i   r   s   t   V   T   r   a   c   k   /   1   6       n
0021400    e       4   8       %       o   f   f   s   e   t       T   F
0021420    S   D   S   K   .   n   V   T   r   a   c   k   s   /   1   6
0021440        n   e       4   9       t   h   e   n  \r               [
0021460        B   a   r   f   (   "   T   F   S   D   S   K       o   f
0021500    f   s   e   t   s       w   r   o   n   g   "   )       ]  \r
0021520   \r   /   /       b   a   d       p   a   g   e       l   i   s
0021540    t       (   o   n       p   h   y   s   i   c   a   l       p
0021560    a   g   e       0       o   f       p   a   c   k   )  \r   s
0021600    t   r   u   c   t   u   r   e       B   P   L   :  \r        
0021620        [  \r               s   e   a   l       w   o   r   d  \t
0021640   \t   /   /       i   n   d   i   c   a   t   e   s       p   r
0021660    e   s   e   n   c   e       o   f       b   a   d       p 376
0021700  001  \0 031   H   a   g   e       l   i   s   t  \r            
0021720    n   B   a   d   P   a   g   e   s       w   o   r   d  \t   /
0021740    /       n   u   m   b   e   r       o   f       b   a   d    
0021760    p   a   g   e   s  \r               d   a   ^   0   ,   0    
0022000    @   D   A  \t  \t   /   /       r   e   a   l       d   i   s
0022020    k       a   d   d   r   e   s   s   e   s       o   f       b
0022040    a   d       p   a   g   e   s  \r               ]  \r   m   a
0022060    n   i   f   e   s   t       b   p   l   S   e   a   l       =
0022100        #   1   2   3   4   5   6  \r  \r   /   /       e   r   r
0022120    o   r       c   o   d   e   s  \r   m   a   n   i   f   e   s
0022140    t  \r               [  \r               e   c   O   s   V   e
0022160    r   s   i   o   n       =       2   4   0   3  \r            
0022200    e   c   T   f   s   Q   u   e   u   e       =       2   4   0
0022220    4  \r               e   c   N   o   C   r   e   a   t   i   o
0022240    n   A   b   i   l   i   t   y       =       2   4   0   5  \r
0022260                e   c   B   a   d   A   c   t   i   o   n       =
0022300        2   4   0 376  \0 254 354   y   6  \r               e   c
0022320    B   a   d   B   t   P   a   g   e       =       2   4   0   7
0022340   \r               e   c   E   s   s   e   n   t   i   a   l   F
0022360    i   l   e       =       2   4   0   8  \r               e   c
0022400    B   a   d   A   s   s   i   g   n   P   a   g   e       =    
0022420    2   4   0   9  \r               e   c   R   e   a   d   O   n
0022440    l   y       =       2   4   1   0  \r               e   c   D
0022460    r   i   v   e   H   u   n   g       =       2   4   1   1  \r
0022500                e   c   U   n   R   e   c   o   v   D   i   s   k
0022520    E   r   r   o   r       =       2   4   1   2  \r            
0022540    e   c   D   i   s   k   F   u   l   l   =   2   4   1   3  \r
0022560                ]  \r 377  \0  \0   T   f   s   I   n   i   t   .
0022600    b   c   p   l  \0 373 227 030 332 371  \0  \0 376 001  \0   /
0022620  355   /   /       T   f   s   I   n   i   t   .   b   c   p   l
0022640   \r   /   /       C   o   p   y   r   i   g   h   t       X   e
0022660    r   o   x       C   o   r   p   o   r   a   t   i   o   n    
0022700    1   9   7   9   ,       1   9   8   0   ,       1   9   8   1
0022720   \r  \r   /   /  \t   L   a   s   t       m   o   d   i   f   i
0022740    e   d       A   p   r   i   l       3   0   ,       1   9   8
0022760    1           8   :   2   8       P   M       b   y       T   a
0023000    f   t  \r  \r   g   e   t       "   A   l   t   o   f   i   l
0023020    e   s   y   s   .   d   "  \r   g   e   t       "   D   i   s
0023040    k   s   .   d   "  \r   g   e   t       "   T   f   s   .   d
0023060    "  \r   g   e   t       "   S   t   r   e   a   m   s   .   d
0023100    "  \r   g   e   t       "   A   l   t   o   D   e   f   s   .
0023120    d   "  \r  \r   e   x   t   e   r   n   a   l  \r   [      \r
0023140    /   /       T   F   S       p   r   o   c   e   d   u   r   e
0023160    s       d   e   f   i   n   e   d       h   e   r   e  \r   T
0023200    F   S   I   n   i   t  \r   T   F   S   S   e   t   D   i   s
0023220    k 376 001  \0   K 255  \r   T   F   S   T   r   y   D   i   s
0023240    k  \r   T   F   S   D   i   s   k   M   o   d   e   l  \r  \r
0023260    /   /       T   F   S       p   r   o   c   e   d   u   r   e
0023300    s       d   e   f   i   n   e   d       e   l   s   e   w   h
0023320    e   r   e  \r   T   F   S   R   e   a   d   B   T   p   a   g
0023340    e  \r   T   F   S   A   c   t   O   n   P   a   g   e   s  \r
0023360    T   F   S   V   i   r   t   u   a   l   D   A  \r   T   F   S
0023400    R   e   a   l   D   A  \r   T   F   S   W   r   i   t   e   P
0023420    a   g   e   s  \r   T   F   S   C   r   e   a   t   e   F   i
0023440    l   e  \r   T   F   S   D   e   l   e   t   e   P   a   g   e
0023460    s  \r   T   F   S   A   s   s   i   g   n   D   i   s   k   P
0023500    a   g   e  \r   T   F   S   R   e   l   e   a   s   e   D   i
0023520    s   k   P   a   g   e  \r   T   F   S   I   n   i   t   i   a
0023540    l   i   z   e   C   b   S   t   o   r   a   g   e  \r   T   F
0023560    S   D   o   D   i   s   k   C   o   m   m   a   n   d  \r   T
0023600    F   S   G   e   t   C   b  \r   T   F   S   C   l   o   s   e
0023620   \r   T   F   S   N   o 376 001  \0 031   e   n   E   x  \r   D
0023640    o   R   e   c   o   v   e   r   y  \r   T   F   S   W   a   i
0023660    t   Q   u   i   e   t  \r   T   F   S   M   o   d   S   h   i
0023700    f   t  \r   T   F   S   M   o   d   S   h   i   f   t   A  \r
0023720    T   F   S   S   i   l   e   n   t   B   o   o   t  \r   T   F
0023740    S   C   r   e   a   t   e   D   D   M   g   r  \r   O   p   e
0023760    n   D   D  \r  \r   /   /       O   S  \r   A   c   t   O   n
0024000    D   i   s   k   P   a   g   e   s  \r   S   e   t   W   o   r
0024020    k   i   n   g   D   i   r  \r   O   p   e   n   F   i   l   e
0024040   \r   C   l   o   s   e   s  \r   G   e   t   s  \r   R   e   a
0024060    d   B   l   o   c   k  \r   W   r   i   t   e   B   l   o   c
0024100    k  \r   A   l   l   o   c   a   t   e  \r   F   r   e   e  \r
0024120    Z   e   r   o  \r   M   o   v   e   B   l   o   c   k  \r   S
0024140    y   s   E   r   r  \r   S   t   a   r   t   I   O      \r   D
0024160    e   f   a   u   l   t   A   r   g   s  \r   I   d   l   e  \r
0024200    N   o   o   p  \r  \r   /   /       S   t   a   t   i   c   s
0024220   \r   T   F   S   L   o   c   k  \r   T   F 376 001  \0 311 200
0024240    S   L   e   a   v   e   D   i   s   p   l   a   y  \r   O   s
0024260    V   e   r   s   i   o   n  \r   A   l   t   o   V   e   r   s
0024300    i   o   n  \r   ]  \r   m   a   n   i   f   e   s   t       R
0024320    T   C   =   #   4   3   0  \t  \t   /   /   R   e   a   l    
0024340    t   i   m   e       c   l   o   c   k  \r  \f  \r   /   /   -
0024360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024460    -   -   -   -   -   -   -   -   -   -   -  \r   l   e   t    
0024500    T   F   S   I   n   i   t   (   z   o   n   e   ,       i   n
0024520    i   t   m   o   d   e   ,       d   r   i   v   e   N   u   m
0024540    b   e   r   ,       d   d   M   g   r   ,       f   r   e   s
0024560    h   D   i   s   k   ;       n   u   m   a   r   g   s       n
0024600    a   )       =       v   a   l   o   f  \r   /   /   -   -   -
0024620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0024640  376 001  \0 254   3   -   -   -   -   -   -   -   -   -   -   -
0024660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0024720    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0024740   \r   D   e   f   a   u   l   t   A   r   g   s   (   l   v    
0024760    n   a   ,       -   1   ,       0   ,       0   ,       0   ,
0025000        0   )  \r   m   a   n   i   f   e   s   t       m   i   n
0025020    O   s   V   e   r   s   i   o   n       =       1   6  \r   i
0025040    f       O   s   V   e   r   s   i   o   n       l   s       m
0025060    i   n   O   s   V   e   r   s   i   o   n       t   h   e   n
0025100        S   y   s   E   r   r   (   m   i   n   O   s   V   e   r
0025120    s   i   o   n   ,       e   c   O   s   V   e   r   s   i   o
0025140    n   )  \r  \r   /   /       A   l   t   o       I   I       c
0025160    o   n   v   e   n   t   i   o   n       i   s       t   o    
0025200    s   e   t       l   o   c   a   t   i   o   n       6   1   3
0025220        t   o       -   1   .  \r   /   /       T   h   e       r
0025240    e   a   s   o   n 376 001  \0 034  \f       w   e       r   e
0025260    c   o   m   p   u   t   e       A   l   t   o   V   e   r   s
0025300    i   o   n       i   s       t   o       e   n   s   u   r   e
0025320        i   t       i   s       c   o   r   r   e   c   t       e
0025340    v   e   n  \r   /   /       i   n       a       b   o   o   t
0025360        f   i   l   e       t   h   a   t       w   a   s       c
0025400    r   e   a   t   e   d       o   n       a       d   i   f   f
0025420    e   r   e   n   t       t   y   p   e       o   f       m   a
0025440    c   h   i   n   e   .  \r   A   l   t   o   V   e   r   s   i
0025460    o   n       =       (   t   a   b   l   e       [       #   6
0025500    1   0   1   4   ;       #   1   4   0   1       ]   )   (   )
0025520            /   /       V   E   R   S  \r   @   #   6   1   3    
0025540    =       A   l   t   o   V   e   r   s   i   o   n   <   <   V
0025560    E   R   S   .   e   n   g       g   r       1  \r   i   f    
0025600    A   l   t   o   V   e   r   s   i   o   n   <   <   V   E   R
0025620    S   .   e   n   g       g   e       4       t   h   e   n  \r
0025640                [           /   /       D 376 001  \0 254 310   o
0025660    l   p   h   i   n       o   r       D   o   r   a   d   o  \r
0025700                T   F   S   L   e   a   v   e   D   i   s   p   l
0025720    a   y       =       t   r   u   e  \t   /   /       d   o   n
0025740    '   t       n   e   e   d       t   o       t   u   r   n    
0025760    d   i   s   p   l   a   y       o   f   f  \r               T
0026000    F   S   S   i   l   e   n   t   B   o   o   t       =       N
0026020    o   o   p  \t  \t   /   /       d   o   n   '   t       s   i
0026040    l   e   n   t       b   o   o   t       w   h   e   n       f
0026060    i   n   i   s   h   i   n   g  \r               T   F   S   M
0026100    o   d   S   h   i   f   t       =       T   F   S   M   o   d
0026120    S   h   i   f   t   A  \t   /   /       u   s   e       s   o
0026140    f   t   w   a   r   e       E   C   C       c   o   r   r   e
0026160    c   t   i   o   n       s   u   b   r   o   u   t   i   n   e
0026200   \r               ]  \r  \r   /   /       s   e   p   a   r   a
0026220    t   e       o   u   t       t   h   e       f   i   l   e    
0026240    s   y   s   t   e   m       n   u   m   b   e   r       ( 376
0026260  001  \0   " 004   i   f       T   -   3   0   0   )  \r   l   e
0026300    t       f   s   N   u   m   b   e   r       =       d   r   i
0026320    v   e   N   u   m   b   e   r       r   s   h   i   f   t    
0026340    8  \r   d   r   i   v   e   N   u   m   b   e   r       =    
0026360    d   r   i   v   e   N   u   m   b   e   r       &       #   3
0026400    7   7  \r  \r   /   /       F   i   r   s   t   ,       t   r
0026420    y       t   o       s   e   l   e   c   t       a       d   i
0026440    s   k       t   h   a   t       d   o   e   s       n   o   t
0026460        e   x   i   s   t   .           I   f  \r   /   /       s
0026500    e   l   e   c   t   i   o   n       s   u   c   c   e   e   d
0026520    s   ,       i   t       i   s       b   e   c   a   u   s   e
0026540        t   h   e       c   o   n   t   r   o   l   l   e   r    
0026560    d   o   e   s       n   o   t  \r   /   /       h   a   v   e
0026600        a       m   u   l   t   i   -   d   r   i   v   e       m
0026620    u   l   t   i   p   l   e   x   o   r       a   t   t   a   c
0026640    h   e   d   .           N   o   t   e       t   h   a   t    
0026660    t   h   e  \r 376 001  \0 217 270   /   /       i   m   p   o
0026700    r   t   a   n   t       b   i   t       i   n       t   h   e
0026720        d   i   s   k       n   u   m   b   e   r       i   s    
0026740    1   0   b   ,       b   e   c   a   u   s   e       t   h   i
0026760    s       w   i   l   l  \r   /   /       c   a   u   s   e    
0027000    n   o   n   e       o   f       t   h   e       8       c   o
0027020    p   i   e   s       o   f       t   h   e       s   e   l   e
0027040    c   t   i   o   n       l   o   g   i   c       t   o       b
0027060    e  \r   /   /       e   n   a   b   l   e   d   .           (
0027100    T   h   e       d   r   i   v   e   -   s   e   l   e   c   t
0027120        d   e   c   o   d   e   r       i   s       o   n   l   y
0027140        4       b   i   t   s       w   i   d   e   !   !   )  \r
0027160    /   /       3   7       i   s       u   s   e   d       r   a
0027200    t   h   e   r       t   h   a   n       1   7       b   e   c
0027220    a   u   s   e       3   7       i   s       s   p   e   c   i
0027240    f   i   c   a   l   l   y       d   e   f   i   n   e   d  \r
0027260    /   /       a   s       a       n 376 001  \0   b   T   o   n
0027300    e   x   i   s   t   e   n   t       d   r   i   v   e       o
0027320    n       t   h   e       D   o   r   a   d   o   .  \r   l   e
0027340    t       p       =       T   F   S   T   r   y   D   i   s   k
0027360    (   3   7   b   )  \t  \t   /   /   S   e   e       i   f    
0027400    c   o   n   t   r   o   l   l   e   r       h   o   o   k   e
0027420    d       u   p  \r   i   f       p       e   q       0       t
0027440    h   e   n       r   e   s   u   l   t   i   s       0  \t   /
0027460    /   N   o       -   -       n   o       d   i   c   e  \r   i
0027500    f       d   r   i   v   e   N   u   m   b   e   r       n   e
0027520        0       &       p       e   q       1       t   h   e   n
0027540        r   e   s   u   l   t   i   s       0  \t   /   /   N   o
0027560    t       m   u   l   t   i   -   d   r   i   v   e       c   o
0027600    n   t   r   o   l   l   e   r  \r   p       =       T   F   S
0027620    T   r   y   D   i   s   k   (   d   r   i   v   e   N   u   m
0027640    b   e   r   )  \t   /   /   N   o   w       l   o   o   k    
0027660    f   o   r       e   x   a   c   t       d   r   i   v 376 001
0027700   \0  \a   ^   e  \r   i   f       p       n   e       1       t
0027720    h   e   n       r   e   s   u   l   t   i   s       0  \t   /
0027740    /   N   o   t       t   h   e   r   e       o   r       n   o
0027760    t       o   n   -   l   i   n   e  \r  \r   /   /       S   e
0030000    t   u   p       s   t   r   u   c   t   u   r   e   s       n
0030020    e   e   d   e   d       f   o   r       s   u   b   s   e   q
0030040    u   e   n   t       a   c   c   e   s   s   e   s  \r   l   e
0030060    t       d   i   s   k       =       A   l   l   o   c   a   t
0030100    e   (   z   o   n   e   ,       l   T   F   S   D   S   K   )
0030120   \r   Z   e   r   o   (   d   i   s   k   ,       l   T   F   S
0030140    D   S   K   )  \r   T   F   S   S   e   t   D   i   s   k   (
0030160    d   i   s   k   ,       i   n   i   t   m   o   d   e   ,    
0030200    d   r   i   v   e   N   u   m   b   e   r   )  \r   d   i   s
0030220    k   >   >   T   F   S   D   S   K   .   z   o   n   e       =
0030240        z   o   n   e  \r  \r   /   /       d   o       a       r
0030260    e   s   t   o   r   e       i   f       t   h   e       d   r
0030300    i   v   e 376 001  \0 265 241       a   p   p   e   a   r   s
0030320        t   o       b   e       i   n       t   r   o   u   b   l
0030340    e  \r   i   f       K   B   L   K   >   >   K   B   L   K   .
0030360    D   e   v   i   c   e   C   k       %       K   B   L   K   >
0030400    >   K   B   L   K   .   S   e   e   k   I   n   c       t   h
0030420    e   n       D   o   R   e   c   o   v   e   r   y   (   d   i
0030440    s   k   ,       d   i   s   k   R   e   s   t   o   r   e   )
0030460   \r  \r   /   /       s   e   t       u   p       p   h   y   s
0030500    i   c   a   l       d   i   s   k       s   h   a   p   e  \r
0030520    l   e   t       m   o   d   e   l       =       D   e   t   e
0030540    r   m   i   n   e   D   i   s   k   M   o   d   e   l   (   d
0030560    i   s   k   )  \r   d   i   s   k   >   >   T   F   S   D   S
0030600    K   .   m   o   d   e   l       =       m   o   d   e   l  \r
0030620   \r   /   /       S   e   t       u   p       f   i   l   e    
0030640    s   y   s   t   e   m       r   e   l   a   t   e   d       p
0030660    a   r   a   m   e   t   e   r   s   .  \r   /   /       L   a
0030700    r   g   e   s   t       p   o 376 001  \0   o 234   s   s   i
0030720    b   l   e       f   i   l   e       s   y   s   t   e   m    
0030740    h   a   s       2   ^   1   6   -   1       p   a   g   e   s
0030760    .           I   f       t   h   e       p   h   y   s   i   c
0031000    a   l       d   i   s   k  \r   /   /       i   s       b   i
0031020    g   g   e   r       t   h   a   n       t   h   i   s   ,    
0031040    t   h   e   n       m   u   l   t   i   p   l   e       f   i
0031060    l   e       s   y   s   t   e   m   s       m   u   s   t    
0031100    b   e       c   o   n   s   t   r   u   c   t   e   d   .  \r
0031120    /   /       E   a   c   h       f   i   l   e       s   y   s
0031140    t   e   m       (   e   x   c   e   p   t       t   h   e    
0031160    l   a   s   t   )       c   o   n   s   i   s   t   s       o
0031200    f       t   h   e       l   a   r   g   e   s   t       i   n
0031220    t   e   g   r   a   l  \r   /   /       n   u   m   b   e   r
0031240        o   f       t   r   a   c   k   s       (   n   V   T   r
0031260    a   c   k   s   )       s   u   c   h       t   h   a   t    
0031300    t   h   e       f   i   l   e       s   y   s   t 376 001  \0
0031320  033 240   e   m       c   o   n   t   a   i   n   s       f   e
0031340    w   e   r  \r   /   /       t   h   a   n       2   ^   1   6
0031360        p   a   g   e   s   ,       a   n   d       i   s       o
0031400    f   f   s   e   t       f   r   o   m       t   h   e       b
0031420    e   g   i   n   n   i   n   g       o   f       t   h   e    
0031440    d   i   s   k       b   y       a   n  \r   /   /       i   n
0031460    t   e   g   r   a   l       n   u   m   b   e   r       o   f
0031500        t   r   a   c   k   s       (   f   i   r   s   t   V   T
0031520    r   a   c   k   )   .  \r   /   /       T   h   e       c   o
0031540    r   r   e   c   t       g   e   n   e   r   a   l       c   o
0031560    m   p   u   t   a   t   i   o   n       f   o   r       t   h
0031600    i   s       i   s   :  \r   /   /               n   V   T   r
0031620    a   c   k   s       =       (   2   ^   1   6   -   1   )   /
0031640    (   n   H   e   a   d   s   *   n   S   e   c   t   o   r   s
0031660    )  \r   /   /               f   i   r   s   t   V   T   r   a
0031700    c   k       =       f   s   N   u   m   b   e   r   *   n   V
0031720    T   r 376 001  \0   / 366   a   c   k   s  \r   /   /       H
0031740    o   w   e   v   e   r   ,       t   h   i   s       i   s    
0031760    m   e   s   s   y       t   o       d   o       i   n       B
0032000    C   P   L       b   e   c   a   u   s   e       i   t       r
0032020    e   q   u   i   r   e   s       u   n   s   i   g   n   e   d
0032040   \r   /   /       d   i   v   i   s   i   o   n   .           S
0032060    i   n   c   e       t   h   e       T   r   i   d   e   n   t
0032100        T   -   3   0   0       i   s       t   h   e       o   n
0032120    l   y       d   i   s   k       l   a   r   g   e       e   n
0032140    o   u   g   h  \r   /   /       t   o       r   e   q   u   i
0032160    r   e       t   h   i   s       t   r   e   a   t   m   e   n
0032200    t   ,       i   t       i   s       t   h   e   r   e   f   o
0032220    r   e       h   a   n   d   l   e   d       a   s       a    
0032240    s   p   e   c   i   a   l       c   a   s   e   .  \r   m   a
0032260    n   i   f   e   s   t       m   a   x   T   3   0   0   n   V
0032300    T   r   a   c   k   s       =       3   8   3           /   /
0032320        (   2   ^   1   6   - 376 001  \0 336   8   1   )   /   (
0032340    1   9   *   9   )  \r   i   f       (   m   o   d   e   l    
0032360    n   e       3   0   0       &       f   s   N   u   m   b   e
0032400    r       n   e       0   )       %       f   s   N   u   m   b
0032420    e   r       g   r       2       t   h   e   n  \r            
0032440    [       F   r   e   e   (   z   o   n   e   ,       d   i   s
0032460    k   )   ;       r   e   s   u   l   t   i   s       0       ]
0032500            /   /   n   o       s   u   c   h       f   s       o
0032520    n       p   a   c   k  \r   d   i   s   k   >   >   T   F   S
0032540    D   S   K   .   f   i   r   s   t   V   T   r   a   c   k    
0032560    =       f   s   N   u   m   b   e   r   *   m   a   x   T   3
0032600    0   0   n   V   T   r   a   c   k   s  \r   d   i   s   k   >
0032620    >   T   F   S   D   S   K   .   n   V   T   r   a   c   k   s
0032640        =       d   i   s   k   >   >   T   F   S   D   S   K   .
0032660    n   T   r   a   c   k   s   -   d   i   s   k   >   >   T   F
0032700    S   D   S   K   .   f   i   r   s   t   V   T   r   a   c   k
0032720   \r   i   f       m   o   d   e   l       e   q 376 001  \0   )
0032740    N       3   0   0       &       d   i   s   k   >   >   T   F
0032760    S   D   S   K   .   n   V   T   r   a   c   k   s       g   r
0033000        m   a   x   T   3   0   0   n   V   T   r   a   c   k   s
0033020        t   h   e   n  \r               d   i   s   k   >   >   T
0033040    F   S   D   S   K   .   n   V   T   r   a   c   k   s       =
0033060        m   a   x   T   3   0   0   n   V   T   r   a   c   k   s
0033100   \r  \f  \r   /   /       T   F   S   I   n   i   t       (   c
0033120    o   n   t   '   d   )  \r  \r   /   /       S   e   t   u   p
0033140        d   i   r   e   c   t   o   r   y       f   p       f   o
0033160    r       t   h   i   s       d   i   s   k  \r   l   e   t    
0033200    f   i   d   T   F   S   S   y   s   d   i   r       =       t
0033220    a   b   l   e       [       #   1   0   0   0   0   0       ;
0033240        1   0   0       ]  \r   l   e   t       f   p   T   F   S
0033260    S   y   s   D   i   r       =       l   v       (   d   i   s
0033300    k   >   >   T   F   S   D   S   K   .   f   p   T   F   S   S
0033320    y   s   D   i   r   b   l   k   )  \r   M   o   v   e   B   l
0033340    o 376 001  \0   s 223   c   k   (   l   v       f   p   T   F
0033360    S   S   y   s   D   i   r   >   >   F   P   .   s   e   r   i
0033400    a   l   N   u   m   b   e   r   ,       f   i   d   T   F   S
0033420    S   y   s   d   i   r   ,       l   S   N   )  \r   f   p   T
0033440    F   S   S   y   s   D   i   r   >   >   F   P   .   v   e   r
0033460    s   i   o   n       =       1  \r   f   p   T   F   S   S   y
0033500    s   D   i   r   >   >   F   P   .   l   e   a   d   e   r   V
0033520    i   r   t   u   a   l   D   a       =       1  \r   S   e   t
0033540    W   o   r   k   i   n   g   D   i   r   (   "   <   S   y   s
0033560    D   i   r   .   "   ,   f   p   T   F   S   S   y   s   D   i
0033600    r   ,   d   i   s   k   )  \r  \r   /   /       O   p   e   n
0033620        d   i   r   e   c   t   o   r   y   ,       a   n   d    
0033640    s   e   t   u   p       i   m   p   o   r   t   a   n   t    
0033660    f   p   '   s       f   o   r       t   h   i   s       d   i
0033700    s   k   ,       e   t   c   .  \r   u   n   l   e   s   s    
0033720    f   r   e   s   h   D   i   s   k       d   o  \r            
0033740    [  \r               l 376 001  \0 235 251   e   t       D   A
0033760    s       =       v   e   c       2  \r               D   A   s
0034000    !   1       =       1  \r               i   f       A   c   t
0034020    O   n   D   i   s   k   P   a   g   e   s   (   d   i   s   k
0034040    ,       0   ,       D   A   s   +   1   ,       f   p   T   F
0034060    S   S   y   s   D   i   r   ,       0   ,       0   ,       D
0034100    C   r   e   a   d   n   D   ,  \r                   0   ,    
0034120    0   ,       0   ,       0   ,       0   ,       t   r   u   e
0034140    )       l   s       0       t   h   e   n  \r                
0034160            [       F   r   e   e   (   z   o   n   e   ,       d
0034200    i   s   k   )   ;       r   e   s   u   l   t   i   s       0
0034220        ]           /   /   n   o       S   y   s   D   i   r  \r
0034240                l   e   t       d   d   s       =       O   p   e
0034260    n   F   i   l   e   (   "   D   i   s   k   D   e   s   c   r
0034300    i   p   t   o   r   "   ,       k   s   T   y   p   e   R   e
0034320    a   d   O   n   l   y   ,       0   ,       0   ,  \r        
0034340                    d   i   s   k   >   >   T 376 001  \0 002 031
0034360    F   S   D   S   K   .   f   p   D   i   s   k   D   e   s   c
0034400    r   i   p   t   o   r   ,       0   ,       z   o   n   e   ,
0034420        0   ,       d   i   s   k   )  \r               i   f    
0034440    d   d   s       e   q       0       t   h   e   n       [    
0034460    F   r   e   e   (   z   o   n   e   ,       d   i   s   k   )
0034500    ;       r   e   s   u   l   t   i   s       0       ]        
0034520    /   /   n   o       D   i   s   k   D   e   s   c   r   i   p
0034540    t   o   r  \r               R   e   a   d   B   l   o   c   k
0034560    (   d   d   s   ,       l   v       d   i   s   k   >   >   T
0034600    F   S   D   S   K   .   k   d   ,       l   T   F   S   K   D
0034620    H   e   a   d   e   r   )  \r               i   f       d   i
0034640    s   k   >   >   T   F   S   D   S   K   .   v   e   r   s   i
0034660    o   n       n   e       T   F   S   K   D   v   e   r   s   i
0034700    o   n       t   h   e   n  \r                           [    
0034720    C   l   o   s   e   s   (   d   d   s   )   ;       F   r   e
0034740    e   (   z   o   n   e   ,       d   i   s   k   )   ;       r
0034760  376 001  \0 036 205   e   s   u   l   t   i   s       0       ]
0035000            /   /   v   e   r   s   i   o   n       i   n   c   o
0035020    m   p   a   t   i   b   l   e  \r  \r               /   /    
0035040    C   o   u   n   t       f   r   e   e       p   a   g   e   s
0035060        i   n       t   h   e       f   i   l   e       s   y   s
0035100    t   e   m  \r               f   o   r       i   =   1       t
0035120    o       T   F   S   w   o   r   d   s   P   e   r   P   a   g
0035140    e   -   l   T   F   S   K   D   H   e   a   d   e   r       d
0035160    o       G   e   t   s   (   d   d   s   )  \r               l
0035200    e   t       p   a   g   e   s   =   0  \r               f   o
0035220    r       i   =   1       t   o       d   i   s   k   >   >   T
0035240    F   S   D   S   K   .   d   i   s   k   B   T   s   i   z   e
0035260        d   o  \r                           [  \r                
0035300            l   e   t       w   =   G   e   t   s   (   d   d   s
0035320    )  \r                           t   e   s   t       w       e
0035340    q       0  \r                                       i   f   s
0035360    o       p   a   g 376 001  \0 240   !   e   s       =       p
0035400    a   g   e   s   +   1   6  \r                                
0035420        i   f   n   o   t       i   f       w       n   e       -
0035440    1       t   h   e   n  \r                                    
0035460                f   o   r       j   =   0       t   o       1   5
0035500        d   o       i   f       (   (   w       r   s   h   i   f
0035520    t       j   )   &   1   )       e   q       0       t   h   e
0035540    n       p   a   g   e   s       =       p   a   g   e   s   +
0035560    1  \r                           ]  \r  \r               /   /
0035600        N   o   w       f   i   l   l       i   n       f   r   e
0035620    e       c   o   u   n   t       w   h   e   r   e       i   t
0035640        i   s       s   u   p   p   o   s   e   d       t   o    
0035660    b   e   :  \r               d   i   s   k   >   >   T   F   S
0035700    D   S   K   .   f   r   e   e   P   a   g   e   s       =    
0035720    p   a   g   e   s  \r               C   l   o   s   e   s   (
0035740    d   d   s   )  \r               ]  \r  \r   /   /       s   e
0035760    t       u   p       D   D       m   a 376 001  \0 224 361   n
0036000    a   g   e   r   ,       i   f       n   e   e   d   e   d  \r
0036020    i   f       i   n   i   t   m   o   d   e       n   e       0
0036040        t   h   e   n  \r               [  \r               i   f
0036060        d   d   M   g   r       e   q       0       t   h   e   n
0036100        d   d   M   g   r       =       T   F   S   C   r   e   a
0036120    t   e   D   D   M   g   r   (   z   o   n   e   )  \r        
0036140        d   i   s   k   >   >   T   F   S   D   S   K   .   d   d
0036160    M   g   r       =       d   d   M   g   r  \r               O
0036200    p   e   n   D   D   (   d   d   M   g   r   ,       d   i   s
0036220    k   )  \r               ]  \r  \r   /   /       r   e   t   u
0036240    r   n       h   a   n   d   l   e       o   n       d   i   s
0036260    k       o   b   j   e   c   t  \r   r   e   s   u   l   t   i
0036300    s       d   i   s   k  \r   ]  \r  \f  \r   /   /   -   -   -
0036320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0036360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0036400  001  \0 357   v   -   -   -   -   -   -   -   -   -   -   -   -
0036420    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0036440    n   d       T   F   S   T   r   y   D   i   s   k   (   d   r
0036460    i   v   e   )       =       v   a   l   o   f  \r   /   /   -
0036500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0036600    -   -   -   -   -   -   -   -   -   -   -  \r   /   /       T
0036620    r   y       t   o       a   c   c   e   s   s       d   i   s
0036640    k       a   n   d       r   e   t   u   r   n   :  \r   /   /
0036660   \t           0       i   f       c   o   n   t   r   o   l   l
0036700    e   r       a   p   p   e   a   r   s       n   o   t       t
0036720    o       w   o   r   k  \r   /   /  \t           1       i   f
0036740        d   i   s   k       a   p   p   e   a   r   s       t   o
0036760        b   e       t   h   e   r   e  \r   /   /  \t           2
0037000        i   f     376 001  \0   < 241   d   i   s   k       a   p
0037020    p   e   a   r   s       t   o       b   e       a   b   s   e
0037040    n   t  \r   [  \r   w   h   i   l   e       T   F   S   L   o
0037060    c   k       n   e       0       d   o       I   d   l   e   (
0037100    )  \r   T   F   S   L   o   c   k       =       -   1  \t  \t
0037120    /   /   l   o   c   k       o   u   t       a   l   l       o
0037140    t   h   e   r       a   c   c   e   s   s  \r   T   F   S   W
0037160    a   i   t   Q   u   i   e   t   (   f   a   l   s   e   )  \r
0037200    l   e   t       o   l   d   D   r   i   v   e       =       K
0037220    B   L   K   >   >   K   B   L   K   .   d   r   i   v   e  \r
0037240    i   f       o   l   d   D   r   i   v   e       u   g   e    
0037260    #   1   7       t   h   e   n       o   l   d   D   r   i   v
0037300    e       =       0  \r  \r   l   e   t       r   e   s   u   l
0037320    t       =       T   r   y   D   i   s   k   (   d   r   i   v
0037340    e   )  \r  \r   /   /       I   f       s   e   l   e   c   t
0037360    e   d       a       n   o   n   e   x   i   s   t   e   n   t
0037400        d   r   i   v   e   ,       m 376 001  \0 322 222   u   s
0037420    t       l   e   a   v   e       c   o   n   t   r   o   l   l
0037440    e   r       p   o   i   n   t   i   n   g  \r   /   /       a
0037460    t       t   h   e       p   r   e   v   i   o   u   s   l   y
0037500    -   s   e   l   e   c   t   e   d       d   r   i   v   e   ,
0037520        w   h   i   c   h       i   s       a   s   s   u   m   e
0037540    d       t   o       e   x   i   s   t   .  \r   /   /       (
0037560    N   o   t   e       t   h   a   t       d   r   i   v   e    
0037600    0       m   u   s   t       e   x   i   s   t       o   r    
0037620    t   h   e       c   o   n   t   r   o   l   l   e   r       w
0037640    o   n   '   t       w   o   r   k       -   -  \r   /   /    
0037660    t   h   i   s       i   s       a       h   a   r   d   w   a
0037700    r   e       r   e   s   t   r   i   c   t   i   o   n   .   )
0037720   \r   i   f       r   e   s   u   l   t       e   q       2    
0037740    t   h   e   n       T   r   y   D   i   s   k   (   o   l   d
0037760    D   r   i   v   e   )  \r  \r   T   F   S   L   o   c   k    
0040000    =       0  \r   r   e   s   u   l   t   i   s       r 376 001
0040020   \0 317 375   e   s   u   l   t  \r   ]  \r  \r   /   /   -   -
0040040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040140    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       T
0040160    r   y   D   i   s   k   (   d   r   i   v   e   )       =    
0040200    v   a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -
0040220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040320    -   -   -   -  \r   [  \r   S   t   a   r   t   I   O   (   #
0040340    2   0   )  \t  \t   /   /   t   u   r   n       o   f   f    
0040360    a   n   d       r   e   s   e   t       c   o   n   t   r   o
0040400    l   l   e   r  \r  \r               [       /   /   r   e   p
0040420    e   a   t 376 001  \0 244 237  \r               K   B   L   K
0040440    >   >   K   B   L   K   .   p   t   r       =       0  \r    
0040460            K   B   L   K   >   >   K   B   L   K   .   d   r   i
0040500    v   e       =       d   r   i   v   e   %   1   0   0   0   0
0040520    0   b  \t   /   /   F   o   r   c   e       d   r   i   v   e
0040540        s   e   l   e   c   t  \r               K   B   L   K   >
0040560    >   K   B   L   K   .   S   t   a   t   u   s       =       -
0040600    1  \r               K   B   L   K   >   >   K   B   L   K   .
0040620    t   r   a   c   k       =       -   1  \t  \t   /   /   F   o
0040640    r   c   e       s   e   e   k       n   e   x   t       t   i
0040660    m   e  \r               l   e   t       t   i   m   e   d   O
0040700    u   t   =   n   i   l  \r  \r               /   /       S   e
0040720    e       i   f       u   n   i   t       r   e   s   p   o   n
0040740    d   s   .           L   e   t       e   a   c   h       S   t
0040760    a   r   t   I   O       w   o   r   k       f   o   r       1
0041000    /   2   0       s   e   c   o   n   d   .  \r               /
0041020    /       I   f       S   t   a 376 001  \0 344   9   t   u   s
0041040        h   a   s       n   o   t       b   e   e   n       s   e
0041060    t       a   f   t   e   r       l   a   s   t       S   t   a
0041100    r   t   I   O   ,       t   i   m   e   d   O   u   t       w
0041120    i   l   l  \r               /   /       b   e       t   r   u
0041140    e   .           T   h   e       r   e   a   s   o   n       f
0041160    o   r       s   e   v   e   r   a   l       S   t   a   r   t
0041200    I   O   '   s       i   s       t   h   a   t       w   e    
0041220    m   a   y  \r               /   /       b   e       t   r   y
0041240    i   n   g       t   o       s   e   l   e   c   t       a    
0041260    n   o   n   -   e   x   i   s   t   e   n   t       d   i   s
0041300    k   ,       w   h   i   c   h       w   i   l   l       n   o
0041320    t  \r               /   /       p   r   o   v   i   d   e    
0041340    s   e   c   t   o   r       p   u   l   s   e   s       a   n
0041360    d       c   o   r   r   e   s   p   o   n   d   i   n   g    
0041400    w   a   k   e   u   p   s   .  \r               f   o   r    
0041420    r   e   T   r   i   e   s       =       1       t 376 001  \0
0041440   \f 232   o       4       d   o  \t   /   /   M   a   y       h
0041460    a   v   e       t   o       g   i   v   e       s   e   v   e
0041500    r   a   l       S   t   a   r   t   I   O   '   s  \r        
0041520                    [  \t  \t  \t  \t   /   /       f   o   r    
0041540    a       n   o   n   -   e   x       d   i   s   k  \r        
0041560                    S   t   a   r   t   I   O   (   #   4   0   )
0041600   \t   /   /       C   a   u   s   e   s       m   i   c   r   o
0041620    c   o   d   e       t   o       s   t   a   r   t  \r        
0041640                    t   i   m   e   d   O   u   t       =       f
0041660    a   l   s   e  \r                           l   e   t       i
0041700    n   T   i   m   e       =       @   R   T   C  \r            
0041720                            [  \r                                
0041740        i   f       K   B   L   K   >   >   K   B   L   K   .   S
0041760    t   a   t   u   s       n   e       -   1       t   h   e   n
0042000        b   r   e   a   k  \r                                    
0042020    i   f       (   @   R   T   C   -   i   n   T   i   m   e   )
0042040        g 376 001  \0   h 343   r       1       t   h   e   n    
0042060    t   i   m   e   d   O   u   t   =   t   r   u   e  \r        
0042100                                I   d   l   e   (   )  \r        
0042120                                ]       r   e   p   e   a   t   u
0042140    n   t   i   l       t   i   m   e   d   O   u   t  \r        
0042160                    u   n   l   e   s   s       t   i   m   e   d
0042200    O   u   t       b   r   e   a   k  \r                        
0042220    ]  \r  \r               i   f       t   i   m   e   d   O   u
0042240    t       t   h   e   n       r   e   s   u   l   t   i   s    
0042260    0  \t   /   /   C   o   n   t   r   o   l   l   e   r       n
0042300    o   t       h   o   o   k   e   d       u   p  \r            
0042320    ]       r   e   p   e   a   t   u   n   t   i   l       K   B
0042340    L   K   >   >   K   B   L   K   .   W   r   L   a   t   e    
0042360    e   q       0  \r  \r   /   /       W   h   i   c   h       s
0042400    t   a   t   u   s       b   i   t       t   o       t   e   s
0042420    t   ?       A       d   r   i   v   e       w   i   l   l    
0042440    s   e   l   e   c   t     376 001  \0 277 361   i   f       p
0042460    o   w   e   r       i   s       o   n  \r   /   /       (   e
0042500    v   e   n       i   f       t   h   e       d   i   s   k    
0042520    i   s       n   o   t       s   p   i   n   n   i   n   g   )
0042540    :       N   o   t   S   e   l   e   c   t   e   d       i   s
0042560        t   h   e   r   e   f   o   r   e       o   n   l   y  \r
0042600    /   /       a   n       i   n   d   i   c   a   t   i   o   n
0042620        o   f       a       n   o   n   -   e   x       o   r    
0042640    f   u   l   l   y       p   o   w   e   r   e   d       d   o
0042660    w   n       d   r   i   v   e   .       T   h   e       O   n
0042700    L   i   n   e  \r   /   /       i   n   d   i   c   a   t   i
0042720    o   n       i   s       b   e   s   t   ,       a   l   t   h
0042740    o   u   g   h       i   f       t   h   e       d   r   i   v
0042760    e       i   s       i   n       t   h   e       m   i   d   d
0043000    l   e       o   f  \r   /   /       a       r   e   s   t   o
0043020    r   e   ,       i   t       i   s       c   o   n   c   e   i
0043040    v   a   b   l   e       t   h   a   t       O 376 001  \0 324
0043060  277   n   L   i   n   e       g   o   e   s       a   w   a   y
0043100    .  \r   r   e   s   u   l   t   i   s       K   B   L   K   >
0043120    >   K   B   L   K   .   N   o   t   O   n   L   i   n   e    
0043140    e   q       0   ?       1   ,       2  \r   ]  \r  \f  \r   /
0043160    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0043200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043260    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0043300    d       T   F   S   D   i   s   k   M   o   d   e   l   (   d
0043320    i   s   k   )       =       d   i   s   k   >   >   T   F   S
0043340    D   S   K   .   m   o   d   e   l  \r   /   /   -   -   -   -
0043360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043460    - 376 001  \0   ;   Q   -   -   -   -   -   -   -  \r  \r   /
0043500    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0043520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043600    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0043620    d       D   e   t   e   r   m   i   n   e   D   i   s   k   M
0043640    o   d   e   l   (   d   i   s   k   )       =       v   a   l
0043660    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0043700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044000    -  \r   /   /       D   e   t   e   r   m   i   n   e   s    
0044020    w   h   a   t       m   o   d   e   l       d   i   s   k    
0044040    i   s       a   t   t   a   c   h   e   d   ,       p   u   t
0044060    s       d   e   f   a 376 001  \0 260 303   u   l   t       d
0044100    i   s   k       s   h   a   p   e  \r   /   /       p   a   r
0044120    a   m   e   t   e   r   s       i   n       t   h   e       d
0044140    i   s   k       o   b   j   e   c   t   ,       a   n   d    
0044160    r   e   t   u   r   n   s       t   h   e       d   i   s   k
0044200        m   o   d   e   l       n   u   m   b   e   r   :  \r   /
0044220    /      \t   8   0  \t   T   r   i   d   e   n   t       T   -
0044240    8   0  \r   /   /  \t   3   0   0  \t   T   r   i   d   e   n
0044260    t       T   -   3   0   0  \r   /   /  \t   4   0   0   4  \t
0044300    S   h   u   g   a   r   t       S   A   -   4   0   0   4  \r
0044320    /   /  \t   4   0   0   8  \t   S   h   u   g   a   r   t    
0044340    S   A   -   4   0   0   8  \r  \r   [  \r   /   /       T   h
0044360    e       f   o   l   l   o   w   i   n   g       p   a   r   a
0044400    l   l   e   l       t   a   b   l   e   s       d   e   f   i
0044420    n   e       t   h   e       d   i   s   k       p   a   r   a
0044440    m   e   t   e   r   s       f   o   r       t   h   e  \r   /
0044460    /       d   i   s   k       m   o   d   e 376 001  \0 350   P
0044500    l   s       c   u   r   r   e   n   t   l   y       k   n   o
0044520    w   n       a   b   o   u   t   .           D   e   t   e   r
0044540    m   i   n   a   t   i   o   n       o   f       d   i   s   k
0044560        m   o   d   e   l  \r   /   /       i   s       d   o   n
0044600    e       b   y       s   e   l   e   c   t   i   n   g       h
0044620    e   a   d   s       a   n   d       s   e   e   i   n   g    
0044640    w   h   a   t       h   a   p   p   e   n   s       -   -    
0044660    e   a   c   h       m   o   d   e   l  \r   /   /       d   i
0044700    s   k       h   a   s       a       d   i   f   f   e   r   e
0044720    n   t       m   a   x   i   m   u   m       h   e   a   d    
0044740    n   u   m   b   e   r   .  \r   /   /       n   H   e   a   d
0044760    s   T   !   (   i   -   1   )       b   u   t       n   o   t
0045000        n   H   e   a   d   s   T   !   i       i   s       a    
0045020    l   e   g   a   l       h   e   a   d       f   o   r       d
0045040    i   s   k       m   o   d   e   l       m   o   d   e   l   T
0045060    !   i   ,  \r   /   /       0       <   =       i       <   =
0045100  376 001  \0 233   %       m   a   x   M   o   d   e   l   .    
0045120        n   H   e   a   d   s   T       m   u   s   t       b   e
0045140        m   o   n   o   t   o   n   i   c   !  \r   m   a   n   i
0045160    f   e   s   t       m   a   x   M   o   d   e   l       =    
0045200    3  \r   l   e   t       m   o   d   e   l   T       =       t
0045220    a   b   l   e       [       4   0   0   4   ;       8   0   ;
0045240        4   0   0   8   ;       3   0   0       ]  \r   l   e   t
0045260        n   T   r   a   c   k   s   T       =       t   a   b   l
0045300    e       [       2   0   2   ;       8   1   5   ;       2   0
0045320    2   ;       8   1   5       ]  \r   l   e   t       n   H   e
0045340    a   d   s   T       =       t   a   b   l   e       [       4
0045360    ;       5   ;       8   ;       1   9       ]  \r   l   e   t
0045400        n   S   e   c   t   o   r   s   T       =       t   a   b
0045420    l   e       [       8   ;       9   ;       8   ;       9    
0045440    ]  \r  \r   w   h   i   l   e       T   F   S   L   o   c   k
0045460        n   e       0       d   o       I   d   l   e   (   )  \r
0045500    T   F   S   L   o 376 001  \0 265   -   c   k       =       -
0045520    1  \r   T   F   S   W   a   i   t   Q   u   i   e   t   (   f
0045540    a   l   s   e   )  \r   l   e   t       m   o   d   e   l   I
0045560    n   d   e   x       =       0  \r  \r               [       /
0045600    /       r   e   p   e   a   t  \r               l   e   t    
0045620    k   c   b       =       v   e   c       l   K   C   B  \r    
0045640            Z   e   r   o   (   k   c   b   ,       l   K   C   B
0045660    )  \r               k   c   b   >   >   K   C   B   .   d   r
0045700    i   v   e       =       d   i   s   k   >   >   T   F   S   D
0045720    S   K   .   d   r   i   v   e   N   u   m   b   e   r  \r  \r
0045740                /   /       I   s   s   u   e       n   o       r
0045760    e   a   l       c   o   m   m   a   n   d   s       -   -    
0046000    j   u   s   t       s   e   l   e   c   t       a       h   e
0046020    a   d      \r               k   c   b   >   >   K   C   B   .
0046040    h   e   a   d       =       n   H   e   a   d   s   T   !   m
0046060    o   d   e   l   I   n   d   e   x  \r               k   c   b
0046100    >   >   K   C   B   .   I   D       = 376 001  \0   _ 023    
0046120    d   c   b   I   D  \r               K   B   L   K   >   >   K
0046140    B   L   K   .   p   t   r       =       k   c   b  \r        
0046160        w   h   i   l   e       K   B   L   K   >   >   K   B   L
0046200    K   .   p   t   r       n   e       0       d   o       I   d
0046220    l   e   (   )  \r  \r               /   /       T   r   i   d
0046240    e   n   t       d   i   s   k   s       r   a   i   s   e    
0046260    C   y   l   O   v   f   l       a   n   d       S   h   u   g
0046300    a   r   t       d   i   s   k   s       r   a   i   s   e    
0046320    S   e   c   O   v   f   l  \r               /   /       w   h
0046340    e   n       a   n       i   l   l   e   g   a   l       h   e
0046360    a   d       i   s       s   e   l   e   c   t   e   d   .  \r
0046400                i   f       K   B   L   K   >   >   K   B   L   K
0046420    .   C   y   l   O   v   f   l       %       K   B   L   K   >
0046440    >   K   B   L   K   .   S   e   c   O   v   f   l       t   h
0046460    e   n       b   r   e   a   k  \r               u   n   l   e
0046500    s   s       K   B   L   K   >   >   K   B   L   K   .   W 376
0046520  001  \0   / 361   r   L   a   t   e       d   o       m   o   d
0046540    e   l   I   n   d   e   x       =       m   o   d   e   l   I
0046560    n   d   e   x       +       1  \r               ]       r   e
0046600    p   e   a   t   u   n   t   i   l       m   o   d   e   l   I
0046620    n   d   e   x       e   q       m   a   x   M   o   d   e   l
0046640   \r  \r   T   F   S   L   o   c   k       =       0  \r   D   o
0046660    R   e   c   o   v   e   r   y   (   d   i   s   k   ,       d
0046700    i   s   k   R   e   s   e   t   )           /   /   t   u   r
0046720    n       o   f   f       e   r   r   o   r       i   n   d   i
0046740    c   a   t   i   o   n   s  \r  \r   /   /       N   o   w    
0046760    s   e   t       p   h   y   s   i   c   a   l       d   i   s
0047000    k       s   h   a   p   e       p   a   r   a   m   e   t   e
0047020    r   s  \r   d   i   s   k   >   >   T   F   S   D   S   K   .
0047040    n   D   i   s   k   s       =       1  \r   d   i   s   k   >
0047060    >   T   F   S   D   S   K   .   n   T   r   a   c   k   s    
0047100    =       n   T   r   a   c   k   s   T   !   m   o   d   e   l
0047120    I   n   d   e 376 001  \0 240 231   x  \r   d   i   s   k   >
0047140    >   T   F   S   D   S   K   .   n   H   e   a   d   s       =
0047160        n   H   e   a   d   s   T   !   m   o   d   e   l   I   n
0047200    d   e   x  \r   d   i   s   k   >   >   T   F   S   D   S   K
0047220    .   n   S   e   c   t   o   r   s       =       n   S   e   c
0047240    t   o   r   s   T   !   m   o   d   e   l   I   n   d   e   x
0047260   \r   r   e   s   u   l   t   i   s       m   o   d   e   l   T
0047300    !   m   o   d   e   l   I   n   d   e   x  \r   ]  \r  \f  \r
0047320    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0047340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047420    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0047440    n   d       T   F   S   S   e   t   D   i   s   k   (   d   i
0047460    s   k   ,       i   n   i   t   m   o   d   e   ,       d   r
0047500    i   v   e   n   u   m   b   e   r   )       b   e  \r   /   /
0047520    -   -   -   -   -   -   -   -   - 376 001  \0   @ 366   -   -
0047540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0047640    -  \r   /   /       T   F   S   S   e   t   D   i   s   k    
0047660    s   e   t   s       u   p       c   o   n   s   t   a   n   t
0047700        p   a   r   t       o   f       d   i   s   k       s   t
0047720    r   u   c   t   u   r   e   .  \r   /   /       d   i   s   k
0047740        p   o   i   n   t   s       t   o       t   h   e       T
0047760    F   S   D   S   K       s   t   r   u   c   t   u   r   e    
0050000    f   o   r       d   r   i   v   e       d   r   i   v   e   n
0050020    u   m   b   e   r  \r   [  \r   /   /       A   c   c   e   s
0050040    s       d   i   s   p   a   t   c   h   e   s  \r   d   i   s
0050060    k   >   >   D   S   K   .   A   c   t   O   n   D   i   s   k
0050100    P   a   g   e   s       =       T   F   S   A   c   t   O   n
0050120    P   a   g   e   s  \r   d   i   s   k   >   >   D   S 376 001
0050140   \0 335 376   K   .   W   r   i   t   e   D   i   s   k   P   a
0050160    g   e   s       =       T   F   S   W   r   i   t   e   P   a
0050200    g   e   s  \r   d   i   s   k   >   >   D   S   K   .   C   r
0050220    e   a   t   e   D   i   s   k   F   i   l   e       =       T
0050240    F   S   C   r   e   a   t   e   F   i   l   e  \r   d   i   s
0050260    k   >   >   D   S   K   .   D   e   l   e   t   e   D   i   s
0050300    k   P   a   g   e   s       =       T   F   S   D   e   l   e
0050320    t   e   P   a   g   e   s  \r   d   i   s   k   >   >   D   S
0050340    K   .   A   s   s   i   g   n   D   i   s   k   P   a   g   e
0050360        =       T   F   S   A   s   s   i   g   n   D   i   s   k
0050400    P   a   g   e  \r   d   i   s   k   >   >   D   S   K   .   R
0050420    e   l   e   a   s   e   D   i   s   k   P   a   g   e       =
0050440        T   F   S   R   e   l   e   a   s   e   D   i   s   k   P
0050460    a   g   e  \r   d   i   s   k   >   >   D   S   K   .   C   l
0050500    o   s   e   D   i   s   k       =       T   F   S   C   l   o
0050520    s   e  \r   d   i   s   k   >   >   D   S   K   .   V   i   r
0050540    t   u   a 376 001  \0   D 243   l   D   i   s   k   D   A    
0050560    =       T   F   S   V   i   r   t   u   a   l   D   A  \r   d
0050600    i   s   k   >   >   D   S   K   .   R   e   a   l   D   i   s
0050620    k   D   A       =       T   F   S   R   e   a   l   D   A  \r
0050640    d   i   s   k   >   >   D   S   K   .   I   n   i   t   i   a
0050660    l   i   z   e   D   i   s   k   C   B   Z       =       T   F
0050700    S   I   n   i   t   i   a   l   i   z   e   C   b   S   t   o
0050720    r   a   g   e  \r   d   i   s   k   >   >   D   S   K   .   D
0050740    o   D   i   s   k   C   o   m   m   a   n   d       =       T
0050760    F   S   D   o   D   i   s   k   C   o   m   m   a   n   d  \r
0051000    d   i   s   k   >   >   D   S   K   .   G   e   t   D   i   s
0051020    k   C   b       =       T   F   S   G   e   t   C   b  \r  \r
0051040    /   /       D   e   n   y       a   c   c   e   s   s       i
0051060    n       c   e   r   t   a   i   n       c   a   s   e   s  \r
0051100    /   /       W   r   i   t   e   D   i   s   k   P   a   g   e
0051120    s       i   s       N   O   T       i   n   c   l   u   d   e
0051140    d       b   e   c   a   u   s 376 001  \0 300 376   e       i
0051160    t       h   a   s       s   e   v   e   r   a   l       u   s
0051200    e   s       t   h   a   t       d   o       n   o   t  \r   /
0051220    /       r   e   q   u   i   r   e       m   o   d   i   f   i
0051240    c   a   t   i   o   n   s       t   o       t   h   e       b
0051260    i   t       t   a   b   l   e   .  \r   i   f       i   n   i
0051300    t   m   o   d   e       e   q       0       t   h   e   n  \r
0051320                [  \r               d   i   s   k   >   >   D   S
0051340    K   .   C   r   e   a   t   e   D   i   s   k   F   i   l   e
0051360        =       T   F   S   N   o   n   E   x  \r               d
0051400    i   s   k   >   >   D   S   K   .   D   e   l   e   t   e   D
0051420    i   s   k   P   a   g   e   s       =       T   F   S   N   o
0051440    n   E   x  \r               d   i   s   k   >   >   D   S   K
0051460    .   A   s   s   i   g   n   D   i   s   k   P   a   g   e    
0051500    =       T   F   S   N   o   n   E   x  \r               d   i
0051520    s   k   >   >   D   S   K   .   R   e   l   e   a   s   e   D
0051540    i   s   k   P   a   g   e       =       T   F   S 376 001  \0
0051560  275 251   N   o   n   E   x  \r               ]  \r  \r   /   /
0051600        F   P   '   s  \r   d   i   s   k   >   >   D   S   K   .
0051620    f   p   S   y   s   D   i   r       =       l   v       d   i
0051640    s   k   >   >   T   F   S   D   S   K   .   f   p   T   F   S
0051660    S   y   s   D   i   r   b   l   k  \r   d   i   s   k   >   >
0051700    D   S   K   .   f   p   D   i   s   k   D   e   s   c   r   i
0051720    p   t   o   r       =       l   v       d   i   s   k   >   >
0051740    T   F   S   D   S   K   .   f   p   T   F   S   D   D   b   l
0051760    k  \r   d   i   s   k   >   >   D   S   K   .   f   p   W   o
0052000    r   k   i   n   g   D   i   r       =       l   v       d   i
0052020    s   k   >   >   T   F   S   D   S   K   .   f   p   T   F   S
0052040    W   D   b   l   k  \r  \r   /   /       W   o   r   k   i   n
0052060    g       d   i   r  \r   d   i   s   k   >   >   D   S   K   .
0052100    n   a   m   e   W   o   r   k   i   n   g   D   i   r   =   l
0052120    v       d   i   s   k   >   >   T   F   S   D   S   K   .   W
0052140    D   N   a   m   e   b   l   k  \r  \r   /   /       O   t   h
0052160    e   r 376 001  \0   J 021       p   a   r   a   m   e   t   e
0052200    r   s  \r   d   i   s   k   >   >   D   S   K   .   l   n   P
0052220    a   g   e   S   i   z   e       =       T   F   S   l   n   W
0052240    o   r   d   s   P   e   r   P   a   g   e  \r   d   i   s   k
0052260    >   >   D   S   K   .   d   r   i   v   e   N   u   m   b   e
0052300    r       =       d   r   i   v   e   n   u   m   b   e   r  \r
0052320    d   i   s   k   >   >   D   S   K   .   r   e   t   r   y   C
0052340    o   u   n   t       =       1   6  \r   d   i   s   k   >   >
0052360    D   S   K   .   t   o   t   a   l   E   r   r   o   r   s    
0052400    =       0  \r   d   i   s   k   >   >   D   S   K   .   d   i
0052420    s   k   K   d       =       l   v       d   i   s   k   >   >
0052440    T   F   S   D   S   K   .   k   d  \r   d   i   s   k   >   >
0052460    D   S   K   .   l   e   n   g   t   h   C   B   Z       =    
0052500    l   T   F   S   C   B   Z  \r   d   i   s   k   >   >   D   S
0052520    K   .   l   e   n   g   t   h   C   B       =       l   C   B
0052540   \r   d   i   s   k   >   >   T   F   S   D   S   K   .   i   n
0052560    i   t   m   o   d   e     376  \0  \r 357   @   =       i   n
0052600    i   t   m   o   d   e  \r   ]  \r 377  \0  \0   T   f   s   B
0052620    a   s   e   .   b   c   p   l  \0 373 227   t 301   /  \0  \0
0052640  376 001  \0 217   I   /   /       T   f   s   B   a   s   e   .
0052660    B   c   p   l  \r   /   /       C   o   p   y   r   i   g   h
0052700    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0052720    i   o   n       1   9   7   9   ,       1   9   8   0   ,    
0052740    1   9   8   1  \r  \r   /   /  \t   L   a   s   t       m   o
0052760    d   i   f   i   e   d       J   u   l   y       9   ,       1
0053000    9   8   1           1   :   2   3       P   M       b   y    
0053020    T   a   f   t  \r  \r   g   e   t       "   A   l   t   o   f
0053040    i   l   e   s   y   s   .   d   "  \r   g   e   t       "   D
0053060    i   s   k   s   .   d   "  \r   g   e   t       "   T   f   s
0053100    .   d   "  \r  \r   c   o   m   p   i   l   e   i   f       n
0053120    e   w   n   a   m   e       d   e   b   u   g       t   h   e
0053140    n       [       m   a   n   i   f   e   s   t       [       d
0053160    e   b   u   g       =       f   a   l   s   e       ]   ]  \r
0053200    c   o   m   p   i   l   e   i   f       n   e   w   n   a   m
0053220    e       s   a   v   e   r   e   g   s       t   h   e   n    
0053240    [       m   a   n 376 001  \0   s   2   i   f   e   s   t    
0053260    [       s   a   v   e   r   e   g   s       =       f   a   l
0053300    s   e       ]   ]  \r  \r   e   x   t   e   r   n   a   l  \r
0053320    [      \r   /   /       p   r   o   c   e   d   u   r   e   s
0053340        d   e   f   i   n   e   d       h   e   r   e  \r   T   F
0053360    S   I   n   i   t   i   a   l   i   z   e   C   b   S   t   o
0053400    r   a   g   e  \r   T   F   S   D   o   D   i   s   k   C   o
0053420    m   m   a   n   d  \r   T   F   S   G   e   t   C   b  \r   T
0053440    F   S   A   c   t   O   n   P   a   g   e   s  \r   D   e   f
0053460    a   u   l   t   T   F   S   E   r   r   o   r   R   t   n  \r
0053500    D   o   R   e   c   o   v   e   r   y  \r   T   F   S   W   a
0053520    i   t   Q   u   i   e   t  \r   T   F   S   N   o   n   E   x
0053540   \r   D   a   t   a   F   i   x  \r  \r   /   /       p   r   o
0053560    c   e   d   u   r   e   s       d   e   f   i   n   e   d    
0053600    e   l   s   e   w   h   e   r   e  \r   T   F   S   I   n   c
0053620    r   e   m   e   n   t  \r   T   F   S   M   o   d   S   h   i
0053640    f   t  \r   V   i   r   t   u   a   l 376 001  \0 314 275   D
0053660    i   s   k   D   A  \r   R   e   a   l   D   i   s   k   D   A
0053700   \r   Z   e   r   o  \r   M   o   v   e   B   l   o   c   k  \r
0053720    C   a   l   l   S   w   a   t  \r   S   y   s   E   r   r  \r
0053740    D   i   s   a   b   l   e   I   n   t   e   r   r   u   p   t
0053760    s  \r   E   n   a   b   l   e   I   n   t   e   r   r   u   p
0054000    t   s  \r   R   e   t   u   r   n   T   o  \r   D   e   f   a
0054020    u   l   t   A   r   g   s  \r   S   t   a   r   t   I   O  \r
0054040    I   d   l   e  \r   N   o   o   p  \r   S   a   v   e   R   e
0054060    g   s  \t   /   /       i   f   f       s   a   v   e   r   e
0054100    g   s       c   o   m   p   i   l   e   -   t   i   m   e    
0054120    s   w   i   t   c   h       =       t   r   u   e  \r  \r   /
0054140    /       s   t   a   t   i   c   s       d   e   f   i   n   e
0054160    d       h   e   r   e  \r   T   F   S   L   e   a   v   e   D
0054200    i   s   p   l   a   y  \r   T   F   S   S   a   v   e   d   D
0054220    i   s   p   l   a   y  \r   T   F   S   L   o   c   k  \r   T
0054240    F   S   D   e   b   u   g  \r   ]  \r  \r   s   t   a   t 376
0054260  001  \0 322   ,   i   c           /   /       s   t   a   t   i
0054300    c   s       d   e   f   i   n   e   d       h   e   r   e  \r
0054320    [  \r   T   F   S   L   e   a   v   e   D   i   s   p   l   a
0054340    y       =       f   a   l   s   e  \t   /   /       n   o   n
0054360    z   e   r   o       t   o       l   e   a   v   e       d   i
0054400    s   p   l   a   y       o   n       d   u   r   i   n   g    
0054420    t   r   a   n   s   f   e   r   s  \r   T   F   S   S   a   v
0054440    e   d   D   i   s   p   l   a   y       =       -   1  \t   /
0054460    /       s   a   v   e   d       d   i   s   p   l   a   y    
0054500    l   i   s   t       h   e   a   d       (   -   1       =   >
0054520        n   o   n   e   )  \r   T   F   S   L   o   c   k       =
0054540        0  \t  \t   /   /       n   o   n   z   e   r   o       t
0054560    o       l   o   c   k       o   u   t       n   e   w       c
0054600    o   m   m   a   n   d   s  \r   T   F   S   D   e   b   u   g
0054620        =       d   e   b   u   g  \r   ]  \r  \r   m   a   n   i
0054640    f   e   s   t       R   T   C       =       #   4   3   0  \r
0054660   \f  \r   c   o 376 001  \0 224 204   m   p   i   l   e   i   f
0054700        d   e   b   u   g       t   h   e   n  \r   [  \r   s   t
0054720    a   t   i   c  \r               [  \r               T   F   S
0054740    E   r   r   o   r   R   a   t   e  \t   /   /       s   i   m
0054760    u   l   a   t   e   d       e   r   r   o   r       r   a   t
0055000    e   ,       m   e   a   s   u   r   e   d       i   n       6
0055020    4   t   h   s  \r               T   F   S   R   e   s   t   o
0055040    r   e   R   a   t   e  \t   /   /       s   i   m   u   l   a
0055060    t   e   d       r   e   s   t   o   r   e       r   a   t   e
0055100    ,       m   e   a   s   u   r   e   d       i   n       6   4
0055120    t   h   s  \r               ]  \r  \r   /   /   -   -   -   -
0055140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055240    -   -   -   -   -   -   -   -  \r   l   e   t       R   e   c
0055260    o   r   d   T   F   S   (   a   , 376 001  \0 243   #   b   ,
0055300    c   )       b   e      \r   /   /   -   -   -   -   -   -   -
0055320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0055420    -   -   -   -   -  \r   /   /       K   l   u   d   g   e    
0055440    f   o   r       r   e   c   o   r   d   i   n   g       e   r
0055460    r   o   r   s   .           E   x   p   e   c   t   s       t
0055500    o       f   i   n   d       #   6   4   5       z   e   r   o
0055520        (   f   o   r  \r   /   /       n   o       e   r   r   o
0055540    r       r   e   c   o   r   d   i   n   g   )       o   r    
0055560    a       p   o   i   n   t   e   r       t   o       a       D
0055600    e   b   u   g   D   a   t   a       s   t   r   u   c   t   u
0055620    r   e       (   s   e   e       b   e   l   o   w   )   .  \r
0055640    /   /       R   e   c   o   r   d   s       a   ,   b       i
0055660    n       r   i   n   g       b   u   f   f   e   r     376 001
0055700   \0 307 357   (   u   n   l   e   s   s       a   =   0   ,    
0055720    i   n       w   h   i   c   h       c   a   s   e       b   =
0055740    d   i   s   k   ,       c   =   C   B   ,  \r   /   /       a
0055760    n   d       w   h   a   t       i   s       r   e   c   o   r
0056000    d   e   d       i   s       0   ,       V   D   A       o   f
0056020        C   B   )   .  \r   /   /       T   h   e   n   ,       i
0056040    f       a   =   1   ,       f   i   n   d   s       o   r    
0056060    c   r   e   a   t   e   s       s   t   a   t   u   s       e
0056100    n   t   r   y       w   h   o   s   e       w   o   r   d    
0056120    0       i   s       e   q   u   a   l       t   o       b  \r
0056140    /   /       a   n   d       i   n   c   r   e   m   e   n   t
0056160    s       w   o   r   d   s       1       a   n   d       2    
0056200    (   d   o   u   b   l   e   -   p   r   e   c   i   s   i   o
0056220    n       c   o   u   n   t   e   r   )   .  \r   /   /       U
0056240    n   u   s   e   d       e   n   t   r   i   e   s       a   r
0056260    e       i   n   d   i   c   a   t   e   d       b   y       w
0056300    o   r   d 376 001  \0 251   >       0       =       -   1   .
0056320   \r   /   /       C   u   r   r   e   n   t       i   n   t   e
0056340    r   p   r   e   t   a   t   i   o   n   s   :  \r   /   /  \t
0056360    a  \t   b  \r   /   /  \t   0  \t   v   d   a  \t   C   o   m
0056400    m   a   n   d       c   o   m   p   l   e   t   e   d       (
0056420    T   F   S   G   e   t   C   b   )  \r   /   /  \t   1  \t   s
0056440    t   a   t   u   s  \t   E   r   r   o   r       o   c   c   u
0056460    r   r   e   d       (   D   o   R   e   c   o   v   e   r   y
0056500    )  \r   /   /  \t   2  \t   c   o   m   m   a   n   d  \t   C
0056520    o   m   m   a   n   d       i   s   s   u   e   d       (   D
0056540    o   R   e   c   o   v   e   r   y   )  \r   /   /  \t   #   1
0056560    x   x  \t   v   d   a  \t   C   o   m   m   a   n   d       i
0056600    s   s   u   e   d   ,       x   x       =       a   c   t   N
0056620    u   m   b   e   r       (   T   F   S   D   o   D   i   s   k
0056640    C   o   m   m   a   n   d   )  \r   [  \r   s   t   r   u   c
0056660    t   u   r   e       D   e   b   u   g   D   a   t   a   :  \r
0056700                [  \r             376 001  \0   M 241   p   N   e
0056720    x   t   R   i   n   g       w   o   r   d  \t   /   /       -
0056740    >       n   e   x   t       e   n   t   r   y       t   o    
0056760    u   s   e       i   n       r   i   n   g       b   u   f   f
0057000    e   r  \r               p   E   n   d   R   i   n   g       w
0057020    o   r   d  \t   /   /       -   >       f   i   r   s   t    
0057040    w   o   r   d       b   e   y   o   n   d       e   n   d    
0057060    o   f       r   i   n   g       b   u   f   f   e   r  \r    
0057100            p   B   e   g   i   n   R   i   n   g       w   o   r
0057120    d  \t   /   /       -   >       f   i   r   s   t       w   o
0057140    r   d       o   f       r   i   n   g       b   u   f   f   e
0057160    r  \r               p   B   e   g   i   n   S   t   a   t   u
0057200    s       w   o   r   d  \t   /   /       -   >       b   e   g
0057220    i   n   n   i   n   g       o   f       b   l   o   c   k    
0057240    f   o   r       3   -   w   o   r   d       s   t   a   t   u
0057260    s       e   n   t   r   i   e   s  \r               p   E   n
0057300    d   S   t   a   t   u   s       w   o   r   d  \t 376 001  \0
0057320  002 226   /   /       -   >       f   i   r   s   t       w   o
0057340    r   d       b   e   y   o   n   d       e   n   d       o   f
0057360        s   t   a   t   u   s       e   n   t   r   i   e   s  \r
0057400                ]  \r  \r   i   f       @   #   6   4   5       n
0057420    e       0       t   h   e   n  \r               [  \r        
0057440        l   e   t       p       =       @   #   6   4   5  \r    
0057460            i   f       a       e   q       0       t   h   e   n
0057500        b       =       V   i   r   t   u   a   l   D   i   s   k
0057520    D   A   (   b   ,       l   v       c   >   >   C   B   .   d
0057540    i   s   k   A   d   d   r   e   s   s   )  \r               l
0057560    e   t       s       =       p   >   >   D   e   b   u   g   D
0057600    a   t   a   .   p   N   e   x   t   R   i   n   g  \r        
0057620        s   !   0       =       a   ;       s   !   1       =    
0057640    b  \r               s       =       s   +   2  \r            
0057660    i   f       s       e   q       p   >   >   D   e   b   u   g
0057700    D   a   t   a   .   p   E   n   d   R   i   n   g       t   h
0057720    e   n 376 001  \0 272 312       s       =       p   >   >   D
0057740    e   b   u   g   D   a   t   a   .   p   B   e   g   i   n   R
0057760    i   n   g  \r               p   >   >   D   e   b   u   g   D
0060000    a   t   a   .   p   N   e   x   t   R   i   n   g       =    
0060020    s  \r  \r               i   f       a       e   q       1    
0060040    t   h   e   n  \r                           [  \r            
0060060                s       =       p   >   >   D   e   b   u   g   D
0060100    a   t   a   .   p   B   e   g   i   n   S   t   a   t   u   s
0060120   \r                           u   n   t   i   l       s       e
0060140    q       p   >   >   D   e   b   u   g   D   a   t   a   .   p
0060160    E   n   d   S   t   a   t   u   s       d   o  \r            
0060200                            [  \r                                
0060220        i   f       s   !   0       e   q       -   1       t   h
0060240    e   n       [       Z   e   r   o   (   s   +   1   ,       2
0060260    )   ;       s   !   0       =       b       ]  \r            
0060300                            i   f       b       e   q       s   !
0060320    0       t   h   e   n     376 001  \0 241 305   [       T   F
0060340    S   I   n   c   r   e   m   e   n   t   (   s   +   1   )   ;
0060360        b   r   e   a   k       ]  \r                            
0060400            s       =       s   +   3  \r                        
0060420                ]  \r                           ]  \r            
0060440    ]  \r   ]  \r   ]       /   /       c   o   m   p   i   l   e
0060460    i   f       d   e   b   u   g  \r  \f  \r   /   /       T   F
0060500    S   R   e   a   l   D   A   ,       T   F   S   V   i   r   t
0060520    u   a   l   D   A   ,       a   n   d       T   F   S   I   n
0060540    c   r   e   m   e   n   t       a   r   e       d   e   f   i
0060560    n   e   d       i   n       T   f   s   A   .   a   s   m  \r
0060600   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0060620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060720   \r   l   e   t       T   F   S   I   n   i   t 376 001  \0   :
0060740  030   i   a   l   i   z   e   C   b   S   t   o   r   a   g   e
0060760    (   d   i   s   k   ,       c   b   z   ,       f   i   r   s
0061000    t   P   a   g   e   ,       l   e   n   g   t   h   ,       r
0061020    e   t   r   y   ,       e   r   r   o   r   R   t   n   ;  \r
0061040                    n   u   m   a   r   g   s       n   a   )    
0061060    b   e      \r   /   /   -   -   -   -   -   -   -   -   -   -
0061100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061200    -   -  \r   /   /       I   n   i   t       t   h   e       c
0061220    b   z       s   u   c   h       t   h   a   t       s   u   b
0061240    s   e   q   u   e   n   t   l   y       i   t       c   a   n
0061260        b   e       u   s   e   d       f   o   r  \r   /   /    
0061300    T   F   S       d   i   s   k       t   r   a   n   s   f   e
0061320    r   s   .  \r   [  \r   i   f       n   a       g   e       4
0061340      376 001  \0   o 241   t   h   e   n  \r               [  \r
0061360                Z   e   r   o   (   c   b   z   ,       l   e   n
0061400    g   t   h   )  \r               c   b   z   >   >   C   B   Z
0061420    .   l   e   n   g   t   h       =       l   e   n   g   t   h
0061440   \r               c   b   z   >   >   C   B   Z   .   e   r   r
0061460    o   r   R   t   n       =       n   a       g   e       6    
0061500    &       e   r   r   o   r   R   t   n   ?       e   r   r   o
0061520    r   R   t   n   ,       l   v       D   e   f   a   u   l   t
0061540    T   F   S   E   r   r   o   r   R   t   n  \r               c
0061560    b   z   >   >   C   B   Z   .   r   e   t   r   y       =    
0061600    r   e   t   r   y  \r               c   b   z   >   >   C   B
0061620    Z   .   c   l   e   a   n   u   p   R   o   u   t   i   n   e
0061640        =       N   o   o   p  \r               ]  \r   c   b   z
0061660    >   >   C   B   Z   .   d   i   s   k       =       d   i   s
0061700    k  \r   c   b   z   >   >   C   B   Z   .   c   u   r   r   e
0061720    n   t   P   a   g   e       =       f   i   r   s   t   P   a
0061740    g   e  \r   c   b   z 376 001  \0   B 317   >   >   C   B   Z
0061760    .   q   u   e   u   e   H   e   a   d       =       l   v    
0062000    c   b   z   >   >   C   B   Z   .   h   e   a   d           /
0062020    /       f   o   r       b   a   c   k   w   a   r   d       c
0062040    o   m   p   a   t   i   b   i   l   i   t   y  \r   l   e   t
0062060        c   b       =       l   v       c   b   z   >   >   T   F
0062100    S   C   B   Z   .   C   B   s  \r   c   b   z   >   >   C   B
0062120    Z   .   h   e   a   d       =       c   b  \r               [
0062140   \r               c   b   z   >   >   C   B   Z   .   t   a   i
0062160    l       =       c   b  \r               c   b   >   >   C   B
0062200    .   c   b   z       =       c   b   z  \r               c   b
0062220    >   >   C   B   .   S   t   a   t   u   s   H       =       d
0062240    s   t   F   r   e   e  \r               c   b       =       c
0062260    b   +   l   C   B  \r               i   f       c   b   +   l
0062300    C   B       g   r       c   b   z   +   c   b   z   >   >   C
0062320    B   Z   .   l   e   n   g   t   h       t   h   e   n       c
0062340    b       =       0  \r               c   b 376 001  \0 243 267
0062360    z   >   >   C   B   Z   .   t   a   i   l   >   >   C   B   .
0062400    n   e   x   t   C   B       =       c   b  \r               ]
0062420        r   e   p   e   a   t   u   n   t   i   l       c   b    
0062440    e   q       0  \r   ]  \r  \f  \r   /   /   -   -   -   -   -
0062460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062560    -   -   -   -   -   -   -  \r   a   n   d       T   F   S   D
0062600    o   D   i   s   k   C   o   m   m   a   n   d   (   d   i   s
0062620    k   ,       c   b   ,       C   A   ,       D   A   ,       f
0062640    p   ,       p   a   g   e   N   u   m   b   e   r   ,       a
0062660    c   t   i   o   n   ,  \r                   n   e   x   t   C
0062700    b   ;       n   u   m   a   r   g   s       n   a   )       b
0062720    e      \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0062740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0062760  376 001  \0 246   L   -   -   -   -   -   -   -   -   -   -   -
0063000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0063040    -   -   -   -   -   -  \r   /   /       E   x   p   e   c   t
0063060    s       c   o   m   m   a   n   d       a   n   d       l   a
0063100    b   e   l       t   o       b   o   t   h       b   e       z
0063120    e   r   o   e   d       o   n       e   n   t   r   y   ,    
0063140    o   r  \r   /   /       o   t   h   e   r   w   i   s   e    
0063160    a   p   p   r   o   p   r   i   a   t   e   l   y       i   n
0063200    i   t   i   a   l   i   z   e   d  \r   [  \r   l   e   t    
0063220    c   b   z       =       c   b   >   >   C   B   .   c   b   z
0063240   \r  \r   /   /       R   e   s   u   r   r   e   c   t       /
0063260    /   *       l   i   n   e   s       i   f       i   n   t   e
0063300    r   r   u   p   t   s       e   v   e   r       i   m   p   l
0063320    e   m   e   n   t   e   d       a   n   d       u   s   e   d
0063340   \r   /   /   *               i   f       c   b   >   >   C   B
0063360    .   n   o   r   m 376 001  \0   w 222   a   l   W   a   k   e
0063400    u   p   s       e   q       0       t   h   e   n  \r   /   /
0063420    *                           c   b   >   >   C   B   .   n   o
0063440    r   m   a   l   W   a   k   e   u   p   s       =       c   b
0063460    z   >   >   C   B   Z   .   n   o   r   m   a   l   W   a   k
0063500    e   u   p   s  \r   /   /   *               i   f       c   b
0063520    >   >   C   B   .   e   r   r   o   r   W   a   k   e   u   p
0063540    s       e   q       0       t   h   e   n  \r   /   /   *    
0063560                        c   b   >   >   C   B   .   n   o   r   m
0063600    a   l   W   a   k   e   u   p   s       =       c   b   z   >
0063620    >   C   B   Z   .   e   r   r   o   r   W   a   k   e   u   p
0063640    s  \r  \r   /   /       S   e   t   u   p       h   e   a   d
0063660    e   r       b   l   o   c   k       p   a   r   t       o   f
0063700        s   e   c   t   o   r       t   r   a   n   s   f   e   r
0063720   \r   c   b   >   >   C   B   .   A   d   d   r   H       =    
0063740    l   v       (   c   b   >   >   C   B   .   d   i   s   k   A
0063760    d   d   r   e   s   s   )           / 376 001  \0   / 021   /
0064000        i   n       f   r   o   n   t       o   f       t   h   i
0064020    s       K   C   B  \r   c   b   >   >   C   B   .   C   o   u
0064040    n   t   H       =       l   D   H  \r  \r   /   /       S   e
0064060    t   u   p       l   a   b   e   l       b   l   o   c   k    
0064100    p   a   r   t       o   f       s   e   c   t   o   r       t
0064120    r   a   n   s   f   e   r  \r   i   f       c   b   >   >   C
0064140    B   .   A   d   d   r   L       e   q       0       t   h   e
0064160    n           /   /       c   a   l   l   e   r       m   a   y
0064200        w   a   n   t       l   a   b   e   l       t   o       g
0064220    o       e   l   s   e   w   h   e   r   e  \r               c
0064240    b   >   >   C   B   .   A   d   d   r   L       =       n   a
0064260        g   e       8       &       n   e   x   t   C   b   ?    
0064300    l   v       n   e   x   t   C   b   >   >   C   B   .   l   a
0064320    b   e   l   +   l   D   H   ,       l   v       c   b   >   >
0064340    C   B   .   l   a   b   e   l  \r   c   b   >   >   C   B   .
0064360    C   o   u   n   t   L       =       l   D   L  \r  \r   / 376
0064400  001  \0 305   )   /       S   e   t   u   p       d   a   t   a
0064420        b   l   o   c   k       p   a   r   t       o   f       s
0064440    e   c   t   o   r       t   r   a   n   s   f   e   r  \r   c
0064460    b   >   >   C   B   .   A   d   d   r   D       =       C   A
0064500   \r   c   b   >   >   C   B   .   C   o   u   n   t   D       =
0064520        T   F   S   w   o   r   d   s   P   e   r   P   a   g   e
0064540   \r  \r   /   /       S   e   t   u   p       f   o   r       L
0064560    a   b   e   l       c   o   m   p   a   r   e  \r   M   o   v
0064600    e   B   l   o   c   k   (   l   v       (   c   b   >   >   C
0064620    B   .   A   d   d   r   L   >   >   D   L   .   f   i   l   e
0064640    I   d   )   ,       f   p   ,       l   F   I   D   )        
0064660    /   /       F   I   D       p   a   r   t  \r   c   b   >   >
0064700    C   B   .   A   d   d   r   L   >   >   D   L   .   p   a   c
0064720    k   I   D       =       d   i   s   k   >   >   T   F   S   D
0064740    S   K   .   p   a   c   k   I   D  \r   c   b   >   >   C   B
0064760    .   A   d   d   r   L   >   >   D   L   .   p   a   g   e   N
0065000    u   m   b   e 376 001  \0 001   &   r       =       p   a   g
0065020    e   N   u   m   b   e   r  \r   c   b   >   >   C   B   .   t
0065040    r   u   e   P   a   g   e   N   u   m   b   e   r       =    
0065060    p   a   g   e   N   u   m   b   e   r  \r  \r   /   /       P
0065100    o   s   s   i   b   l   y       p   u   t       i   n       t
0065120    h   e       d   i   s   k       a   d   d   r   e   s   s    
0065140    f   o   r       t   h   i   s       c   o   m   m   a   n   d
0065160    .       D   A       e   q       f   i   l   l   i   n   D   A
0065200        m   e   a   n   s  \r   /   /       i   t       i   s    
0065220    a   l   r   e   a   d   y       s   e   t       u   p   ,    
0065240    o   r       w   i   l   l       b   e       f   i   l   l   e
0065260    d       i   n       f   r   o   m       t   h   e       p   r
0065300    e   v   i   o   u   s       l   a   b   e   l       t   r   a
0065320    n   s   f   e   r  \r   i   f       D   A       n   e       f
0065340    i   l   l   I   n   D   A       t   h   e   n       R   e   a
0065360    l   D   i   s   k   D   A   (   d   i   s   k   ,       D   A
0065400    ,       l   v       c   b   >   > 376 001  \0 257 250   C   B
0065420    .   d   i   s   k   A   d   d   r   e   s   s   )      \r   c
0065440    b   >   >   C   B   .   v   D   i   s   k   A   d   d   r   e
0065460    s   s       =       D   A  \r  \r   /   /       F   i   l   l
0065500        i   n       t   h   e       a   c   t   u   a   l       d
0065520    i   s   k       a   c   t   i   o   n       f   o   r       e
0065540    a   c   h       b   l   o   c   k       o   f       t   h   e
0065560        s   e   c   t   o   r  \r   l   e   t       a   c   t   N
0065600    u   m   b   e   r       =       a   c   t   i   o   n   -   d
0065620    i   s   k   M   a   g   i   c  \r   i   f       a   c   t   N
0065640    u   m   b   e   r       u   g   r       1   0       t   h   e
0065660    n       S   y   s   E   r   r   (   a   c   t   i   o   n   ,
0065700        e   c   B   a   d   A   c   t   i   o   n   )  \r   c   b
0065720    >   >   C   B   .   C   o   m   m   H       =       (   t   a
0065740    b   l   e  \r               [  \r               d   i   s   k
0065760    R   e   a   d       ;       d   i   s   k   C   h   e   c   k
0066000        ;       d   i   s   k   C   h   e   c   k       ; 376 001
0066020   \0 206 237       d   i   s   k   W   r   i   t   e       ;    
0066040    d   i   s   k   C   h   e   c   k       ;  \r               d
0066060    i   s   k   C   h   e   c   k       ;       d   i   s   k   N
0066100    o   o   p   ;       d   i   s   k   N   o   o   p   ;       d
0066120    i   s   k   C   h   e   c   k   ;       d   i   s   k   C   h
0066140    e   c   k   ;       d   i   s   k   C   h   e   c   k  \r    
0066160            ]   )   !   a   c   t   N   u   m   b   e   r  \r   c
0066200    b   >   >   C   B   .   C   o   m   m   L       =       (   t
0066220    a   b   l   e  \r               [  \r               d   i   s
0066240    k   R   e   a   d       ;       d   i   s   k   R   e   a   d
0066260        ;       d   i   s   k   C   h   e   c   k       ;       d
0066300    i   s   k   W   r   i   t   e       ;       d   i   s   k   W
0066320    r   i   t   e       ;  \r               d   i   s   k   C   h
0066340    e   c   k       ;       d   i   s   k   N   o   o   p   ;    
0066360    d   i   s   k   N   o   o   p   ;       d   i   s   k   R   e
0066400    a   d   ;       d   i   s   k   C   h   e   c   k   ;       d
0066420    i   s   k 376 001  \0 326 273   W   r   i   t   e  \r        
0066440        ]   )   !   a   c   t   N   u   m   b   e   r  \r   c   b
0066460    >   >   C   B   .   C   o   m   m   D       =       (   t   a
0066500    b   l   e  \r               [  \r               d   i   s   k
0066520    R   e   a   d       ;       d   i   s   k   R   e   a   d    
0066540    ;       d   i   s   k   R   e   a   d       ;       d   i   s
0066560    k   W   r   i   t   e       ;       d   i   s   k   W   r   i
0066600    t   e       ;  \r               d   i   s   k   W   r   i   t
0066620    e       ;       0   ;       0   ;       0   ;       0   ;    
0066640    0  \r               ]   )   !   a   c   t   N   u   m   b   e
0066660    r  \r  \f  \r   /   /       T   F   S   D   o   D   i   s   k
0066700    C   o   m   m   a   n   d       (   c   o   n   t   '   d   )
0066720   \r  \r   /   /       F   i   l   l       i   n       t   h   e
0066740        d   r   i   v   e       n   u   m   b   e   r  \r   c   b
0066760    >   >   C   B   .   d   r   i   v   e       =       d   i   s
0067000    k   >   >   T   F   S   D   S   K   .   d   r   i   v   e   N
0067020    u   m   b   e   r  \r  \r   / 376 001  \0 347   =   /       W
0067040    a   i   t       f   o   r       i   n   t   e   r   l   o   c
0067060    k   e   d       a   c   t   i   v   i   t   y       (   D   o
0067100    R   e   c   o   v   e   r   y   ,       T   F   S   T   r   y
0067120    D   i   s   k   ,       e   t   c   .   )       t   o       c
0067140    o   m   p   l   e   t   e  \r   w   h   i   l   e       T   F
0067160    S   L   o   c   k       n   e       0       d   o       I   d
0067200    l   e   (   )  \r  \r   /   /       T   u   r   n       o   f
0067220    f       t   h   e       d   i   s   p   l   a   y   ,       i
0067240    f       n   o   t       a   l   r   e   a   d   y       o   f
0067260    f  \r   i   f       T   F   S   S   a   v   e   d   D   i   s
0067300    p   l   a   y       e   q       -   1       t   h   e   n  \r
0067320                [  \r               T   F   S   S   a   v   e   d
0067340    D   i   s   p   l   a   y       =       @   D   A   s   t   a
0067360    r   t  \r               u   n   l   e   s   s       T   F   S
0067400    L   e   a   v   e   D   i   s   p   l   a   y       d   o    
0067420    @   D   A   s   t   a   r   t       =       0  \r 376 001  \0
0067440  247   W               ]  \r  \r   /   /       F   i   l   l    
0067460    i   n       t   h   e       c   o   m   m   a   n   d       s
0067500    e   a   l  \r   c   b   >   >   C   B   .   I   D       =    
0067520    d   c   b   I   D  \r  \r   /   /       E   n   q   u   e   u
0067540    e       t   h   e       c   o   m   m   a   n   d  \r   c   o
0067560    m   p   i   l   e   i   f       d   e   b   u   g       t   h
0067600    e   n       [       R   e   c   o   r   d   T   F   S   (   #
0067620    1   0   0   +   a   c   t   N   u   m   b   e   r   ,       D
0067640    A   )       ]  \r   /   /   *       D   i   s   a   b   l   e
0067660    I   n   t   e   r   r   u   p   t   s   (   )  \r   l   e   t
0067700        p       =       K   B   L   K   >   >   K   B   L   K   .
0067720    p   t   r           /   /       c   h   a   s   e       d   o
0067740    w   n       c   h   a   i   n  \r   i   f       p       n   e
0067760        0       t   h   e   n  \r               [  \r            
0070000    u   n   t   i   l       p   >   >   K   C   B   .   n   e   x
0070020    t   K   C   B       e   q       0       d   o       p       =
0070040        p 376 001  \0 357 275   >   >   K   C   B   .   n   e   x
0070060    t   K   C   B  \r               p   >   >   K   C   B   .   n
0070100    e   x   t   K   C   B       =       l   v       c   b   >   >
0070120    C   B   .   d   i   s   k   A   d   d   r   e   s   s  \r    
0070140            ]  \r   i   f       K   B   L   K   >   >   K   B   L
0070160    K   .   p   t   r       e   q       0       t   h   e   n    
0070200    K   B   L   K   >   >   K   B   L   K   .   p   t   r       =
0070220        l   v       c   b   >   >   C   B   .   d   i   s   k   A
0070240    d   d   r   e   s   s  \r   /   /   *       E   n   a   b   l
0070260    e   I   n   t   e   r   r   u   p   t   s   (   )  \r  \r   /
0070300    /       P   u   t       t   h   i   s       C   B       b   a
0070320    c   k       o   n       t   h   e       a   v   a   i   l   a
0070340    b   l   e       q   u   e   u   e  \r   c   b   >   >   C   B
0070360    .   n   e   x   t   C   B       =       0  \r   t   e   s   t
0070400        c   b   z   >   >   C   B   Z   .   h   e   a   d       e
0070420    q       0  \r               i   f   s   o       c   b   z   >
0070440    >   C   B   Z   .   h   e 376 001  \0   G 313   a   d       =
0070460        c   b  \r               i   f   n   o   t       c   b   z
0070500    >   >   C   B   Z   .   t   a   i   l   >   >   C   B   .   n
0070520    e   x   t   C   B       =       c   b  \r   c   b   z   >   >
0070540    C   B   Z   .   t   a   i   l       =       c   b  \r   ]  \r
0070560   \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0070600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0070700   \r   a   n   d       T   F   S   G   e   t   C   b   (   d   i
0070720    s   k   ,       c   b   z   ,       d   o   n   t   C   l   e
0070740    a   r   ,       r   e   t   u   r   n   I   f   N   o   C   b
0070760    ;       n   u   m   a   r   g   s       n   a   )       =    
0071000    v   a   l   o   f      \r   /   /   -   -   -   -   -   -   -
0071020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0071040    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0 220
0071060  234   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0071100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0071120    -   -   -   -   -   -   -   -   -   -  \r   [  \r   /   /    
0071140    D   e   q   u   e   u   e       n   e   x   t       C   B    
0071160    f   r   o   m       C   B   Z  \r   l   e   t       c   b    
0071200    =       c   b   z   >   >   C   B   Z   .   h   e   a   d  \r
0071220    i   f       c   b       e   q       0       t   h   e   n  \r
0071240                [  \r               i   f       n   a       g   e
0071260        4       &       r   e   t   u   r   n   I   f   N   o   C
0071300    b       r   e   s   u   l   t   i   s       0  \r            
0071320    S   y   s   E   r   r   (   c   b   z   ,       e   c   T   f
0071340    s   Q   u   e   u   e   )           /   /   t   h   e   r   e
0071360        s   h   o   u   l   d       b   e       o   n   e  \r    
0071400            ]  \r   c   b   z   >   >   C   B   Z   .   h   e   a
0071420    d       =       c   b   >   >   C   B   .   n   e   x   t   C
0071440    B  \r  \r   /   /       I   f       h   e   a   d   e   r    
0071460    s 376 001  \0 332 201   t   a   t   u   s       i   s       d
0071500    s   t   F   r   e   e   ,       c   b       i   s       u   s
0071520    a   b   l   e  \r   i   f       c   b   >   >   C   B   .   S
0071540    t   a   t   u   s   H       e   q       d   s   t   F   r   e
0071560    e       t   h   e   n       [       Z   e   r   o   (   c   b
0071600    ,       l   V   a   r   C   B   )   ;       r   e   s   u   l
0071620    t   i   s       c   b       ]  \r  \r   /   /       M   a   n
0071640    y       w   a   y   s       t   o       r   e   t   u   r   n
0071660        a       g   o   o   d       c   b  \r               [    
0071700        /   /   r   e   p   e   a   t       (   g   i   v   e   s
0071720        u   s       s   o   m   e   t   h   i   n   g       t   o
0071740        b   r   e   a   k       o   u   t       o   f   )  \r    
0071760            /   /       F   o   l   l   o   w   i   n   g       c
0072000    o   d   e       d   e   p   e   n   d   s       o   n       t
0072020    h   e       f   a   c   t       t   h   a   t       l   a   b
0072040    e   l       i   s       a   l   w   a   y   s       t   r   a
0072060    n   s   f   e   r   r 376 001  \0   * 311   e   d   ,  \r    
0072100            /   /       a   l   t   h   o   u   g   h       t   h
0072120    e       d   a   t   a       f   i   e   l   d       m   a   y
0072140        n   o   t       b   e       (   D   C   r   e   a   d   L
0072160    n   D   )  \r               l   e   t       l   v   S   t   a
0072200    t   u   s       =       c   b   >   >   C   B   .   C   o   m
0072220    m   D       e   q       0   ?       l   v       c   b   >   >
0072240    C   B   .   S   t   a   t   u   s   L   ,       l   v       c
0072260    b   >   >   C   B   .   S   t   a   t   u   s   D  \r  \r    
0072300            /   /       H   e   r   e       i   s       t   h   e
0072320        m   a   i   n       p   l   a   c   e       t   o       w
0072340    a   i   t       f   o   r       c   o   m   m   a   n   d    
0072360    c   o   m   p   l   e   t   i   o   n   :  \r               i
0072400    f       @   l   v   S   t   a   t   u   s       e   q       0
0072420        t   h   e   n  \r                           [  \r        
0072440                    i   f       n   a       g   e       4       &
0072460        r   e   t   u   r   n   I   f   N   o 376 001  \0   P 275
0072500    C   b       t   h   e   n           /   /       P   u   t    
0072520    c   b       b   a   c   k       o   n       q   u   e   u   e
0072540        a   n   d       r   e   t   u   r   n       0  \r        
0072560                                [       c   b   z   >   >   C   B
0072600    Z   .   h   e   a   d       =       c   b   ;       r   e   s
0072620    u   l   t   i   s       0       ]  \r  \r                    
0072640        l   e   t       i   n   T   i   m   e       =       @   R
0072660    T   C       +       5   *   (   1   0   0   0   /   3   9   )
0072700            /   /       P   r   e   p   a   r   e       a       t
0072720    i   m   e   r       (   5       s   e   c   o   n   d   s   )
0072740   \r                                       [       /   /       W
0072760    a   i   t       f   o   r       c   o   m   m   a   n   d    
0073000    t   o       c   o   m   p   l   e   t   e       o   r       t
0073020    i   m   e       o   u   t  \r                                
0073040        I   d   l   e   (   )  \r                                
0073060        i   f       @   l   v   S   t   a   t   u   s       n   e
0073100  376 001  \0   3   _       0       t   h   e   n       b   r   e
0073120    a   k           /   /       c   o   m   m   a   n   d       c
0073140    o   m   p   l   e   t   e   d  \r                            
0073160            i   f       K   B   L   K   >   >   K   B   L   K   .
0073200    p   t   r       e   q       0       &       c   b   >   >   C
0073220    B   .   I   D       e   q       d   c   b   I   D       t   h
0073240    e   n  \r                                                   /
0073260    /       c   o   n   t   r   o   l   l   e   r       w   e   n
0073300    t       i   d   l   e       w   i   t   h   o   u   t       e
0073320    v   e   n       s   t   a   r   t   i   n   g       t   h   i
0073340    s       c   o   m   m   a   n   d  \r                        
0073360                            [       @   l   v   S   t   a   t   u
0073400    s       =       d   s   t   F   o   r   g   o   t   t   e   n
0073420        %       d   s   t   D   o   n   e   ;       b   r   e   a
0073440    k       ]  \r                                       i   f    
0073460    @   R   T   C   -   i   n   T   i   m   e       g   r       0
0073500        t   h   e   n 376 001  \0 234 376  \r                    
0073520                                /   /       c   o   m   m   a   n
0073540    d       t   i   m   e   d       o   u   t       a   n   d    
0073560    c   o   n   t   r   o   l   l   e   r       s   e   e   m   s
0073600        t   o       b   e       h   u   n   g       u   p  \r    
0073620                                                [       @   l   v
0073640    S   t   a   t   u   s       =       d   s   t   T   i   m   e
0073660    o   u   t       %       d   s   t   D   o   n   e   ;       b
0073700    r   e   a   k       ]  \r                                    
0073720    ]       r   e   p   e   a   t  \r                           ]
0073740   \r  \r               c   o   m   p   i   l   e   i   f       d
0073760    e   b   u   g       t   h   e   n  \r                        
0074000    [  \r                           /   /       I   f       s   t
0074020    a   t   u   s       i   s       n   o   t       s   e   t   ,
0074040        i   t       m   u   s   t       m   e   a   n       t   h
0074060    a   t       t   h   e       c   o   m   m   a   n   d       a
0074100    b   o   r   t   e   d   ,  \r         376 001  \0   "   *    
0074120                /   /       o   r       t   h   e       r   e   a
0074140    d       t   a   s   k       c   o   m   m   i   t   t   e   d
0074160        s   u   i   c   i   d   e   ,       o   r       s   e   c
0074200    t   o   r       p   u   l   s   e   s       a   r   e       n
0074220    o   t       t   h   e   r   e   .  \r                        
0074240    i   f       (   @   l   v   S   t   a   t   u   s       &    
0074260    (   d   s   t   F   o   r   g   o   t   t   e   n       %    
0074300    d   s   t   T   i   m   e   o   u   t   )   )       n   e    
0074320    0       t   h   e   n  \r                                    
0074340    [  \r                                       l   e   t       s
0074360    a   v   e   I   t   N   o   w       =       v   e   c       l
0074400    V   a   r   C   B  \r                                       M
0074420    o   v   e   B   l   o   c   k   (   s   a   v   e   I   t   N
0074440    o   w   ,       c   b   ,       l   V   a   r   C   B   )  \r
0074460                                        c   o   m   p   i   l   e
0074500    i   f       s   a   v   e   r   e   g   s       t   h   e 376
0074520  001  \0 376   \   n       [       S   a   v   e   R   e   g   s
0074540    (   )       ]  \r                                       i   f
0074560        K   B   L   K   >   >   K   B   L   K   .   a   b   o   r
0074600    t   e   d       e   q       0       t   h   e   n       C   a
0074620    l   l   S   w   a   t   (   "   d   e   a   d   "   )  \r    
0074640                                    ]  \r                        
0074660    l   e   t       E   r   r   o   r   R   a   n       =       n
0074700    i   l  \r                           i   f       K   B   L   K
0074720    >   >   K   B   L   K   .   a   b   o   r   t   e   d       t
0074740    h   e   n       @   #   2   2       =       @   #   2   2   +
0074760    1  \r                           i   f       T   F   S   E   r
0075000    r   o   r   R   a   t   e       t   h   e   n  \r            
0075020                            [  \r                                
0075040        l   e   t       l   b       =       (   t   a   b   l   e
0075060        [       #   6   1   0   0   3   ;       #   1   2   1   0
0075100    0   0   ;       #   1   4   0   1       ]       )   (   )  \t
0075120    /   /   R   C 376 001  \0 033   J   L   K  \r                
0075140                        E   r   r   o   r   R   a   n       =    
0075160    (   l   b       r   s   h   i   f   t       6   )   &   #   7
0075200    7  \t  \t   /   /       m   a   k   e       6   -   b   i   t
0075220        q   u   a   n   t   i   t   y  \r                        
0075240                i   f       E   r   r   o   r   R   a   n       l
0075260    s       T   F   S   E   r   r   o   r   R   a   t   e       t
0075300    h   e   n       c   b   >   >   C   B   .   S   t   a   t   u
0075320    s   H       =       d   s   t   T   i   m   e   o   u   t  \r
0075340                                        ]  \r                    
0075360        R   e   c   o   r   d   T   F   S   (   0   ,       d   i
0075400    s   k   ,       c   b   )  \t  \t   /   /   R   e   c   o   r
0075420    d       c   o   m   p   l   e   t   i   o   n       o   f    
0075440    c   o   m   m   a   n   d  \r                           ]  \r
0075460   \r               /   /       M   e   r   g   e       t   o   g
0075500    e   t   h   e   r       s   t   a   t   u   s       f   o   r
0075520        a   l   l       b   l   o   c 376 001  \0   5 210   k   s
0075540   \r               l   e   t       e   r   r   o   r   S   t   a
0075560    t   u   s       =           (   c   b   >   >   C   B   .   S
0075600    t   a   t   u   s   D       %       c   b   >   >   C   B   .
0075620    S   t   a   t   u   s   L       %       c   b   >   >   C   B
0075640    .   S   t   a   t   u   s   H   )       &  \r                
0075660    d   s   t   E   r   r   o   r   s           /   /       m   a
0075700    s   k       o   u   t       n   o   n   -   e   r   r   o   r
0075720    s  \r  \r               /   /       M   o   s   t       s   u
0075740    c   c   e   s   s   f   u   l       t   r   a   n   s   f   e
0075760    r   s       e   x   i   t       h   e   r   e   :  \r        
0076000        i   f       e   r   r   o   r   S   t   a   t   u   s    
0076020    e   q       0       t   h   e   n       b   r   e   a   k  \r
0076040   \f  \r   /   /       T   F   S   G   e   t   C   b       (   c
0076060    o   n   t   '   d   )  \r  \r               /   /       M   u
0076100    s   t       r   e   s   e   t       t   h   e       d   i   s
0076120    k       a   f   t   e   r       e   a   c   h       e 376 001
0076140   \0 350   Z   r   r   o   r       -   -       b   u   t       d
0076160    o   n   '   t       t   a   m   p   e   r       w   i   t   h
0076200        z   o   n   e   .  \r               /   /       N   o   t
0076220    e       t   h   a   t       o   t   h   e   r       d   i   s
0076240    k       a   c   t   i   v   i   t   y       c   a   n       b
0076260    e       t   a   k   i   n   g       p   l   a   c   e       (
0076300    e   .   g   .   ,       w   e       m   i   g   h   t  \r    
0076320            /   /       j   u   s   t       h   a   v   e       a
0076340    n       E   C   C       e   r   r   o   r       a   n   d    
0076360    c   a   n       f   i   x       i   t       w   i   t   h   o
0076400    u   t       f   l   u   s   h   i   n   g       r   e   m   a
0076420    i   n   d   e   r  \r               /   /       o   f       c
0076440    o   m   m   a   n   d       b   l   o   c   k       c   h   a
0076460    i   n   )   .  \r               c   o   m   p   i   l   e   i
0076500    f       d   e   b   u   g       t   h   e   n       [       R
0076520    e   c   o   r   d   T   F   S   (   1   ,       e   r   r   o
0076540    r   S   t 376 001  \0 231 033   a   t   u   s   )       ]  \r
0076560                D   o   R   e   c   o   v   e   r   y   (   d   i
0076600    s   k   ,       d   i   s   k   R   e   s   e   t   ,       c
0076620    b   z   >   >   C   B   Z   .   e   r   r   o   r   R   t   n
0076640    )  \r  \r               /   /       R   e   t   r   y       d
0076660    a   t   a   -   l   a   t   e       a   n   d       "   f   o
0076700    r   g   o   t   t   e   n   "       e   r   r   o   r   s    
0076720    i   n   d   e   f   i   n   i   t   e   l   y   ,       w   i
0076740    t   h   o   u   t       a   n   y  \r               /   /    
0076760    o   t   h   e   r       r   e   c   o   v   e   r   y       a
0077000    c   t   i   o   n   s   ,       a   n   d       w   i   t   h
0077020    o   u   t       c   o   u   n   t   i   n   g       t   h   e
0077040    m       a   s       e   r   r   o   r   s   .  \r            
0077060    i   f       (   e   r   r   o   r   S   t   a   t   u   s    
0077100    &       d   s   t   R   e   t   r   y   I   n   d   e   f   i
0077120    n   i   t   e   l   y   )       e   q       0       t   h   e
0077140    n  \r                         376 001  \0 231  \t   [  \r    
0077160                        c   b   z   >   >   C   B   Z   .   e   r
0077200    r   o   r   C   o   u   n   t       =       c   b   z   >   >
0077220    C   B   Z   .   e   r   r   o   r   C   o   u   n   t   +   1
0077240   \r                           l   e   t       e   r   r   o   r
0077260    C   o   u   n   t       =       c   b   z   >   >   C   B   Z
0077300    .   e   r   r   o   r   C   o   u   n   t  \r  \r            
0077320                /   /       D   i   s   k       i   s       n   o
0077340    w       q   u   i   e   t   .           N   o   w       d   o
0077360        e   r   r   o   r       r   e   p   o   r   t   i   n   g
0077400        a   n   d       r   e   c   o   v   e   r   y   .  \r    
0077420                        /   /       R   e   p   o   r   t       a
0077440        c   h   e   c   k       e   r   r   o   r       n   o   t
0077460        a   c   c   o   m   p   a   n   i   e   d       b   y    
0077500    o   t   h   e   r       e   r   r   o   r   s       o   n   l
0077520    y       a   f   t   e   r  \r                           /   /
0077540        i   t       h   a   s       b   e   e   n     376 001  \0
0077560    R 344   r   e   t   r   i   e   d       a   t       l   e   a
0077600    s   t       o   n   c   e       -   -       b   e   c   a   u
0077620    s   e       E   O   F       i   s       s   o   m   e   t   i
0077640    m   e   s  \r                           /   /       d   e   t
0077660    e   c   t   e   d       b   y       s   l   a   m   m   i   n
0077700    g       i   n   t   o       p   a   g   e       0       a   n
0077720    d       g   e   t   t   i   n   g       a       c   h   e   c
0077740    k       e   r   r   o   r   .  \r                           u
0077760    n   l   e   s   s       e   r   r   o   r   C   o   u   n   t
0100000        e   q       1       &       e   r   r   o   r   S   t   a
0100020    t   u   s       e   q       d   s   t   C   o   m   p   E   r
0100040    r       d   o  \r                                       [  \r
0100060                                        c   o   m   p   i   l   e
0100100    i   f       d   e   b   u   g       t   h   e   n  \r        
0100120                                            [  \r                
0100140                                    i   f       T   F   S   E   r
0100160    r   o 376 001  \0 236 034   r   R   a   t   e       n   e    
0100200    0       &       E   r   r   o   r   R   a   n       l   s    
0100220    T   F   S   R   e   s   t   o   r   e   R   a   t   e       t
0100240    h   e   n  \r                                                
0100260                e   r   r   o   r   C   o   u   n   t       =    
0100300    (   d   i   s   k   >   >   D   S   K   .   r   e   t   r   y
0100320    C   o   u   n   t       r   s   h   i   f   t       1   )   +
0100340    1  \r                                                   ]  \r
0100360   \r                                       T   F   S   I   n   c
0100400    r   e   m   e   n   t   (   l   v       d   i   s   k   >   >
0100420    T   F   S   D   S   K   .   n   E   r   r   o   r   s   )  \r
0100440                                        l   e   t       b   l   o
0100460    c   k       =       l   v       c   b   >   >   C   B   .   C
0100500    o   m   m   H  \r                                       e   r
0100520    r   o   r   S   t   a   t   u   s       =       0  \r  \r    
0100540                                                [       /   /    
0100560    r   e   p   e   a   t     376 001  \0   C 342   f   o   r    
0100600    e   a   c   h       b   l   o   c   k  \r                    
0100620                                /   /       A   t   t   e   m   p
0100640    t       E   C   C       o   n   l   y       i   f       t   h
0100660    e   r   e       w   e   r   e       n   o       o   t   h   e
0100700    r       e   r   r   o   r   s       i   n       t   h   i   s
0100720        b   l   o   c   k   .  \r                                
0100740                    /   /       T   h   i   s       i   n   c   l
0100760    u   d   e   s       c   h   e   c   k       e   r   r   o   r
0101000    s   ,       s   i   n   c   e       t   h   e       f   i   r
0101020    s   t       t   w   o       w   o   r   d   s       o   f    
0101040    a  \r                                                   /   /
0101060        c   h   e   c   k   e   d       b   l   o   c   k       a
0101100    r   e       n   o   t       s   t   o   r   e   d       i   n
0101120        m   e   m   o   r   y       a   n   d       t   h   e   r
0101140    e   f   o   r   e       i   t       i   s  \r                
0101160                                    /   /       h 376 001  \0   s
0101200  211   o   p   e   l   e   s   s       t   o       c   o   r   r
0101220    e   c   t       a   n       E   C   C       e   r   r   o   r
0101240        i   n       a       c   h   e   c   k   e   d       b   l
0101260    o   c   k   .  \r                                            
0101300        /   /       A   l   s   o   ,       d   o       n   o   t
0101320        i   n   v   o   k   e       E   C   C       u   n   t   i
0101340    l       w   e       h   a   v   e       r   e   t   r   i   e
0101360    d       a   t       l   e   a   s   t  \r                    
0101400                                /   /       4       t   i   m   e
0101420    s   ,       t   o       r   e   d   u   c   e       t   h   e
0101440        r   i   s   k       o   f       f   a   l   s   e       E
0101460    C   C       c   o   r   r   e   c   t   i   o   n  \r        
0101500                                            /   /       o   n    
0101520    t   r   a   n   s   i   e   n   t       d   a   t   a       e
0101540    r   r   o   r   s   .  \r                                    
0101560                l   e   t       s   t   a   t   u   s       =    
0101600    b 376 001  \0 362   n   l   o   c   k   >   >   K   C   B   b
0101620    l   o   c   k   .   S   t   a   t   u   s       &       d   s
0101640    t   E   r   r   o   r   s  \r                                
0101660                    i   f       s   t   a   t   u   s       e   q
0101700        d   s   t   E   C   C   e   r   r   o   r       t   h   e
0101720    n  \r                                                        
0101740        [  \r                                                    
0101760            T   F   S   I   n   c   r   e   m   e   n   t   (   l
0102000    v       d   i   s   k   >   >   T   F   S   D   S   K   .   n
0102020    E   C   C   E   r   r   o   r   s   )  \r                    
0102040                                            i   f       e   r   r
0102060    o   r   C   o   u   n   t       g   e       4       &       D
0102100    a   t   a   F   i   x   (   b   l   o   c   k   )       e   q
0102120        -   1       t   h   e   n  \r                            
0102140                                                [       s   t   a
0102160    t   u   s       =       0   ;       T   F   S   I   n   c   r
0102200    e   m   e   n   t   ( 376 001  \0 332 311   l   v       d   i
0102220    s   k   >   >   T   F   S   D   S   K   .   n   E   C   C   F
0102240    i   x   e   s   )       ]  \r                                
0102260                                ]  \r                            
0102300                        e   r   r   o   r   S   t   a   t   u   s
0102320        =       e   r   r   o   r   S   t   a   t   u   s       %
0102340        s   t   a   t   u   s  \r                                
0102360                    b   l   o   c   k       =       b   l   o   c
0102400    k   +   (   s   i   z   e       K   C   B   b   l   o   c   k
0102420    /   1   6   )  \r                                            
0102440        ]       r   e   p   e   a   t   w   h   i   l   e       b
0102460    l   o   c   k       u   l   e       (   l   v       c   b   >
0102500    >   C   B   .   C   o   m   m   D   )  \r  \r                
0102520                        i   f       e   r   r   o   r   S   t   a
0102540    t   u   s       e   q       0       t   h   e   n       b   r
0102560    e   a   k           /   /   s   u   c   c   e   s   s   f   u
0102600    l       E   C   C       f   i   x  \r     376 001  \0   ]   k
0102620                                    ]  \r  \r                    
0102640        /   /       T   u   r   n       d   i   s   p   l   a   y
0102660        b   a   c   k       o   n       n   o   w   ,       s   i
0102700    n   c   e       e   r   r   o   r       r   o   u   t   i   n
0102720    e       m   i   g   h   t       n   e   v   e   r       r   e
0102740    t   u   r   n  \r                           i   f       T   F
0102760    S   S   a   v   e   d   D   i   s   p   l   a   y       n   e
0103000        -   1       t   h   e   n  \r                            
0103020            [       @   D   A   s   t   a   r   t       =       T
0103040    F   S   S   a   v   e   d   D   i   s   p   l   a   y   ;    
0103060    T   F   S   S   a   v   e   d   D   i   s   p   l   a   y    
0103100    =       -   1       ]  \r  \f  \r   /   /       T   F   S   G
0103120    e   t   C   b       (   c   o   n   t   '   d   )  \r  \r    
0103140                        c   b   z   >   >   C   B   Z   .   e   r
0103160    r   o   r   D   A       =       c   b   >   >   C   B   .   v
0103200    D   i   s   k   A   d   d   r   e   s   s  \r                
0103220  376 001  \0   +   *           i   f       e   r   r   o   r   C
0103240    o   u   n   t       g   e       d   i   s   k   >   >   D   S
0103260    K   .   r   e   t   r   y   C   o   u   n   t       t   h   e
0103300    n      \r                                       [           /
0103320    /       N   o   n   -   r   e   c   o   v   e   r   a   b   l
0103340    e       e   r   r   o   r  \r                                
0103360        T   F   S   I   n   c   r   e   m   e   n   t   (   l   v
0103400        d   i   s   k   >   >   T   F   S   D   S   K   .   n   U
0103420    n   R   e   c   o   v   )  \r                                
0103440        (   @   c   b   z   >   >   C   B   Z   .   e   r   r   o
0103460    r   R   t   n   )   (   c   b   z   >   >   C   B   Z   .   e
0103500    r   r   o   r   R   t   n   ,       c   b   ,       e   c   U
0103520    n   R   e   c   o   v   D   i   s   k   E   r   r   o   r   )
0103540   \r                                       b   r   e   a   k    
0103560                        /   /   L   e   t       r   e   m   a   i
0103600    n   d   e   r       o   f       t   r   a   n   s   f   e   r
0103620    s       p   r   o 376 001  \0 213 373   c   e   e   d  \r    
0103640                                    ]  \r  \r                    
0103660        /   /       I   f       m   o   r   e       t   h   a   n
0103700        8       e   r   r   o   r   s   ,       d   o       r   e
0103720    s   t   o   r   e       b   e   f   o   r   e       t   r   y
0103740    i   n   g       a   g   a   i   n   .  \r                    
0103760        i   f       e   r   r   o   r   C   o   u   n   t       g
0104000    r       (   d   i   s   k   >   >   D   S   K   .   r   e   t
0104020    r   y   C   o   u   n   t       r   s   h   i   f   t       1
0104040    )       t   h   e   n  \r                                    
0104060    [  \r                                       /   /       C   h
0104100    e   c   k       f   o   r       r   e   a   d   -   o   n   l
0104120    y       e   r   r   o   r   .           W   e       d   o    
0104140    t   h   i   s       a   f   t   e   r       8       r   e   t
0104160    r   i   e   s  \r                                       /   /
0104200        (   r   a   t   h   e   r       t   h   a   n       i   m
0104220    m   e   d   i   a   t   e   l   y   ) 376 001  \0 310  \b    
0104240    b   e   c   a   u   s   e       t   h   e       h   a   r   d
0104260    w   a   r   e       d   o   e   s   n   '   t       p   r   o
0104300    v   i   d   e  \r                                       /   /
0104320        a   n       u   n   e   q   u   i   v   o   c   a   l    
0104340    "   t   r   i   e   d       t   o       w   r   i   t   e    
0104360    w   h   e   n       r   e   a   d   -   o   n   l   y   "    
0104400    i   n   d   i   c   a   t   i   o   n   .  \r                
0104420                        /   /       A   l   s   o   ,       w   e
0104440        m   u   s   t       d   o       a       r   e   s   t   o
0104460    r   e       a   f   t   e   r       t   h   e       e   r   r
0104500    o   r       r   o   u   t   i   n   e       r   e   t   u   r
0104520    n   s       i   n  \r                                       /
0104540    /       o   r   d   e   r       t   o       f   o   r   c   e
0104560        t   h   e       d   r   i   v   e       t   o       n   o
0104600    t   i   c   e       t   h   e       n   e   w       s   t   a
0104620    t   e       o   f       t   h   e       s   w   i   t   c 376
0104640  001  \0 237   V   h   .  \r                                    
0104660    /   /       N   o   t   e       t   h   a   t       t   h   e
0104700        R   e   a   d   O   n   l   y       b   i   t       h   a
0104720    s       b   e   e   n       m   a   s   k   e   d       o   u
0104740    t       i   n       e   r   r   o   r   S   t   a   t   u   s
0104760    ,  \r                                       /   /       b   u
0105000    t       t   h   e       s   t   a   t   u   s       s   t   o
0105020    r   e   d       o   n       t   o   p       o   f       t   h
0105040    e       I   D       c   o   n   t   a   i   n   s       t   h
0105060    e       t   r   u   e       s   t   a   t   e  \r            
0105100                            /   /       o   f       t   h   e    
0105120    R   e   a   d   O   n   l   y       s   w   i   t   c   h   .
0105140   \r                                       i   f       (   c   b
0105160    >   >   C   B   .   I   D   )   <   <   D   S   T   .   R   e
0105200    a   d   O   n   l   y       &       e   r   r   o   r   S   t
0105220    a   t   u   s   <   <   D   S   T   .   D   e   v   i   c   e
0105240    C   k       t 376 001  \0   ~   R   h   e   n  \r            
0105260                                        (   @   c   b   z   >   >
0105300    C   B   Z   .   e   r   r   o   r   R   t   n   )   (   c   b
0105320    z   >   >   C   B   Z   .   e   r   r   o   r   R   t   n   ,
0105340        c   b   ,       e   c   R   e   a   d   O   n   l   y   )
0105360   \r                                       T   F   S   I   n   c
0105400    r   e   m   e   n   t   (   l   v       d   i   s   k   >   >
0105420    T   F   S   D   S   K   .   n   R   e   s   t   o   r   e   s
0105440    )  \r                                       D   o   R   e   c
0105460    o   v   e   r   y   (   d   i   s   k   ,       d   i   s   k
0105500    R   e   s   t   o   r   e   ,       c   b   z   >   >   C   B
0105520    Z   .   e   r   r   o   r   R   t   n   )  \r                
0105540                        ]  \r                           ]  \r  \r
0105560                /   /       I   n   i   t   i   a   l   i   z   e
0105600        t   h   i   n   g   s       a   g   a   i   n  \r        
0105620        T   F   S   I   n   i   t   i   a   l   i   z   e   C   b
0105640    S   t   o   r   a   g   e   (   d 376 001  \0 257 235   i   s
0105660    k   ,       c   b   z   ,       c   b   >   >   C   B   .   t
0105700    r   u   e   P   a   g   e   N   u   m   b   e   r   )  \r    
0105720            R   e   t   u   r   n   T   o   (   c   b   z   >   >
0105740    C   B   Z   .   r   e   t   r   y   )  \r               ]    
0105760    r   e   p   e   a   t  \r  \r   /   /       T   u   r   n    
0106000    d   i   s   p   l   a   y       b   a   c   k       o   n    
0106020    i   f       d   i   s   k       n   o   w       i   d   l   e
0106040   \r   i   f       K   B   L   K   >   >   K   B   L   K   .   p
0106060    t   r       e   q       0       &       T   F   S   S   a   v
0106100    e   d   D   i   s   p   l   a   y       n   e       -   1    
0106120    t   h   e   n  \r               [       @   D   A   s   t   a
0106140    r   t       =       T   F   S   S   a   v   e   d   D   i   s
0106160    p   l   a   y   ;       T   F   S   S   a   v   e   d   D   i
0106200    s   p   l   a   y       =       -   1       ]  \r  \r   /   /
0106220        G   o   o   d       c   b       f   r   o   m       p   r
0106240    e   v   i   o   u   s       t   r   a   n   s   f   e 376 001
0106260   \0   l 335   r   ,       r   e   a   d   y       t   o       r
0106300    e   t   u   r   n  \r   T   F   S   I   n   c   r   e   m   e
0106320    n   t   (   l   v       d   i   s   k   >   >   T   F   S   D
0106340    S   K   .   n   T   r   a   n   s   f   e   r   s   )  \r   c
0106360    b   z   >   >   C   B   Z   .   n   e   x   t   D   A       =
0106400        V   i   r   t   u   a   l   D   i   s   k   D   A   (   d
0106420    i   s   k   ,       l   v       c   b   >   >   C   B   .   A
0106440    d   d   r   L   >   >   D   L   .   n   e   x   t   )  \r   c
0106460    b   z   >   >   C   B   Z   .   c   u   r   r   e   n   t   N
0106500    u   m   C   h   a   r   s       =       c   b   >   >   C   B
0106520    .   A   d   d   r   L   >   >   D   L   .   n   u   m   C   h
0106540    a   r   s  \r   c   b   z   >   >   C   B   Z   .   e   r   r
0106560    o   r   C   o   u   n   t       =       0  \r   c   b   z   >
0106600    >   C   B   Z   .   c   l   e   a   n   u   p   R   o   u   t
0106620    i   n   e   (   d   i   s   k   ,       c   b   ,       c   b
0106640    z   )  \r   u   n   l   e   s   s       (   (   n   a       g
0106660    e       3 376 001  \0 275 211   )       &       d   o   n   t
0106700    C   l   e   a   r   )       d   o       Z   e   r   o   (   c
0106720    b   ,       l   V   a   r   C   B   )  \r   r   e   s   u   l
0106740    t   i   s       c   b  \r   ]  \r  \f  \r   /   /   -   -   -
0106760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0107060    -   -   -   -   -   -   -   -   -  \r   a   n   d       D   o
0107100    R   e   c   o   v   e   r   y   (   d   i   s   k   ,       c
0107120    o   m   m   a   n   d   ,       e   r   r   o   r   R   t   n
0107140    ;       n   u   m   a   r   g   s       n   a   )       b   e
0107160   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0107200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0107260    -   -   -   -   -   -   -   - 376 001  \0 235   S   -   -   -
0107300    -   -   -   -  \r   /   /       R   e   c   o   v   e   r   y
0107320        c   o   d   e       f   o   r       m   a   n   y       p
0107340    u   r   p   o   s   e   s   .           C   a   l   l   e   d
0107360        f   r   o   m       T   F   S   G   e   t   C   b       a
0107400    n   d       T   F   S   I   n   i   t  \r  \r   /   /       T
0107420    h   e       c   o   a   x   i   n   g       o   p   e   r   a
0107440    t   i   o   n       i   s       p   e   r   f   o   r   m   e
0107460    d       i   f       a       c   o   m   m   a   n   d       t
0107500    i   m   e   s       o   u   t   .           I   t       m   a
0107520    y  \r   /   /       b   e       t   h   a   t       w   e    
0107540    h   a   v   e       i   n   a   d   v   e   r   t   e   n   t
0107560    l   y       s   e   l   e   c   t   e   d       a       n   o
0107600    n   -   e   x   i   s   t   e   n   t       d   r   i   v   e
0107620    .  \r   /   /       A   l   s   o   ,       w   e       m   u
0107640    s   t       h   a   n   d   l   e       t   h   e       c   a
0107660    s   e       i   n       w   h   i   c   h       t 376 001  \0
0107700    Z   &   h   e  \r   /   /       p   r   e   s   e   n   t   l
0107720    y   -   s   e   l   e   c   t   e   d       d   r   i   v   e
0107740        h   a   s       b   e   e   n       t   a   k   e   n    
0107760    o   f   f       l   i   n   e   ,       a   n   d       n   o
0110000        m   o   r   e  \r   /   /       s   e   c   t   o   r    
0110020    p   u   l   s   e   s       a   r   e       a   r   r   i   v
0110040    i   n   g       (   R   o   g   e   r       d   i   d       n
0110060    o   t       p   u   t       t   h   e       o   n   e   -   s
0110100    h   o   t  \r   /   /       s   e   c   t   o   r   -   p   u
0110120    l   s   e       i   m   p   e   r   s   o   n   a   t   o   r
0110140        i   n       h   i   s       i   n   t   e   r   f   a   c
0110160    e       t   h   a   t       M   c   C   r   e   i   g   h   t
0110200        d   i   d  \r   /   /       i   n       h   i   s   !   )
0110220    .           S   o       b   e       p   r   e   p   a   r   e
0110240    d       t   o       g   i   v   e       s   o   m   e       "
0110260    f   a   k   e   "       s   e   c   t   o   r       p   u   l
0110300    s   e 376 001  \0   L 202   s       v   i   a       S   t   a
0110320    r   t   I   O   .  \r   /   /       A   l   s   o   ,       t
0110340    h   e   r   e       i   s       a       b   u   g       i   n
0110360        t   h   e       c   o   n   t   r   o   l   l   e   r    
0110400    s   u   c   h       t   h   a   t       i   f       y   o   u
0110420        i   s   s   u   e       a       R   e   a   d  \r   /   /
0110440        a   n   d       t   h   e       d   r   i   v   e       d
0110460    o   e   s   n   '   t       s   e   n   d       y   o   u    
0110500    a   n   y       d   a   t   a       (   e   .   g   .   ,    
0110520    b   e   c   a   u   s   e       i   t   '   s       i   n    
0110540    s   e   l   e   c   t  \r   /   /       l   o   c   k       o
0110560    r       t   h   e       p   a   c   k       h   a   s       b
0110600    e   e   n       D   C   -   e   r   a   s   e   d   )   ,    
0110620    t   h   e       c   o   n   t   r   o   l   l   e   r       g
0110640    e   t   s       h   u   n   g       u   p  \r   /   /       w
0110660    a   i   t   i   n   g       f   o   r       t   h   e       s
0110700    y   n   c       b   i   t 376 001  \0 314  \n   .           T
0110720    h   e       o   n   l   y       s   a   f   e       w   a   y
0110740        t   o       g   e   t       o   u   t       o   f       t
0110760    h   i   s       s   t   a   t   e       i   s  \r   /   /    
0111000    t   o       r   e   s   e   t       t   h   e       c   o   n
0111020    t   r   o   l   l   e   r   ,       t   u   r   n       i   t
0111040        b   a   c   k       o   n   ,       a   n   d       i   s
0111060    s   u   e       a       d   i   s   k   R   e   s   e   t   .
0111100   \r   [  \r   i   f       n   a       l   s       3       t   h
0111120    e   n       e   r   r   o   r   R   t   n       =       l   v
0111140        D   e   f   a   u   l   t   T   F   S   E   r   r   o   r
0111160    R   t   n  \r   l   e   t       c   o   a   x   =   f   a   l
0111200    s   e  \r   l   e   t       k   c   b       =       v   e   c
0111220        l   K   C   B  \r   w   h   i   l   e       T   F   S   L
0111240    o   c   k       n   e       0       d   o       I   d   l   e
0111260    (   )  \r   T   F   S   L   o   c   k       =       d   i   s
0111300    k  \r   T   F   S   W   a   i   t   Q   u   i 376 001  \0  \0
0111320  024   e   t   (   f   a   l   s   e   )  \r   l   e   t       r
0111340    e   t   r   y   C   o   u   n   t       =       0  \r  \r    
0111360            [           /   /       r   e   p   e   a   t       u
0111400    n   t   i   l       w   e       s   u   c   c   e   e   d    
0111420    i   n       m   a   k   i   n   g       a   l   l       e   r
0111440    r   o   r   s       g   o       a   w   a   y  \r            
0111460    i   f       c   o   a   x       t   h   e   n       S   t   a
0111500    r   t   I   O   (   #   2   0   )           /   /       r   e
0111520    s   e   t       c   o   n   t   r   o   l   l   e   r  \r    
0111540            r   e   t   r   y   C   o   u   n   t       =       r
0111560    e   t   r   y   C   o   u   n   t   +   1  \r               i
0111600    f       (   r   e   t   r   y   C   o   u   n   t       &    
0111620    1   7   B   )       e   q       0       t   h   e   n  \r    
0111640                        [  \r                           c   o   m
0111660    p   i   l   e   i   f       s   a   v   e   r   e   g   s    
0111700    t   h   e   n       [       S   a   v   e   R   e   g   s   (
0111720    ) 376 001  \0 270   /       ]  \r                           (
0111740    @   e   r   r   o   r   R   t   n   )   (   e   r   r   o   r
0111760    R   t   n   ,       d   i   s   k   >   >   D   S   K   .   d
0112000    r   i   v   e   N   u   m   b   e   r   ,       e   c   D   r
0112020    i   v   e   H   u   n   g   )  \r                           ]
0112040   \r               Z   e   r   o   (   k   c   b   ,       l   K
0112060    C   B   )  \r               k   c   b   >   >   K   C   B   .
0112100    I   D       =       d   c   b   I   D  \r               k   c
0112120    b   >   >   K   C   B   .   t   r   a   c   k       =       -
0112140    1  \r               k   c   b   >   >   K   C   B   .   d   r
0112160    i   v   e       =       d   i   s   k   >   >   D   S   K   .
0112200    d   r   i   v   e   N   u   m   b   e   r  \r               k
0112220    c   b   >   >   K   C   B   .   C   o   m   m   H       =    
0112240    c   o   m   m   a   n   d  \r               K   B   L   K   >
0112260    >   K   B   L   K   .   t   r   a   c   k       =       -   1
0112300            /   /       F   o   r   c   e       m   i   c   r   o
0112320    c   o   d   e       t 376 001  \0 204 345   o       f   o   r
0112340    g   e   t       c   y   l   i   n   d   e   r       a   d   d
0112360    r   e   s   s  \r               K   B   L   K   >   >   K   B
0112400    L   K   .   d   r   i   v   e       =       d   i   s   k   >
0112420    >   D   S   K   .   d   r   i   v   e   N   u   m   b   e   r
0112440        %       1   0   0   0   0   0   B           /   /       F
0112460    o   r   c   e       d   r   i   v   e       s   e   l   e   c
0112500    t  \r               K   B   L   K   >   >   K   B   L   K   .
0112520    a   b   o   r   t   e   d       =       0  \r               c
0112540    o   m   p   i   l   e   i   f       d   e   b   u   g       t
0112560    h   e   n       [       R   e   c   o   r   d   T   F   S   (
0112600    2   ,       c   o   m   m   a   n   d   )       ]  \r        
0112620        K   B   L   K   >   >   K   B   L   K   .   p   t   r    
0112640    =       k   c   b  \r               i   f       c   o   a   x
0112660        t   h   e   n       S   t   a   r   t   I   O   (   #   4
0112700    0   )           /   /       s   t   a   r   t       c   o   n
0112720    t   r   o   l   l   e   r  \r             376 001  \0   "   l
0112740    T   F   S   W   a   i   t   Q   u   i   e   t   (   c   o   m
0112760    m   a   n   d       e   q       d   i   s   k   R   e   s   t
0113000    o   r   e   )  \r  \r               /   /       I   f       w
0113020    e       t   i   m   e   d       o   u   t   ,       p   e   r
0113040    h   a   p   s       s   e   c   t   o   r       p   u   l   s
0113060    e   s       h   a   v   e       g   o   n   e       a   w   a
0113100    y   .  \r               /   /       I   s   s   u   e       t
0113120    h   e       c   o   m   m   a   n   d       m   o   r   e    
0113140    f   o   r   c   e   f   u   l   l   y       n   e   x   t    
0113160    t   i   m   e       a   r   o   u   n   d   .  \r            
0113200    t   e   s   t       k   c   b   >   >   K   C   B   .   S   t
0113220    a   t   u   s   H       e   q       0       %       k   c   b
0113240    >   >   K   C   B   .   I   D       e   q       d   c   b   I
0113260    D  \r                           i   f   s   o       c   o   a
0113300    x       =       t   r   u   e  \r                           i
0113320    f   n   o   t  \r                                       [  \r
0113340  376 001  \0 273 364                                       /   /
0113360        N   o   t   R   e   a   d   y       i   n       K   C   B
0113400        h   a   p   p   e   n   s       n   o   r   m   a   l   l
0113420    y       i   f       c   o   m   m   a   n   d       e   q    
0113440    d   i   s   k   R   e   s   t   o   r   e   .  \r            
0113460                            m   a   n   i   f   e   s   t       N
0113500    o   t   R   e   a   d   y       =       1   0   0   0   0   0
0113520    B       r   s   h   i   f   t       o   f   f   s   e   t    
0113540    D   S   T   .   N   o   t   R   e   a   d   y  \r            
0113560                            l   e   t       s   t   a   t   u   s
0113600        =       K   B   L   K   >   >   K   B   L   K   .   S   t
0113620    a   t   u   s       %       (   k   c   b   >   >   K   C   B
0113640    .   S   t   a   t   u   s   H       &       n   o   t       N
0113660    o   t   R   e   a   d   y   )  \r  \r                        
0113700                /   /       C   o   n   s   i   d   e   r       r
0113720    e   c   o   v   e   r   y       s   u   c   c   e   s   s   f
0113740    u   l       i   f 376 001  \0   }   <       c   o   m   m   a
0113760    n   d       e   x   e   c   u   t   e   d       w   i   t   h
0114000    o   u   t  \r                                       /   /    
0114020    e   r   r   o   r       i   n       n   o   n   -   c   o   a
0114040    x       m   o   d   e   .  \r                                
0114060        i   f       s   t   a   t   u   s   <   <   D   S   T   .
0114100    E   r   r   o   r   s       e   q       0       &       n   o
0114120    t       c   o   a   x       t   h   e   n       b   r   e   a
0114140    k  \r                                       c   o   a   x    
0114160    =       f   a   l   s   e  \r  \r                            
0114200            /   /       C   e   r   t   a   i   n       e   r   r
0114220    o   r   s       s   o   m   e   t   i   m   e   s       r   e
0114240    q   u   i   r   e       a       r   e   s   t   o   r   e    
0114260    t   o       r   e   s   e   t   .  \r                        
0114300                /   /       I   f       w   e       d   i   d   n
0114320    '   t       s   u   c   c   e   e   d       i   n       r   e
0114340    s   e   t   t   i   n   g       o   n 376 001  \0   m 264   e
0114360    ,       t   r   y       a       r   e   s   t   o   r   e    
0114400    n   e   x   t       t   i   m   e   .  \r                    
0114420                    i   f       (   s   t   a   t   u   s       &
0114440        d   s   t   R   e   s   t   o   r   e   )       n   e    
0114460    0       t   h   e   n       c   o   m   m   a   n   d       =
0114500        d   i   s   k   R   e   s   t   o   r   e  \r            
0114520                            ]  \r               ]       r   e   p
0114540    e   a   t  \r  \r   T   F   S   L   o   c   k       =       0
0114560   \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -
0114600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0114700    -   -   -  \r   a   n   d       T   F   S   W   a   i   t   Q
0114720    u   i   e   t   (   a   w   a   i   t   I   n   d   e   x   )
0114740        b   e  \r   /   /   -   -   -   -   -   -   -   -   - 376
0114760  001  \0 304   O   -   -   -   -   -   -   -   -   -   -   -   -
0115000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0115060    -   -   -   -   -   -   -  \r   /   /       W   a   i   t    
0115100    u   n   t   i   l       d   i   s   k       i   s       t   h
0115120    o   r   o   u   g   h   l   y       i   d   l   e   .        
0115140    E   v   i   d   e   n   c   e       f   o   r       i   d   l
0115160    e       i   s   :  \r   /   /           1       -       K   B
0115200    L   K   .   p   t   r   =   0   ,       i   .   e   .       n
0115220    o       c   o   m   m   a   n   d   s       r   e   m   a   i
0115240    n  \r   /   /           2       -       K   B   L   K   .   S
0115260    e   c   t   o   r       i   s       c   o   u   n   t   i   n
0115300    g   ,       i   .   e   .       n   o   t       i   n       a
0115320        w   r   i   t   e       c   o   m   m   a   n   d   ,  \r
0115340    /   /  \t   a   n   d       r   e   a   d       t   a   s   k
0115360        h   a   s 376 001  \0   K  \b       h   a   d       t   i
0115400    m   e       t   o       f   i   n   i   s   h   .  \r   /   /
0115420        A   l   s   o       w   e       s   h   o   u   l   d    
0115440    n   o   t   e       t   h   a   t       a   f   t   e   r    
0115460    a       R   e   s   t   o   r   e       i   s       e   x   e
0115500    c   u   t   e   d   ,  \r   /   /       i   t       t   a   k
0115520    e   s       a       w   h   i   l   e       f   o   r       s
0115540    e   c   t   o   r       p   u   l   s   e   s       t   o    
0115560    s   t   a   r   t       a   r   r   i   v   i   n   g       a
0115600    g   a   i   n   ,  \r   /   /       a   n   d       w   e    
0115620    m   u   s   t       a   w   a   i   t       a   n       i   n
0115640    d   e   x       m   a   r   k       b   e   c   a   u   s   e
0115660        t   h   e       s   e   c   t   o   r       c   o   u   n
0115700    t       m   a   y       h   a   v   e  \r   /   /       g   o
0115720    t   t   e   n       o   u   t       o   f       s   y   n   c
0115740    .  \r   [  \r   l   e   t       s   t   a   g   e       =    
0115760    0  \r   l   e   t       l   a   s 376 001  \0   . 231   t   P
0116000    t   r       =       -   1  \r   l   e   t       t   i   m   e
0116020    r       =       n   i   l  \r   l   e   t       s   e   c   t
0116040    o   r       =       n   i   l  \r  \r               [       /
0116060    /       r   e   p   e   a   t  \r               s   w   i   t
0116100    c   h   o   n       s   t   a   g   e       i   n   t   o  \r
0116120                            [  \r                           c   a
0116140    s   e       0   :  \r                                       /
0116160    /       W   a   i   t       f   o   r       c   b       q   u
0116200    e   u   e       t   o       e   m   p   t   y   ,       b   u
0116220    t       t   i   m   e       o   u   t       i   f       a    
0116240    s   i   n   g   l   e       c   o   m   m   a   n   d  \r    
0116260                                    /   /       s   t   a   y   s
0116300        s   t   u   c   k       o   n       t   h   e       q   u
0116320    e   u   e       f   o   r       m   o   r   e       t   h   a
0116340    n       5   0   0       m   s   .  \r                        
0116360                i   f       K   B   L   K   >   >   K   B 376 001
0116400   \0 322 267   L   K   .   p   t   r       n   e       l   a   s
0116420    t   P   t   r       t   h   e   n  \r                        
0116440                            [       l   a   s   t   P   t   r    
0116460    =       K   B   L   K   >   >   K   B   L   K   .   p   t   r
0116500    ;       t   i   m   e   r       =       @   R   T   C       +
0116520        5   0   0   /   3   9       ]  \r                        
0116540                i   f       K   B   L   K   >   >   K   B   L   K
0116560    .   p   t   r       e   q       0       t   h   e   n       s
0116600    t   a   g   e       =       1  \r                            
0116620            e   n   d   c   a   s   e  \r                        
0116640    c   a   s   e       1   :  \r                                
0116660        /   /       W   a   i   t       f   o   r       r   e   s
0116700    t   o   r   e       t   o       c   o   m   p   l   e   t   e
0116720   \r                                       u   n   l   e   s   s
0116740        a   w   a   i   t   I   n   d   e   x       &       K   B
0116760    L   K   >   >   K   B   L   K   .   N   o   t   R   e   a   d
0117000    y       d 376 001  \0 020 373   o  \r                        
0117020                            [       s   e   c   t   o   r       =
0117040        K   B   L   K   >   >   K   B   L   K   .   S   e   c   t
0117060    o   r   ;       t   i   m   e   r       =       @   R   T   C
0117100    +   1   ;       s   t   a   g   e       =       2       ]  \r
0117120                                        e   n   d   c   a   s   e
0117140   \r                           c   a   s   e       2   :  \r    
0117160                                    /   /       W   a   i   t    
0117200    f   o   r       s   e   c   t   o   r       n   u   m   b   e
0117220    r       t   o       a   d   v   a   n   c   e   ,       b   u
0117240    t       t   i   m   e       o   u   t       a   f   t   e   r
0117260   \r                                       /   /       3   9    
0117300    m   s       (   t   w   o       r   o   t   a   t   i   o   n
0117320    s   )   .  \r                                       i   f    
0117340    K   B   L   K   >   >   K   B   L   K   .   S   e   c   t   o
0117360    r       n   e       s   e   c   t   o   r       t   h   e   n
0117400   \r                             376 001  \0 353 237            
0117420            [       u   n   l   e   s   s       a   w   a   i   t
0117440    I   n   d   e   x       b   r   e   a   k   ;       s   t   a
0117460    g   e       =       3       ]  \r                            
0117500            e   n   d   c   a   s   e  \r                        
0117520    c   a   s   e       3   :  \r                                
0117540        /   /       I   f       d   i   d       r   e   s   t   o
0117560    r   e   ,       w   a   i   t       f   o   r       i   n   d
0117600    e   x       m   a   r   k       (   s   e   c   t   o   r    
0117620    0   )  \r                                       i   f       K
0117640    B   L   K   >   >   K   B   L   K   .   S   e   c   t   o   r
0117660        e   q       0       b   r   e   a   k  \r                
0117700                        e   n   d   c   a   s   e  \r            
0117720                ]  \r               I   d   l   e   (   )  \r    
0117740            ]       r   e   p   e   a   t   u   n   t   i   l    
0117760    @   R   T   C   -   t   i   m   e   r       g   r       0  \r
0120000   \r   K   B   L   K   >   >   K   B   L   K   .   p 376 001  \0
0120020    R 205   t   r       =       0           /   /       i   n    
0120040    c   a   s   e       m   i   c   r   o   c   o   d   e       d
0120060    i   d   n   '   t       d   o       a   n   y   t   h   i   n
0120100    g  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0120120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0120220    -   -   -  \r   a   n   d       D   e   f   a   u   l   t   T
0120240    F   S   E   r   r   o   r   R   t   n   (   l   v   E   r   r
0120260    o   r   R   t   n   ,       c   b   ,       e   c   )       b
0120300    e       S   y   s   E   r   r   (   0   ,       e   c   ,    
0120320    c   b   )  \r   /   /   -   -   -   -   -   -   -   -   -   -
0120340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0120420    -   - 376 001  \0 341   F   -   -   -   -   -   -   -   -   -
0120440    -   -   -   -   -   -   -  \r  \r   /   /   -   -   -   -   -
0120460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0120560    -   -   -   -   -   -   -  \r   a   n   d       T   F   S   N
0120600    o   n   E   x   (   d   i   s   k   )       b   e       S   y
0120620    s   E   r   r   (   d   i   s   k   ,       e   c   N   o   C
0120640    r   e   a   t   i   o   n   A   b   i   l   i   t   y   )  \r
0120660    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0120700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0120760    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /
0121000    /       W   h   a   t       h   a   p   p   e   n   s       i
0121020    f       y   o   u       t 376 001  \0   w 216   r   y       t
0121040    o       c   r   e   a   t   e       o   r       d   e   l   e
0121060    t   e       f   i   l   e   s       w   h   e   n       i   n
0121100    i   t   m   o   d   e       w   a   s       0  \r  \f  \r   /
0121120    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0121140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0121220    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0121240    d       D   a   t   a   F   i   x   (   b   l   o   c   k   )
0121260        =       v   a   l   o   f  \r   /   /   -   -   -   -   -
0121300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0121400    -   -   -   -   -   -   -  \r   /   /       E   C   C       f
0121420    i   x   e   r   .           A   r   g   u   m 376 001  \0 341
0121440    ?   e   n   t       i   s       a       "   b   l   o   c   k
0121460    "       o   f       t   h   e       d   i   s   k       c   o
0121500    m   m   a   n   d   .  \r   /   /       R   e   t   u   r   n
0121520    s   :       -   1       i   f       e   v   e   r   y   t   h
0121540    i   n   g       f   i   x   e   d       c   o   r   r   e   c
0121560    t   l   y   .  \r   /   /       .   .   .   o   t   h   e   r
0121600    w   i   s   e   .   .   .       a       n   u   m   b   e   r
0121620        i   n   d   i   c   a   t   i   n   g       w   h   e   r
0121640    e       t   h   e       E   C   C       g   a   v   e       u
0121660    p   .  \r   [  \r   m   a   n   i   f   e   s   t       L   C
0121700    M       =       2   1   *   2   0   4   7  \r  \r   l   e   t
0121720        s   i   n   k       =       v   e   c       1  \r   l   e
0121740    t       r   e   m   0       =       b   l   o   c   k   >   >
0121760    K   C   B   b   l   o   c   k   .   E   C   C   0       &    
0122000    #   3   7  \r   l   e   t       r   e   m   1       =       b
0122020    l   o   c   k   >   >   K   C   B   b   l   o   c   k   .   E
0122040    C 376 001  \0   G   0   C   1  \r   l   e   t       S   0   ,
0122060    S   1       =       0   ,   n   i   l  \r   l   e   t       D
0122100    x   ,   D   ,   D   b   i   t   s   ,   p   ,   d   a   t   a
0122120    ,   m   a   s   k       =       n   i   l   ,   n   i   l   ,
0122140    n   i   l   ,   n   i   l   ,   n   i   l   ,   n   i   l  \r
0122160                [           /   /       r   e   p   e   a   t  \r
0122200                i   f       (   r   e   m   1       &       #   1
0122220    7   7   7   )       e   q       0       t   h   e   n       b
0122240    r   e   a   k  \r               l   e   t       m   s   b    
0122260    =       r   e   m   0       r   s   h   i   f   t       4  \r
0122300                r   e   m   0       =       (   (   r   e   m   0
0122320        l   s   h   i   f   t       1   )       &       #   3   7
0122340    )       +       (   r   e   m   1       r   s   h   i   f   t
0122360        1   5   )  \r               r   e   m   1       =       (
0122400    r   e   m   1       l   s   h   i   f   t       1   )       +
0122420        m   s   b  \r               S   0       =       S   0    
0122440    +       1  \r         376 001  \0  \0 204       i   f       S
0122460    0       g   e       2   1       t   h   e   n       r   e   s
0122500    u   l   t   i   s       1      \r               ]       r   e
0122520    p   e   a   t  \r   r   e   m   0       =       r   e   m   0
0122540        l   s   h   i   f   t       6       +       r   e   m   1
0122560        r   s   h   i   f   t       1   0  \r   r   e   m   1    
0122600    =       b   l   o   c   k   >   >   K   C   B   b   l   o   c
0122620    k   .   E   C   C   0       r   s   h   i   f   t       5  \r
0122640    i   f       r   e   m   1       e   q       0       %       r
0122660    e   m   0       e   q       0       t   h   e   n       r   e
0122700    s   u   l   t   i   s       2  \r   S   1       =       T   F
0122720    S   M   o   d   S   h   i   f   t   (   r   e   m   1   ,    
0122740    r   e   m   0   )       +       1   1  \r   i   f       S   1
0122760        g   r       2   0   4   7   +   1   1       t   h   e   n
0123000        r   e   s   u   l   t   i   s       3  \r   D   x       =
0123020        (   (   -   1   9   *   S   0       -       2   *   S   1
0123040    )   +   2   2   0   *   2   1   )       r 376 001  \0 177 017
0123060    e   m       2   1  \r   /   /   D       =       2   0   4   7
0123100    *   D   x       -       S   1       +       2   0   4   7    
0123120            /   /   I       d   o   n   t       k   n   o   w    
0123140    w   h   y       I       m   u   s   t       a   d   d       2
0123160    0   4   7   !   !   !  \r   D       =       2   0   4   8   *
0123200    D   x       -       D   x       -       S   1       +       2
0123220    0   4   7       /   /           D       =       2   0   4   7
0123240    *   D   x       +       2   0   4   7       -       S   1  \r
0123260    /   /   i   f       D       u   g   e       L   C   M       t
0123300    h   e   n       D       =       D       -       L   C   M    
0123320        /   /       F   i   a   l   a       c   l   a   i   m   s
0123340        t   h   i   s       c   a   n   '   t       h   a   p   p
0123360    e   n  \r   D   b   i   t   s       =       D       &       #
0123400    1   7  \r   p       =       b   l   o   c   k   >   >   K   C
0123420    B   b   l   o   c   k   .   C   o   u   n   t       -       (
0123440    D       r   s   h   i   f   t       4   )  \r   d   a   t   a
0123460  376 001  \0   +   n       =       b   l   o   c   k   >   >   K
0123500    C   B   b   l   o   c   k   .   A   d   d   r  \r   m   a   s
0123520    k       =       r   e   m   0       r   s   h   i   f   t    
0123540    (   1   6   -   D   b   i   t   s   )  \r   f   o   r       p
0123560    t   r       =       p       t   o       p   +   1       d   o
0123600       \r               [  \r               i   f       m   a   s
0123620    k       n   e       0       t   h   e   n  \r                
0123640            [  \r                           i   f       p   t   r
0123660        l   s       0       r   e   s   u   l   t   i   s       4
0123700            /   /   e   r   r   o   r       o   u   t   s   i   d
0123720    e       o   f       b   l   o   c   k  \r                    
0123740        i   f       p   t   r       l   s       b   l   o   c   k
0123760    >   >   K   C   B   b   l   o   c   k   .   C   o   u   n   t
0124000        t   h   e   n           /   /   e   r   r   o   r       m
0124020    i   g   h   t       b   e       i   n       E   C   C       w
0124040    o   r   d   s  \r                                       d   a
0124060    t   a   !   p   t 376 001  \0 344   v   r       =       d   a
0124100    t   a   !   p   t   r       x   o   r       m   a   s   k  \r
0124120                            ]  \r               m   a   s   k    
0124140    =       r   e   m   0       l   s   h   i   f   t       D   b
0124160    i   t   s  \r               ]  \r   r   e   s   u   l   t   i
0124200    s       -   1  \r   ]  \r  \r   /   /       M   i   c   r   o
0124220    c   o   d   e       v   e   r   s   i   o   n       s   h   a
0124240    r   e   s       S       r   e   g   i   s   t   e   r   s    
0124260    w   i   t   h       t   h   e       R   e   a   d       t   a
0124300    s   k   .  \r   /   /       T   h   e   r   e   f   o   r   e
0124320    ,       c   a   l   l       t   h   i   s       o   n   l   y
0124340        w   h   e   n       d   i   s   k       i   s       q   u
0124360    i   e   t   .  \r  \r   /   /   a   n   d       T   F   S   M
0124400    o   d   S   h   i   f   t   (   n   u   m   ,       r   e   f
0124420    )       =       v   a   l   o   f  \r   /   /               [
0124440   \r   /   /               l   e   t       S   1       =       0
0124460   \r   /   /                           [ 376 001  \0 374   U  \r
0124500    /   /                           i   f       (   #   4   0   0
0124520    0   -   S   1       l   s       0   )       %       (   n   u
0124540    m       -       r   e   f       e   q       0   )       t   h
0124560    e   n       b   r   e   a   k  \r   /   /                    
0124600        n   u   m       =       n   u   m       l   s   h   i   f
0124620    t       1  \r   /   /                           i   f       (
0124640    n   u   m       &       #   4   0   0   0   )       n   e    
0124660    0       t   h   e   n       n   u   m       =       n   u   m
0124700        x   o   r       #   4   0   0   5  \r   /   /            
0124720                S   1       =       S   1       +       1  \r   /
0124740    /                           ]       r   e   p   e   a   t    
0124760   \r   /   /               r   e   s   u   l   t   i   s       S
0125000    1  \r   /   /               ]  \r   /   /  \r  \f  \r   /   /
0125020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0125060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0125100  001  \0 231 356   -   -   -   -   -   -   -   -   -   -   -   -
0125120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0125140    -  \r   a   n   d       T   F   S   A   c   t   O   n   P   a
0125160    g   e   s   (   d   i   s   k   ,       C   A   s   ,       D
0125200    A   s   ,       f   p   ,       f   i   r   s   t   P   a   g
0125220    e   ,       l   a   s   t   P   a   g   e   ,       a   c   t
0125240    i   o   n   ,  \r                   l   v   N   u   m   C   h
0125260    a   r   s   ,       l   a   s   t   A   c   t   i   o   n   ,
0125300        f   i   x   e   d   C   A   ,       c   l   e   a   n   u
0125320    p   R   o   u   t   i   n   e   ,       e   r   r   o   r   R
0125340    t   n   ,  \r                   r   e   t   u   r   n   O   n
0125360    C   h   e   c   k   E   r   r   o   r   ,       h   i   n   t
0125400    L   a   s   t   P   a   g   e   ;       n   u   m   a   r   g
0125420    s       n   a   )       =       v   a   l   o   f      \r   /
0125440    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0125460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0125500    -   -   -   - 376 001  \0   D 307   -   -   -   -   -   -   -
0125520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0125560    -   -  \r   /   /       S   e   e       A   c   t   O   n   D
0125600    i   s   k   P   a   g   e   s       d   e   s   c   r   i   p
0125620    t   i   o   n       i   n       B   F   S       s   e   c   t
0125640    i   o   n       o   f       O   .   S   .       m   a   n   u
0125660    a   l   .  \r   /   /       R   e   t   u   r   n   s       t
0125700    h   e       p   a   g   e       n   u   m   b   e   r       o
0125720    f       t   h   e       l   a   s   t       p   a   g   e    
0125740    s   u   c   c   e   s   s   f   u   l   l   y       a   c   t
0125760    e   d           o   n   .  \r   /   /       C   A   s       (
0126000    c   o   r   e       a   d   d   r   e   s   s   e   s   )    
0126020    a   n   d       D   A   s       (   d   i   s   k       a   d
0126040    d   r   e   s   s   e   s   )       a   r   e       v   e   c
0126060    t   o   r   s  \r   /   /       i   n   d   e   x   e   d    
0126100    b   y       p   a   g   e       n 376 001  \0   6 336   u   m
0126120    b   e   r       (   e   .   g   .       C   A   s   !   f   i
0126140    r   s   t   P   a   g   e   )  \r   /   /       t   h   e    
0126160    a   r   g   u   m   e   n   t   s       f   o   l   l   o   w
0126200    i   n   g       a   c   t   i   o   n       a   r   e       o
0126220    p   t   i   o   n   a   l   ;       i   f       o   n   e    
0126240    o   f       t   h   e   m       i   s  \r   /   /       o   m
0126260    i   t   t   e   d       o   r       0   ,       t   h   e    
0126300    d   e   f   a   u   l   t       a   c   t   i   o   n       i
0126320    s       t   a   k   e   n  \r   [  \r   D   e   f   a   u   l
0126340    t   A   r   g   s   (   l   v       n   a   ,       -   7   ,
0126360        l   v       n   a   ,       a   c   t   i   o   n   ,    
0126400    0   ,       T   F   S   D   e   f   a   u   l   t   C   l   e
0126420    a   n   u   p   R   t   n   ,  \r       0   ,       f   a   l
0126440    s   e   ,       l   a   s   t   P   a   g   e   )  \r  \r   /
0126460    /       I   n   i   t   i   a   l   i   z   e       f   o   r
0126500        t   r   a   n   s   f   e   r   s  \r   l   e   t 376 001
0126520   \0   y 360       r   e   s   u   l   t       =       n   i   l
0126540   \r   l   e   t       c   b   z       =       v   e   c       C
0126560    B   z   o   n   e   L   e   n   g   t   h  \r   T   F   S   I
0126600    n   i   t   i   a   l   i   z   e   C   b   S   t   o   r   a
0126620    g   e   (   d   i   s   k   ,       c   b   z   ,       f   i
0126640    r   s   t   P   a   g   e   ,       C   B   z   o   n   e   L
0126660    e   n   g   t   h   ,       A   r   e   t   r   y   ,       e
0126700    r   r   o   r   R   t   n   )  \r   c   b   z   >   >   C   B
0126720    Z   .   D   A   s       =       D   A   s  \r   c   b   z   >
0126740    >   C   B   Z   .   c   l   e   a   n   u   p   R   o   u   t
0126760    i   n   e       =       c   l   e   a   n   u   p   R   o   u
0127000    t   i   n   e  \r   i   f       h   i   n   t   L   a   s   t
0127020    P   a   g   e   -   f   i   r   s   t   P   a   g   e       u
0127040    g   r       l   a   s   t   P   a   g   e   -   f   i   r   s
0127060    t   P   a   g   e       t   h   e   n  \r               h   i
0127100    n   t   L   a   s   t   P   a   g   e       =       l   a   s
0127120    t   P   a 376 001  \0 253   t   g   e           /   /       h
0127140    i   n   t   L   a   s   t   P   a   g   e       n   o   t    
0127160    i   n       [   f   i   r   s   t   P   a   g   e   .   .   l
0127200    a   s   t   P   a   g   e   ]  \r  \r   /   /       E   a   c
0127220    h       c   b       i   s       u   s   e   d       t   w   i
0127240    c   e   :  \r   /   /      \t   t   o       h   o   l   d    
0127260    t   h   e       D   L       f   o   r       p   a   g   e    
0127300    i   -   1   ,       a   n   d  \r   /   /  \t   t   o       h
0127320    o   l   d       t   h   e       K   C   B       f   o   r    
0127340    p   a   g   e       i   .  \r   /   /       I   t       i   s
0127360    n   '   t       r   e   u   s   e   d       u   n   t   i   l
0127400        t   h   e       c   o   m   m   a   n   d       f   o   r
0127420        p   a   g   e       i       i   s       d   o   n   e   ,
0127440        a   n   d       t   h   a   t       i   s  \r   /   /    
0127460    g   u   a   r   a   n   t   e   e   d       t   o       b   e
0127500        a   f   t   e   r       t   h   e       D   L       f   o
0127520    r       p   a   g   e       i 376 001  \0 252   z   -   1    
0127540    i   s       n   o       l   o   n   g   e   r       n   e   e
0127560    d   e   d   ,  \r   /   /       s   i   n   c   e       e   v
0127600    e   r   y   t   h   i   n   g       i   s       d   o   n   e
0127620        s   t   r   i   c   t   l   y       s   e   q   u   e   n
0127640    t   i   a   l   l   y       b   y       p   a   g   e       n
0127660    u   m   b   e   r   .  \r  \r   /   /       N   o   t   e   :
0127700        i   f       t   h   e       h   i   n   t   L   a   s   t
0127720    P   a   g   e       l   o   o   k   s       r   e   a   s   o
0127740    n   a   b   l   e       a   n   d       i   s       l   e   s
0127760    s       t   h   a   n       l   a   s   t   P   a   g   e   ,
0130000   \r   /   /       w   e       t   r   a   n   s   f   e   r    
0130020    p   a   g   e   s       u   p       t   o       t   h   a   t
0130040        p   o   i   n   t   ,       t   h   e   n       c   h   e
0130060    c   k       t   o       s   e   e       w   h   e   t   h   e
0130100    r       t   h   e       l   a   s   t  \r   /   /       p   a
0130120    g   e       t   r   a   n   s   f   e   r   r   e 376 001  \0
0130140    # 241   d       r   e   a   l   l   y       w   a   s       t
0130160    h   e       l   a   s   t       p   a   g   e       o   f    
0130200    t   h   e       f   i   l   e   .           I   f       s   o
0130220    ,       w   e       r   e   t   u   r   n  \r   /   /       w
0130240    i   t   h   o   u   t       h   a   v   i   n   g       c   a
0130260    u   s   e   d       t   h   e       d   i   s   k       t   o
0130300        s   e   e   k       t   o       c   y   l   i   n   d   e
0130320    r       0       a   s       a       r   e   s   u   l   t    
0130340    o   f  \r   /   /       c   h   a   i   n   i   n   g       f
0130360    o   r   w   a   r   d       f   r   o   m       t   h   e    
0130400    l   a   s   t       p   a   g   e   .           I   f       t
0130420    h   e       h   i   n   t       w   a   s       w   r   o   n
0130440    g   ,       w   e       h   a   v   e       t   o  \r   /   /
0130460        q   u   e   u   e       u   p       t   h   e       r   e
0130500    m   a   i   n   d   e   r       o   f       t   h   e       t
0130520    r   a   n   s   f   e   r   s   ;       t   h   i   s       c
0130540    o   s 376 001  \0 213   ?   t   s       a   n       e   x   t
0130560    r   a       d   i   s   k       r   o   t   a   t   i   o   n
0130600    .  \r  \f  \r   /   /       T   F   S   A   c   t   O   n   P
0130620    a   g   e   s       (   c   o   n   t   '   d   )  \r  \r   A
0130640    r   e   t   r   y   :  \r               [       /   /       r
0130660    e   p   e   a   t  \r               /   /       G   e   t    
0130700    a       f   i   r   s   t       c   b  \r               r   e
0130720    s   u   l   t       =       h   i   n   t   L   a   s   t   P
0130740    a   g   e  \r               l   e   t       c   b       =    
0130760    T   F   S   G   e   t   C   b   (   d   i   s   k   ,       c
0131000    b   z   )  \r               l   e   t       c   u   r   F   i
0131020    r   s   t   P   a   g   e       =       c   b   z   >   >   C
0131040    B   Z   .   c   u   r   r   e   n   t   P   a   g   e  \r    
0131060            f   o   r       p   a   g   e   N   u   m   b   e   r
0131100        =       c   u   r   F   i   r   s   t   P   a   g   e    
0131120    t   o       h   i   n   t   L   a   s   t   P   a   g   e    
0131140    d   o  \r                 376 001  \0 354 376           [  \r
0131160                            i   f       D   A   s   !   p   a   g
0131200    e   N   u   m   b   e   r       e   q       e   o   f   D   A
0131220        t   h   e   n           /   /       L   a   s   t       p
0131240    a   g   e       h   a   s       b   e   e   n       f   i   x
0131260    e   d       u   p  \r                                       [
0131300        r   e   s   u   l   t       =       p   a   g   e   N   u
0131320    m   b   e   r   -   1   ;       b   r   e   a   k       ]  \r
0131340   \r                           /   /       B   e       v   e   r
0131360    y       c   a   r   e   f   u   l   ,       i   f       l   a
0131400    s   t   A   c   t   i   o   n       i   s       d   i   f   f
0131420    e   r   e   n   t   ,       t   o       l   e   t       f   i
0131440    r   s   t       s   e   t       o   f  \r                    
0131460        /   /       t   r   a   n   s   f   e   r   s   ,       i
0131500    f       a   n   y   ,       f   i   n   i   s   h       a   n
0131520    d       b   e       r   e   t   r   i   e   d       i   f    
0131540    n   e   c   e   s   s   a   r   y   .         376 001  \0   r
0131560  303   F   o   r       e   x   a   m   p   l   e   ,  \r        
0131600                    /   /       i   f       t   h   e   y       a
0131620    r   e       a   l   l       w   r   i   t   e   s   ,       a
0131640    n   d       l   a   s   t   A   c   t   i   o   n       i   s
0131660        a       r   e   a   d       (   i   n   t   o       t   h
0131700    e       s   a   m   e  \r                           /   /    
0131720    b   u   f   f   e   r   )   ,       w   e       m   u   s   t
0131740        n   o   t       q   u   e   u   e       t   h   e       r
0131760    e   a   d       u   n   t   i   l       t   h   e       w   r
0132000    i   t   e       h   a   s       c   o   m   p   l   e   t   e
0132020    d  \r                           /   /       a   n   d       b
0132040    e   e   n       c   h   e   c   k   e   d   .           T   h
0132060    i   s       i   s       b   e   c   a   u   s   e       t   h
0132100    e       T   r   i   d   e   n   t       (   u   n   l   i   k
0132120    e       t   h   e       D   i   a   b   l   o   )  \r        
0132140                    /   /       d   o   e   s       n   o   t    
0132160    s 376 001  \0   e   :   t   o   p       e   x   e   c   u   t
0132200    i   n   g       c   o   m   m   a   n   d   s       w   h   e
0132220    n       a   n       e   r   r   o   r       o   c   c   u   r
0132240    s   ,       b   u   t       r   a   t   h   e   r  \r        
0132260                    /   /       c   o   n   t   i   n   u   e   s
0132300        r   a   c   i   n   g       d   o   w   n       t   h   e
0132320        c   o   m   m   a   n   d       c   h   a   i   n   .  \r
0132340                            l   e   t       t   h   i   s   C   B
0132360    a   c   t   i   o   n       =       a   c   t   i   o   n  \r
0132400                            i   f       p   a   g   e   N   u   m
0132420    b   e   r       e   q       l   a   s   t   P   a   g   e    
0132440    &       t   h   i   s   C   B   a   c   t   i   o   n       n
0132460    e       l   a   s   t   A   c   t   i   o   n       t   h   e
0132500    n  \r                                       [  \r            
0132520                            i   f       c   u   r   F   i   r   s
0132540    t   P   a   g   e       n   e       l   a   s   t   P   a   g
0132560    e       t   h   e   n 376 001  \0 252 237  \r                
0132600                                    [       r   e   s   u   l   t
0132620        =       p   a   g   e   N   u   m   b   e   r   -   1   ;
0132640        b   r   e   a   k       ]  \r                            
0132660            t   h   i   s   C   B   a   c   t   i   o   n       =
0132700        l   a   s   t   A   c   t   i   o   n  \r                
0132720                        ]  \r                           i   f    
0132740    t   h   i   s   C   B   a   c   t   i   o   n       e   q    
0132760    D   C   d   o   N   o   t   h   i   n   g       t   h   e   n
0133000        l   o   o   p  \r  \r                           /   /    
0133020    N   o   n   r   e   c   o   v   e   r   a   b   l   e       e
0133040    r   r   o   r   (   s   )       c   h   e   c   k  \r        
0133060                    i   f       r   e   t   u   r   n   O   n   C
0133100    h   e   c   k   E   r   r   o   r       &  \r                
0133120                (   c   b   z   >   >   C   B   Z   .   e   r   r
0133140    o   r   C   o   u   n   t       e   q       d   i   s   k   >
0133160    >   D   S   K   .   r   e   t   r   y   C 376 001  \0 261   K
0133200    o   u   n   t       r   s   h   i   f   t       1   )       t
0133220    h   e   n  \r                                       r   e   s
0133240    u   l   t   i   s       -   (   p   a   g   e   N   u   m   b
0133260    e   r   +   7   7   B   )  \r  \r                           /
0133300    /       I   f       w   e       a   r   e       c   h   a   i
0133320    n   i   n   g   ,       c   a   u   s   e       t   h   i   s
0133340        c   o   m   m   a   n   d       t   o       f   i   l   l
0133360        i   n  \r                           /   /       t   h   e
0133400        d   i   s   k       a   d   d   r   e   s   s       p   a
0133420    r   t       o   f       t   h   e       n   e   x   t       c
0133440    o   m   m   a   n   d  \r                           l   e   t
0133460        n   e   x   t   C   b       =       T   F   S   G   e   t
0133500    C   b   (   d   i   s   k   ,       c   b   z   )  \r        
0133520                    c   b   >   >   C   B   .   A   d   d   r   L
0133540        =       D   A   s   !   (   p   a   g   e   N   u   m   b
0133560    e   r   +   1   )       e   q       f   i   l   l   I   n   D
0133600  376 001  \0 324   *   A   ?  \r                               l
0133620    v       n   e   x   t   C   b   >   >   C   B   .   l   a   b
0133640    e   l   +   l   D   H   ,       l   v       n   e   x   t   C
0133660    b   >   >   C   B   .   l   a   b   e   l  \r                
0133700            T   F   S   D   o   D   i   s   k   C   o   m   m   a
0133720    n   d   (   d   i   s   k   ,       c   b   ,       (   f   i
0133740    x   e   d   C   A       n   e       0   ?       f   i   x   e
0133760    d   C   A   ,       C   A   s   !   p   a   g   e   N   u   m
0134000    b   e   r   )   ,  \r                               D   A   s
0134020    !   p   a   g   e   N   u   m   b   e   r   ,       f   p   ,
0134040        p   a   g   e   N   u   m   b   e   r   ,       t   h   i
0134060    s   C   B   a   c   t   i   o   n   )  \r                    
0134100        c   b       =       n   e   x   t   C   b  \r            
0134120                ]  \r               w   h   i   l   e       c   b
0134140    z   >   >   C   B   Z   .   h   e   a   d       n   e       0
0134160        d   o       T   F   S   G   e   t   C   b   (   d   i   s
0134200    k   ,       c   b 376 001  \0 245 305   z   )  \r            
0134220    i   f       r   e   s   u   l   t       e   q       l   a   s
0134240    t   P   a   g   e       %       D   A   s   !   (   r   e   s
0134260    u   l   t   +   1   )       e   q       e   o   f   D   A    
0134300    t   h   e   n       b   r   e   a   k  \r               h   i
0134320    n   t   L   a   s   t   P   a   g   e       =       l   a   s
0134340    t   P   a   g   e           /   /       h   i   n   t       w
0134360    a   s       w   r   o   n   g   ,       r   e   s   t   a   r
0134400    t       t   r   a   n   s   f   e   r  \r               T   F
0134420    S   I   n   i   t   i   a   l   i   z   e   C   b   S   t   o
0134440    r   a   g   e   (   d   i   s   k   ,       c   b   z   ,    
0134460    r   e   s   u   l   t   +   1   )  \r               ]       r
0134500    e   p   e   a   t  \r  \r   /   /       C   l   e   a   n   u
0134520    p  \r   @   l   v   N   u   m   C   h   a   r   s       =    
0134540    c   b   z   >   >   C   B   Z   .   c   u   r   r   e   n   t
0134560    N   u   m   C   h   a   r   s  \r   r   e   s   u   l   t   i
0134600    s       r   e   s   u   l   t  \r   ] 376 001  \0 327  \a  \r
0134620   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0134640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0134740   \r   a   n   d       T   F   S   D   e   f   a   u   l   t   C
0134760    l   e   a   n   u   p   R   t   n   (   d   i   s   k   ,    
0135000    c   b   ,       c   b   z   )       b   e  \r   /   /   -   -
0135020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0135120    -   -   -   -   -   -   -   -   -   -  \r   /   /       T   h
0135140    e       d   e   f   a   u   l   t       c   l   e   a   n   u
0135160    p   R   o   u   t   i   n   e       s   u   b   s   t   i   t
0135200    u   t   e   s       t   h   e       a   c   t   u   a   l 376
0135220  001  \0 217   \       v   i   r   t   u   a   l       D   A    
0135240    f   o   r  \r   /   /       e   a   c   h       i   n   s   t
0135260    a   n   c   e       o   f       f   i   l   l   I   n   D   A
0135300        i   n       t   h   e       D   A   s       v   e   c   t
0135320    o   r  \r   [  \r   l   e   t       l   v   D   A       =    
0135340    l   v       (   (   c   b   z   >   >   C   B   Z   .   D   A
0135360    s   )   !   (   c   b   >   >   C   B   .   t   r   u   e   P
0135400    a   g   e   N   u   m   b   e   r   )   )  \r   i   f       l
0135420    v   D   A   !   1       e   q       f   i   l   l   I   n   D
0135440    A       t   h   e   n       l   v   D   A   !   1       =    
0135460    c   b   z   >   >   C   B   Z   .   n   e   x   t   D   A  \r
0135500    i   f       l   v   D   A   !   (   -   1   )       e   q    
0135520    f   i   l   l   I   n   D   A       t   h   e   n  \r        
0135540        l   v   D   A   !   (   -   1   )       =       V   i   r
0135560    t   u   a   l   D   i   s   k   D   A   (   d   i   s   k   ,
0135600        l   v       (   c   b   >   >   C   B   .   A   d   d   r
0135620    L   >   >   D 376  \0 017   7 215   L   .   p   r   e   v   i
0135640    o   u   s   )   )  \r   ]  \r 377  \0  \0   T   f   s   A   .
0135660    a   s   m  \0 373 227 031 351 231  \0  \0 376 001  \0   +   8
0135700    ;       T   f   s   A   .   A   s   m       -   -       a   s
0135720    s   e   m   b   l   y   -   l   a   n   g   u   a   g   e    
0135740    c   o   d   e  \r   ;       C   o   p   y   r   i   g   h   t
0135760        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0136000    o   n       1   9   7   9   ,       1   9   8   0   ,       1
0136020    9   8   1  \r  \r   ;  \t   L   a   s   t       m   o   d   i
0136040    f   i   e   d       M   a   y       1   ,       1   9   8   1
0136060            3   :   2   8       P   M       b   y       T   a   f
0136100    t  \r  \r   .   e   n   t       T   F   S   R   e   a   l   D
0136120    A   ,       T   F   S   V   i   r   t   u   a   l   D   A   ,
0136140        T   F   S   I   n   c   r   e   m   e   n   t  \r   .   e
0136160    n   t       T   F   S   M   o   d   S   h   i   f   t   ,    
0136200    T   F   S   M   o   d   S   h   i   f   t   A   ,       T   F
0136220    S   S   i   l   e   n   t   B   o   o   t  \r  \r   ;       o
0136240    f   f   s   e   t   s       i   n       T   F   S   D   S   K
0136260        s   t   r   u   c   t   u   r   e       d   e   f   i   n
0136300  376 001  \0 202 306   e   d       i   n       T   f   s   .   d
0136320   \r  \r   n   H   e   a   d   s       =       2   6   .  \r   n
0136340    S   e   c   t   o   r   s       =       2   7   .  \r   f   i
0136360    r   s   t   V   T   r   a   c   k       =       4   8   .  \r
0136400    n   V   T   r   a   c   k   s       =       4   9   .  \r  \r
0136420    .   s   r   e   l  \r  \r   T   F   S   R   e   a   l   D   A
0136440    :       .   T   F   S   R   e   a   l   D   A  \r   T   F   S
0136460    V   i   r   t   u   a   l   D   A   :       .   T   F   S   V
0136500    i   r   t   u   a   l   D   A  \r   T   F   S   I   n   c   r
0136520    e   m   e   n   t   :       .   T   F   S   I   n   c   r   e
0136540    m   e   n   t  \r   T   F   S   M   o   d   S   h   i   f   t
0136560    :       .   T   F   S   M   o   d   S   h   i   f   t  \r   T
0136600    F   S   M   o   d   S   h   i   f   t   A   :       .   T   F
0136620    S   M   o   d   S   h   i   f   t   A  \r   T   F   S   S   i
0136640    l   e   n   t   B   o   o   t   :       .   T   F   S   S   i
0136660    l   e   n   t   B   o   o   t  \r  \r   .   n   r   e   l  \r
0136700   \r  \r   ;       T 376 001  \0   * 362   F   S   I   n   c   r
0136720    e   m   e   n   t   (   l   v   C   o   u   n   t   e   r   )
0136740   \r   ;       I   n   c   r   e   m   e   n   t   s       a    
0136760    d   o   u   b   l   e   -   p   r   e   c   i   s   i   o   n
0137000        c   o   u   n   t   e   r  \r  \r   .   T   F   S   I   n
0137020    c   r   e   m   e   n   t   :  \r  \t   i   n   c       0    
0137040    0  \t  \t  \t   ;       p   o   i   n   t       t   o       l
0137060    o   w   -   o   r   d   e   r       w   o   r   d  \r  \t   s
0137100    t   a       0       2       2  \r  \t   i   s   z       @   2
0137120        2  \t  \t   ;       i   n   c   r   e   m   e   n   t    
0137140    i   t  \r  \t       j   m   p       1       3  \t  \t   ;    
0137160    n   o       o   v   e   r   f   l   o   w  \r  \t   d   s   z
0137200        2       2  \t  \t  \t   ;       o   v   e   r   f   l   o
0137220    w   ,       p   o   i   n   t       t   o       h   i   g   h
0137240    -   o   r   d   e   r       w   o   r   d  \r  \t   i   s   z
0137260        @   2       2  \t  \t   ;       i   n   c   r   e   m   e
0137300    n   t       i   t  \r  \t       j   m 376 001  \0 335 322   p
0137320        1       3  \r  \t   j   m   p       1       3  \r  \f  \r
0137340    ;       T   F   S   M   o   d   S   h   i   f   t   (   n   u
0137360    m   ,       r   e   f   )  \r   ;       C   a   l   l   s    
0137400    m   i   c   r   o   c   o   d   e       t   o       a   s   s
0137420    i   s   t       w   i   t   h       E   C   C       c   o   r
0137440    r   e   c   t   i   o   n  \r  \r   .   T   F   S   M   o   d
0137460    S   h   i   f   t   :  \r  \t   s   t   a       0       1    
0137500    2  \r  \t   s   t   a       1       2       2  \r  \t   i   n
0137520    c       2       0  \t  \t  \t   ;       l   v       n   u   m
0137540   \r  \t   l   d   a       1       c   2   1  \t  \t   ;       r
0137560    a   m       a   d   d   r   e   s   s       o   f       m   i
0137600    c   r   o   c   o   d   e       r   o   u   t   i   n   e  \r
0137620   \t   #   6   1   0   1   0  \t  \t  \t   ;       j   m   p   r
0137640    a   m  \r  \t   j   m   p       1       3  \r  \r   c   2   1
0137660    :  \t   2   1  \r  \r   ;       T   F   S   M   o   d   S   h
0137700    i   f   t   A   (   n   u   m   ,       r   e   f   )  \r 376
0137720  001  \0 345 326   ;       A   s   s   e   m   b   l   y   -   l
0137740    a   n   g   u   a   g   e       v   e   r   s   i   o   n    
0137760    -   -       f   o   r       D   -   m   a   c   h   i   n   e
0140000    s       w   h   e   r   e       t   h   e   r   e       i   s
0140020        n   o  \r   ;       m   i   c   r   o   c   o   d   e   d
0140040        r   o   u   t   i   n   e   .  \r  \r   .   T   F   S   M
0140060    o   d   S   h   i   f   t   A   :  \r  \t   s   t   a       3
0140100        1       2  \r  \t   m   k   z   e   r   o       3       3
0140120   \r  \t   s   t   a       3       2       2  \t  \t   ;       i
0140140    n   i   t       r   e   s   u   l   t       t   o       z   e
0140160    r   o  \r   m   o   d   s   h   1   :  \t   s   n   e       0
0140200        1  \t  \t  \t   ;       n   u   m       e   q       r   e
0140220    f   ?  \r  \t       j   m   p       m   o   d   s   h   3  \t
0140240   \t   ;       y   e   s  \r  \t   m   o   v   z   l       0    
0140260    0  \t  \t   ;       n   u   m       =       n   u   m       l
0140300    s   h   i   f   t       1  \r  \t   l   d   a       3       c
0140320    4   0   0   0 376 001  \0   M 330  \t  \t   ;       i   f    
0140340    (   n   u   m       &       4   0   0   0   B   )       n   e
0140360        0       t   h   e   n   .   .   .  \r  \t   a   n   d   #
0140400        3       0       s   n   r  \r  \t       j   m   p       m
0140420    o   d   s   h   2  \r  \t   l   d   a       3       c   4   0
0140440    0   5  \t  \t   ;       .   .   .       n   u   m       =    
0140460    n   u   m       x   o   r       4   0   0   5   B  \r  \t   a
0140500    n   d   z   l       0       3  \r  \t   s   u   b       3    
0140520    0  \r  \t   l   d   a       3       c   4   0   0   5  \r  \t
0140540    a   d   d       3       0  \r   m   o   d   s   h   2   :  \t
0140560    i   s   z       2       2  \t  \t  \t   ;       c   o   u   n
0140600    t       =       c   o   u   n   t   +   1  \r  \t       j   m
0140620    p       m   o   d   s   h   1  \r  \t   d   s   z       2    
0140640    2  \t  \t  \t   ;       r   e   t   u   r   n       -   1    
0140660    i   f       i   n   f   i   n   i   t   e       l   o   o   p
0140700   \r  \r   m   o   d   s   h   3   :  \t   l   d   a       0    
0140720    2       2  \r  \t   l   d   a     376 001  \0 033 372   3    
0140740    1       2  \r  \t   j   m   p       1       3  \r  \r   c   4
0140760    0   0   0   :  \t   4   0   0   0  \r   c   4   0   0   5   :
0141000   \t   4   0   0   5  \r  \f  \r   ;       T   F   S   R   e   a
0141020    l   D   A   (   d   i   s   k   ,       v   i   r   t   u   a
0141040    l   D   A   ,       l   v   R   e   a   l   D   A   )  \r   ;
0141060        C   o   n   v   e   r   t   s       v   i   r   t   u   a
0141100    l   D   A       t   o       a       r   e   a   l       D   A
0141120        a   n   d       s   t   o   r   e   s       i   t       i
0141140    n       @   l   v   R   e   a   l   D   A   .  \r   ;       R
0141160    e   t   u   r   n   s       t   r   u   e       i   f   f    
0141200    t   h   e       v   i   r   t   u   a   l       D   A       a
0141220    p   p   e   a   r   s       t   o       b   e       l   e   g
0141240    a   l   .  \r   ;       A       v   i   r   t   u   a   l    
0141260    D   A       o   f       e   o   f   D   A       (   -   1   )
0141300        r   e   s   u   l   t   s       i   n       a       r   e
0141320    a   l       D   A       o   f       z   e   r   o   . 376 001
0141340   \0 240 274  \r  \r   .   T   F   S   R   e   a   l   D   A   :
0141360   \r  \t   s   t   a       3       1       2  \r  \t   c   o   m
0141400        1       3       s   n   r  \t  \t   ;       e   o   f   D
0141420    A   ?  \r  \t       j   m   p       e   o   f   D   A  \t  \t
0141440    ;       y   e   s   ,       r   e   t   u   r   n       r   e
0141460    a   l       D   A       o   f       z   e   r   o  \r  \t   s
0141500    t   a       0       2       2  \t  \t   ;       s   a   v   e
0141520