$ od -c -N 50000 [_CD6_]<altotape>DDTapeMicrocode.dm!1
0000000  377  \0  \0   B   l   o   c   k   E   q   .   m   u  \0 373 226
0000020    a 032   B  \0  \0 376 001  \0 344 234   ;       B   l   o   c
0000040    k   E   q   .   m   u       -   -       F   a   s   t       B
0000060    l   o   c   k       c   o   m   p   a   r   e       i   n   s
0000100    t   r   u   c   t   i   o   n  \r   ;       C   o   p   y   r
0000120    i   g   h   t       X   e   r   o   x       C   o   r   p   o
0000140    r   a   t   i   o   n       1   9   7   9  \r   ;       L   a
0000160    s   t       m   o   d   i   f   i   e   d       S   e   p   t
0000200    e   m   b   e   r       1   0   ,       1   9   7   9        
0000220    6   :   0   4       P   M       b   y       B   o   g   g   s
0000240   \r  \r   ;       A   c   c   e   p   t   s       i   n   :  \r
0000260    ;  \t   A   C   0   /  \t   a   d   d   r   e   s   s       o
0000300    f       b   l   o   c   k   0  \r   ;  \t   A   C   1   /  \t
0000320    a   d   d   r   e   s   s       o   f       b   l   o   c   k
0000340    1  \r   ;  \t   A   C   3   /  \t   n   u   m   b   e   r    
0000360    o   f       w   o   r   d   s       t   o       c   o   m   p
0000400    a   r   e  \r  \r   ;       R   e   t   u   r   n   s   :  \r
0000420    ;  \t   A   C   3   /  \t   o   f   f 376 001  \0 370   ?   s
0000440    e   t       o   f       f   i   r   s   t       n   o   t    
0000460    e   q   u   a   l       p   a   i   r       o   f       w   o
0000500    r   d   s  \r  \r   $   A   C   0  \t   $   R   3   ;  \t   T
0000520    h   e       a   c   c   u   m   u   l   a   t   o   r   s  \r
0000540    $   A   C   1  \t   $   R   2   ;  \r   $   A   C   2  \t   $
0000560    R   1   ;  \r   $   A   C   3  \t   $   R   0   ;  \r   $   P
0000600    C  \t   $   R   6   ;  \t   P   r   o   g   r   a   m       c
0000620    o   u   n   t   e   r  \r   $   N   W   W  \t   $   R   4   ;
0000640   \t   N   e   w       w   a   k   e   u   p   s       w   a   i
0000660    t   i   n   g  \r  \r   !   1   ,   2   ,   B   e   M   o   r
0000700    e   ,   B   e   D   o   n   e   ;  \r   !   1   ,   2   ,   B
0000720    e   M   a   y   b   e   I   n   t   ,   B   e   N   o   I   n
0000740    t   ;  \r   !   1   ,   2   ,   B   e   E   r   r   o   r   ,
0000760    B   e   M   a   i   n   ;  \r   !   1   ,   2   ,   B   e   D
0001000    o   I   n   t   ,   B   e   I   n   t   O   f   f   ;  \r  \r
0001020    B   l   o   c   k   E   q   :       L   _       A   C   1 376
0001040  001  \0   : 037   -   1   ;  \r  \t   A   C   1   _       L   ;
0001060   \r  \t   M   A   R   _       L   _       A   C   0   ,       :
0001100    B   e   2   ;  \r  \r   ;       m   a   i   n       l   o   o
0001120    p       i   s       1   2       c   y   c   l   e   s       -
0001140        r   u   n   s       m   e   m   o   r   y       a   t    
0001160    f   u   l   l       (   s   i   n   g   l   e       w   o   r
0001200    d   )       s   p   e   e   d  \r  \r   B   e   M   a   i   n
0001220    :  \t   M   A   R   _       L       _       A   C   0   +   1
0001240    ;  \t  \t   F   e   t   c   h       a       w   o   r   d    
0001260    f   r   o   m       b   l   o   c   k       0  \r   B   e   2
0001300    :  \t   A   C   0   _       L   ;  \r  \t   L   _       A   C
0001320    3   -   1   ,       B   U   S   =   0   ;  \t   U   p   d   a
0001340    t   e       c   o   u   n   t   ,       c   h   e   c   k    
0001360    f   o   r       d   o   n   e  \r  \t   A   C   3   _       L
0001400    ,       :   B   e   M   o   r   e   ;  \t   [   B   e   M   o
0001420    r   e   ,   B   e   D   o   n   e   ]  \r   B   e   M   o   r
0001440    e   :  \t   T 376 001  \0  \0 345   _       M   D   ;  \r  \t
0001460    M   A   R   _       L   _       A   C   1   +   1   ;  \t  \t
0001500    F   e   t   c   h       a       w   o   r   d       f   r   o
0001520    m       b   l   o   c   k       1  \r  \t   A   C   1   _    
0001540    L   ;  \r  \t   L   _       N   W   W   ,       B   U   S   =
0001560    0   ;  \t  \t   C   h   e   c   k       f   o   r       i   n
0001600    t   e   r   r   u   p   t   s  \r  \t   S   H   <   0   ,    
0001620    :   B   e   M   a   y   b   e   I   n   t   ;  \t   [   B   e
0001640    M   a   y   b   e   I   n   t   ,   B   e   N   o   I   n   t
0001660    ]  \r   B   e   N   o   I   n   t   :       L   _       M   D
0001700    -   T   ;  \t  \t   C   h   e   c   k       f   o   r       w
0001720    o   r   d   s       e   q   u   a   l  \r   B   e   I   n   t
0001740    O   f   f   :       S   H   =   0   ,       T   A   S   K   ;
0001760   \r  \t   :   B   e   E   r   r   o   r   ;  \t  \t   [   B   e
0002000    E   r   r   o   r   ,   B   e   M   a   i   n   ]  \r  \r   B
0002020    e   M   a   y   b   e   I   n   t   :       L   _       M   D
0002040    -   T   ,       :   B   e   D   o 376  \0 324 253 237   I   n
0002060    t   ;  \t   [   B   e   D   o   I   n   t   ,   B   e   I   n
0002100    t   O   f   f   ]  \r   B   e   D   o   I   n   t   :       L
0002120    _       P   C   -   1   ,       T   A   S   K   ;  \t  \t   S
0002140    a   v   e       s   t   a   t   e       f   o   r       i   n
0002160    t   e   r   r   u   p   t  \r  \t   P   C   _       L   ;  \r
0002200    B   e   E   r   r   o   r   :       S   W   M   O   D   E   ,
0002220        L   _       A   C   3   +   1   ,       :   B   e   3   ;
0002240        C   o   m   e       h   e   r   e       o   n       c   o
0002260    m   p   a   r   e       e   r   r   o   r  \r   B   e   D   o
0002300    n   e   :  \t   S   W   M   O   D   E   ,       L   _       A
0002320    C   3   +   1   ;  \t   C   o   m   e       h   e   r   e    
0002340    w   h   e   n       d   o   n   e  \r   B   e   3   :  \t   A
0002360    C   3   _       L   ,       :   S   T   A   R   T   ;  \r  \r
0002400   \r  \r 377  \0  \0   D   D   T   a   p   e   R   e   a   d   T
0002420    a   s   k   .   m   u  \0 373 226 315   7   }  \0  \0 376 001
0002440   \0   ?   V   ;       D   D   T   a   p   e   R   e   a   d   T
0002460    a   s   k   .   m   u           -   -       T   a   p   e    
0002500    M   i   c   r   o   c   o   d   e       f   o   r       t   h
0002520    e       A   l   t   o       D   o   u   b   l   e       D   e
0002540    n   s   i   t   y       T   a   p   e       C   o   n   t   r
0002560    o   l   l   e   r  \r   ;       C   o   p   y   r   i   g   h
0002600    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0002620    i   o   n       1   9   8   0  \r  \r   ;       B   o   d   y
0002640        o   f       T   a   p   e       C   o   n   t   r   o   l
0002660    l   e   r       m   i   c   r   o   c   o   d   e       -   -
0002700        r   e   q   u   i   r   e   s       d   e   f   i   n   i
0002720    t   i   o   n   s       i   n       D   D   T   a   p   e   D
0002740    e   f   s   .   m   u  \r   ;  \r   ;       L   a   s   t    
0002760    m   o   d   i   f   i   e   d       b   y       T   i   m    
0003000    D   i   e   b   e   r   t   ,       M   a   r   c   h       4
0003020    ,       1   9   8   1           1   0   :   2   8       A   M
0003040   \r   ;     376 001  \0 356 256  \r   ;       B   r   a   n   c
0003060    h       C   o   n   d   i   t   i   o   n   a   l   s  \r   !
0003100    1   ,       2   ,       T   a   p   e   2   ,       C   o   m
0003120    m   a   n   d   D   c   d   ;  \r   !   1   ,       2   ,    
0003140    D   r   i   v   e   N   o   t   R   d   y   ,       D   r   i
0003160    v   e   R   d   y   ;  \r   !   1   ,       2   ,       B   a
0003200    d   C   m   d   ,       D   R   N   o   O   p   ;  \r   !   1
0003220    ,       2   ,       R   e   a   d   L   o   o   p   ,       N
0003240    o   B   u   f   L   o   o   p   ;  \r   !   3   ,       4   ,
0003260        B   y   t   e   s   L   e   f   t   ,       ,       B   y
0003300    t   e   s   G   o   n   e   E   v   e   n   ,       ;  \r   !
0003320    3   ,       4   ,       B   y   t   e   s   L   e   f   t   1
0003340    ,       B   y   t   e   s   L   e   f   t   B   u   f   G   o
0003360    n   e   ,       B   y   t   e   s   G   o   n   e   O   d   d
0003400    ,       B   y   t   e   s   G   o   n   e   O   d   d   B   u
0003420    f   G   o   n   e   ;  \r   !   3   ,       4   ,       B   y
0003440    t   e   s   L   e   f   t   B 376 001  \0 030   k   u   f   G
0003460    o   n   e   L   o   o   p   ,       ,       A   d   j   u   s
0003500    t   B   y   t   e   C   n   t   ,       ;  \r   !   1   ,    
0003520    2   ,       O   p   E   n   d   ,       H   a   r   d   W   a
0003540    r   e   E   r   r   o   r   ;  \r   !   1   ,       2   ,    
0003560    R   e   a   d   D   a   t   a   F   w   d   1   ,       H   a
0003600    r   d   W   a   r   e   E   r   r   o   r   1   ;  \r   !   1
0003620    ,       2   ,       R   e   a   d   D   a   t   a   R   e   v
0003640    1   ,       H   a   r   d   W   a   r   e   E   r   r   o   r
0003660    2   ;  \r   !   1   ,       2   ,       R   e   a   d   R   e
0003700    v   L   o   o   p   ,       R   e   a   d   R   e   v   N   o
0003720    B   u   f   L   o   o   p   ;  \r   !   3   ,       4   ,    
0003740    R   e   a   d   R   e   v   B   y   t   e   s   L   e   f   t
0003760    ,       ,       R   e   a   d   R   e   v   B   y   t   e   s
0004000    G   o   n   e   E   v   e   n   ,       ;  \r   !   3   ,    
0004020    4   ,       R   e   a   d   R   e   v   B   y   t   e   s   L
0004040    e   f   t   1   ,       R   e   a   d   R   e   v 376 001  \0
0004060  244 221   B   u   f   G   o   n   e   B   y   t   e   s   L   e
0004100    f   t   ,       R   e   a   d   R   e   v   B   y   t   e   s
0004120    G   o   n   e   O   d   d   ,       R   e   a   d   R   e   v
0004140    B   y   t   e   s   G   o   n   e   O   d   d   B   u   f   G
0004160    o   n   e   ;  \r   !   3   ,       4   ,       R   e   a   d
0004200    R   e   v   B   u   f   G   o   n   e   B   y   t   e   s   L
0004220    e   f   t   L   o   o   p   ,       ,       R   e   a   d   R
0004240    e   v   A   d   j   u   s   t   B   y   t   e   C   n   t   ,
0004260        ;  \r   !   1   ,       2   ,       W   r   i   t   e   E
0004300    r   r   o   r   3   ,       W   r   i   t   e   E   o   f   1
0004320    ;  \r   !   1   ,       2   ,       W   r   i   t   e   E   r
0004340    r   o   r   ,       W   r   i   t   e   O   p   1   ;  \r   !
0004360    1   ,       2   ,       R   e   a   d   D   a   t   a   F   w
0004400    d   2   ,       N   o   R   e   a   d   A   f   t   e   r   ;
0004420   \r   !   1   ,       2   ,       W   r   i   t   e   E   r   r
0004440    o   r   1   ,       E   r   a   s   e   1   ;  \r   !   1   ,
0004460        2 376 001  \0   } 346   ,       W   r   i   t   e   E   r
0004500    r   o   r   2   ,       E   r   a   s   e   V   a   r   1   ;
0004520   \r   !   1   ,       2   ,       W   r   i   t   e   O   p   2
0004540    ,       H   a   r   d   W   a   r   e   E   r   r   o   r   5
0004560    ;  \r   !   1   ,       2   ,       E   r   a   s   e   V   a
0004600    r   2   ,       H   a   r   d   W   a   r   e   E   r   r   o
0004620    r   4   ;  \r   !   1   ,       2   ,       O   p   E   n   d
0004640    3   ,       O   p   E   n   d   4   ;  \r   !   1   ,       2
0004660    ,       T   a   p   e   3   ,       T   a   p   e   4   ;  \r
0004700    !   1   ,       2   ,       B   y   t   e   s   L   e   f   t
0004720    B   u   f   G   o   n   e   L   o   o   p   1   ,       B   a
0004740    i   l   O   u   t   ;  \r  \r   !   3   7   ,       4   0   ,
0004760        R   e   a   d   F   w   d   ,       F   w   d   S   p   a
0005000    c   e   R   e   c   ,       B   a   d   C   m   d   0   2   ,
0005020        B   a   d   C   m   d   0   3   ,       B   a   d   C   m
0005040    d   0   4   ,       F   w   d   S   p   a   c   e   F   i   l
0005060    e   ,  \r       B   a   d 376 001  \0   W 234   C   m   d   0
0005100    6   ,       B   a   d   C   m   d   0   7   ,       W   r   i
0005120    t   e   F   w   d   ,       E   r   a   s   e   V   a   r   ,
0005140        W   r   i   t   e   E   d   i   t   ,       B   a   d   C
0005160    m   d   1   3   ,       W   r   i   t   e   E   o   f   ,    
0005200    E   r   a   s   e   ,  \r       B   a   d   C   m   d   1   6
0005220    ,       B   a   d   C   m   d   1   7   ,       R   e   a   d
0005240    R   e   v   ,       B   a   c   k   S   p   a   c   e   R   e
0005260    c   ,       R   e   a   d   R   e   v   E   d   i   t   ,    
0005300    B   a   d   C   m   d   2   3   ,       B   a   d   C   m   d
0005320    2   4   ,  \r       B   a   c   k   S   p   a   c   e   F   i
0005340    l   e   ,       B   a   d   C   m   d   2   6   ,       B   a
0005360    d   C   m   d   2   7   ,       B   a   d   C   m   d   3   0
0005400    ,       B   a   d   C   m   d   3   1   ,       B   a   d   C
0005420    m   d   3   2   ,       B   a   d   C   m   d   3   3   ,  \r
0005440        B   a   d   C   m   d   3   4   ,       R   e   w   i   n
0005460    d   ,       U   n   l   o   a   d   ,       N 376 001  \0 225
0005500  271   o   O   p   ;  \r  \r  \f  \r   ;  \r   ;       T   o   p
0005520        o   f       l   o   o   p  \r   ;  \r  \r  \r   T   a   p
0005540    e   :  \r  \t   N   O   P   ;  \r  \t   R   e   s   e   t   ;
0005560   \t  \t  \t   R   e   s   e   t       t   h   e       t   a   p
0005600    e       c   o   n   t   r   o   l   l   e   r       h   a   r
0005620    d   w   a   r   e   .  \r  \t   T   _       2   ;  \r  \t   W
0005640    r   i   t   e   W   o   r   d   C   n   t   _       T   ;  \r
0005660   \t   W   r   i   t   e   B   y   t   e   C   n   t   _       T
0005700    ;  \r  \t   G   o   C   m   d   _       S   e   t   R   e   s
0005720    e   t   W   r   i   t   e   T   a   s   k   ;  \t   W   a   k
0005740    e   u   p       t   h   e       w   r   i   t   e       t   a
0005760    s   k       t   o       s   t   a   r   t       r   e   s   e
0006000    t   .  \r  \t   T   A   S   K   ;  \r  \t   N   O   P   ;  \r
0006020   \r  \t   T   _       2   0   ;  \t  \t  \t   S   e   t       u
0006040    p       t   o       r   e   a   d       T   S   t   a   r   t
0006060    .  \r  \t   M   A   R   _       6   0   2       O   R       T
0006100    ; 376 001  \0   Z   D  \r  \t   N   O   P   ;  \r  \t   L   _
0006120        M   D   ;  \r  \t   T   C   B   B   a   s   e   _       L
0006140    ;  \t  \t   S   a   v   e       t   h   e       P   o   i   n
0006160    t   e   r       t   o       t   h   e       T   C   B   .  \r
0006200   \r   T   a   p   e   3   :  \r  \t   T   _       R   e   s   e
0006220    t   W   r   i   t   e   T   a   s   k   ;  \t   W   a   i   t
0006240        f   o   r       w   r   i   t   e       t   a   s   k    
0006260    t   o       r   e   s   e   t   .  \r  \t   L   _       T   S
0006300    t   a   t   u   s       A   N   D       T   ;  \r  \t   T   A
0006320    S   K   ,       S   H   =   0   ;  \r  \t   :   T   a   p   e
0006340    3   ;  \t  \t   [   T   a   p   e   3   ,       T   a   p   e
0006360    4   ]  \r  \r   T   a   p   e   4   :  \r  \t   R   e   s   e
0006400    t   ;  \t  \t  \t   R   e   s   e   t       t   h   e       t
0006420    a   p   e       c   o   n   t   r   o   l   l   e   r       h
0006440    a   r   d   w   a   r   e   .  \r  \t   T   _       F   o   r
0006460    c   e   d   R   e   s   e   t   ;  \t  \t   C   h   e   c   k
0006500        t   o       s   e 376 001  \0 203 312   e       i   f    
0006520    w   e       g   o   t       h   e   r   e       b   y       a
0006540        f   o   r   c   e   d       r   e   s   e   t   .  \r  \t
0006560    L   _       T   S   t   a   t   u   s       A   N   D       T
0006600    ;  \r  \t   L   _       S   t   a   t   u   s   M   a   s   k
0006620    ,       S   H   =   0   ;  \r  \t   T   _       S   t   a   t
0006640    u   s   O   f   f   s   e   t   ,       :   T   a   p   e   2
0006660    ;  \t   [   T   a   p   e   2   ,       C   o   m   m   a   n
0006700    d   D   c   d   ]  \r  \r   T   a   p   e   2   :  \r  \t   G
0006720    o   C   m   d   _       R   e   s   e   t   F   M   T   E   n
0006740    b   l   ;  \t   D   i   s   a   b   l   e       t   h   e    
0006760    f   o   r   m   a   t   t   e   r   .  \r  \t   N   O   P   ;
0007000   \r  \t   T   A   S   K   ;  \r  \t   G   o   C   m   d   _    
0007020    S   e   t   F   M   T   E   n   b   l   ,       :   O   p   E
0007040    n   d   1   ;  \t   E   n   a   b   l   e       t   h   e    
0007060    f   o   r   m   a   t   t   e   r   .  \r  \r   C   o   m   m
0007100    a   n   d   D   c   d   :  \r  \t   M   A 376 001  \0   >   #
0007120    R   _       T   C   B   B   a   s   e       +       1   ;  \t
0007140    G   e   t       t   h   e       c   o   m   m   a   n   d    
0007160    w   o   r   d   .  \r  \t   N   O   P   ;  \r  \t   L   _    
0007200    F   m   t   C   m   d   _       M   D   ;  \t  \t   L   o   a
0007220    d       u   p       t   h   e       c   o   m   m   a   n   d
0007240        s   o       w   e       g   e   t       t   h   e       u
0007260    n   i   t       a   d   r   e   s   s   e   d   .  \r  \t   C
0007300    o   m   m   a   n   d   _       L   ;  \r  \r  \t   T   _    
0007320    R   e   a   d   O   f   f   s   e   t   ;  \t  \t   B   u   i
0007340    l   d       r   e   a   d       s   t   u   f   f       f   o
0007360    r       l   a   t   e   r   .  \r  \t   M   A   R   _       T
0007400    C   B   B   a   s   e       +       T   ;  \r  \t   N   O   P
0007420    ;  \r  \t   L   _       M   D       -       1   ;  \r  \t   T
0007440    _       M   D   ;  \r  \t   R   e   a   d   P   t   r   _    
0007460    L   ,       L   _       T   ,       T   A   S   K   ;  \r  \t
0007500    R   e   a   d   B   u   f   S   i   z   e   _       L   ;  \r
0007520  376 001  \0 211 260  \r  \t   T   _       W   r   i   t   e   O
0007540    f   f   s   e   t   ;  \t  \t   B   u   i   l   d       w   r
0007560    i   t   e       s   t   u   f   f       f   o   r       l   a
0007600    t   e   r   .  \r  \t   M   A   R   _       T   C   B   B   a
0007620    s   e       +       T   ;  \r  \t   N   O   P   ;  \r  \t   L
0007640    _       M   D       -       1   ;  \r  \t   T   _       M   D
0007660    ;  \r  \t   W   r   i   t   e   P   t   r   _       L   ,    
0007700    L   _       T   ,       T   A   S   K   ;  \r  \t   W   r   i
0007720    t   e   B   y   t   e   C   n   t   _       L   ;  \r  \r  \t
0007740    T   _       R   d   y   O   n   l   ;  \t  \t   C   h   e   c
0007760    k       f   o   r       o   n   l   i   n   e       a   n   d
0010000        r   e   a   d   y       a   n   d       s   a   v   e    
0010020    f   o   r       l   a   t   e   r   .  \r  \t   T   _       T
0010040    S   t   a   t   u   s       .       T   ;  \r  \t   L   _    
0010060    R   d   y   O   n   l       X   O   R       T   ;  \r  \t   S
0010100    H   =   0   ;  \t  \t  \t  \r  \t   T   _       N   o   O   p
0010120    C   m   d   ,     376 001  \0 210 356   :   D   r   i   v   e
0010140    N   o   t   R   d   y   ;  \t  \t   [   D   r   i   v   e   N
0010160    o   t   R   d   y   ,       D   r   i   v   e   R   d   y   ]
0010200   \r  \r   D   r   i   v   e   N   o   t   R   d   y   :  \r  \t
0010220    T   _       C   o   m   m   a   n   d       .       T   ;  \r
0010240   \t   L   _       N   o   O   p   C   m   d       X   O   R    
0010260    T   ;  \r  \t   S   H   =   0   ;  \r  \t   :   B   a   d   C
0010300    m   d   ;  \t  \t   [   B   a   d   C   m   d   ,       D   R
0010320    N   o   O   p   ]  \r  \r   D   r   i   v   e   R   d   y   :
0010340   \r  \t   T   _       3   7   ;  \t  \t  \t   P   r   e   p   a
0010360    r   e       f   o   r       d   i   s   p   a   t   c   h   .
0010400   \r  \t   L   _       C   o   m   m   a   n   d       A   N   D
0010420        T   ;  \r  \t   S   I   N   K   _       M   ,       B   U
0010440    S   ,       T   A   S   K   ;  \t   D   i   s   p   a   t   c
0010460    h   .  \r  \t   :   R   e   a   d   F   w   d   ;  \r  \r  \f
0010500   \r  \r   ;  \r   ;       B   a   d       o   r       u   n   k
0010520    o   w   n       c   o   m   m   a   n 376 001  \0   B 005   d
0010540        p   r   o   c   e   s   s   i   n   g  \r   ;  \r   B   a
0010560    d   C   m   d   0   2   :  \r  \t   :   B   a   d   C   m   d
0010600    ;  \r  \r   B   a   d   C   m   d   0   3   :  \r  \t   :   B
0010620    a   d   C   m   d   ;  \r  \r   B   a   d   C   m   d   0   4
0010640    :  \r  \t   :   B   a   d   C   m   d   ;  \r  \r   B   a   d
0010660    C   m   d   0   6   :  \r  \t   :   B   a   d   C   m   d   ;
0010700   \r  \r   B   a   d   C   m   d   0   7   :  \r  \t   :   B   a
0010720    d   C   m   d   ;  \r  \r   B   a   d   C   m   d   1   3   :
0010740   \r  \t   :   B   a   d   C   m   d   ;  \r  \r   B   a   d   C
0010760    m   d   1   6   :  \r  \t   :   B   a   d   C   m   d   ;  \r
0011000   \r   B   a   d   C   m   d   1   7   :  \r  \t   :   B   a   d
0011020    C   m   d   ;  \r  \r   B   a   d   C   m   d   2   3   :  \r
0011040   \t   :   B   a   d   C   m   d   ;  \r  \r   B   a   d   C   m
0011060    d   2   4   :  \r  \t   :   B   a   d   C   m   d   ;  \r  \r
0011100    B   a   d   C   m   d   2   6   :  \r  \t   :   B   a   d   C
0011120    m   d   ;  \r  \r   B   a   d   C   m   d   2   7   :  \r 376
0011140  001  \0   y   x  \t   :   B   a   d   C   m   d   ;  \r  \r   B
0011160    a   d   C   m   d   3   0   :  \r  \t   :   B   a   d   C   m
0011200    d   ;  \r  \r   B   a   d   C   m   d   3   1   :  \r  \t   :
0011220    B   a   d   C   m   d   ;  \r  \r   B   a   d   C   m   d   3
0011240    2   :  \r  \t   :   B   a   d   C   m   d   ;  \r  \r   B   a
0011260    d   C   m   d   3   3   :  \r  \t   :   B   a   d   C   m   d
0011300    ;  \r  \r   B   a   d   C   m   d   3   4   :  \r  \t   :   B
0011320    a   d   C   m   d   ;  \r  \r   B   a   d   C   m   d   :  \r
0011340   \t   T   _       S   t   a   t   u   s   M   a   s   k   ;  \t
0011360   \t   B   u   i   l   d       S   t   a   t   u   s   .  \r  \t
0011400    L   _       T   S   t   a   t   u   s           .       T   ;
0011420   \r  \t   T   _       S   t   a   t   u   s   O   f   f   s   e
0011440    t   ;  \r  \t   M   A   R   _       T   C   B   B   a   s   e
0011460        +       T   ;  \r  \t   T   _       M   ,       B   L   O
0011500    C   K   ;  \r  \t   L   _       1       O   R       T   ,    
0011520    T   A   S   K   ;  \t  \t   S   e   t       t   h   e       C
0011540    m   d   E   r 376 001  \0 327  \f   r       b   i   t  \r  \t
0011560    M   D   _       M   ,       :   T   a   p   e   ;  \r  \f  \r
0011600    ;  \r   ;       D   i   r   e   c   t       t   o       d   r
0011620    i   v   e       c   o   m   m   a   n   d   s  \r   ;  \r   R
0011640    e   w   i   n   d   :  \r  \t   G   o   C   m   d   _       R
0011660    e   w   i   n   d   C   m   d   ,       :   W   a   i   t   A
0011700    B   i   t   ;  \r  \r   U   n   l   o   a   d   :  \r  \t   G
0011720    o   C   m   d   _       U   n   l   o   a   d   C   m   d   ,
0011740        :   W   a   i   t   A   B   i   t   ;  \r  \r   W   a   i
0011760    t   A   B   i   t   :  \r  \t   N   O   P   ;  \r  \t   N   O
0012000    P   ;  \r  \t   N   O   P   ;  \r  \t   N   O   P   ;  \r  \t
0012020    N   O   P   ;  \r  \t   N   O   P   ,       T   A   S   K   ;
0012040   \r  \t   G   o   C   m   d   _       Z   e   r   o   C   m   d
0012060    ,       :   N   o   F   m   t   G   o   O   p   E   n   d   ;
0012100   \r  \r   D   R   N   o   O   p   :  \r  \t   :   N   o   F   m
0012120    t   G   o   O   p   E   n   d   ;  \r   N   o   O   p   :  \r
0012140   \t   :   N   o   F   m   t   G   o 376 001  \0 317 266   O   p
0012160    E   n   d   ;  \r  \f  \r   ;  \r   ;       E   n   d       o
0012200    f       o   p   e   r   a   t   i   o   n       s   t   u   f
0012220    f  \r   ;  \r   O   p   E   n   d   :  \r  \t   T   A   S   K
0012240    ;  \r  \t   N   O   P   ;  \r  \r   O   p   E   n   d   1   :
0012260   \r  \t   T   _       1   4   ;  \t   S   e   t       u   p    
0012300    t   o       s   e   e       i   f       t   h   e       f   o
0012320    r   m   a   t   t   e   r       b   u   s   y       a   n   d
0012340        d   a   t   a       b   u   s   y       h   a   v   e    
0012360    g   o   n   e  \r  \t   L   _       T   S   t   a   t   u   s
0012400        .       T   ;  \r  \t   S   H   =   0   ;  \r  \t   :   O
0012420    p   E   n   d   3   ;  \t   [   O   p   E   n   d   3   ,    
0012440    O   p   E   n   d   4   ]  \r  \r   O   p   E   n   d   3   :
0012460   \r  \t   B   L   O   C   K   ;  \t  \t   T   h   i   s       i
0012500    s       t   o       r   e   m   o   v   e       i   n   i   t
0012520    a   i   l       w   a   k   e   u   p       o   r       D   a
0012540    t   a       B   u   s   y       w   a   k   e   u   p 376 001
0012560   \0 331   ]   .  \r  \t   T   A   S   K   ;  \r  \t   N   O   P
0012600    ;  \r  \r   O   p   E   n   d   4   :  \r  \t   L   _       S
0012620    t   a   t   u   s   M   a   s   k   ;  \t  \t   B   u   i   l
0012640    d       S   t   a   t   u   s   .  \r  \t   T   _       S   t
0012660    a   t   u   s   O   f   f   s   e   t   ;  \r  \r  \t   M   A
0012700    R   _       T   C   B   B   a   s   e       +       T   ;  \r
0012720   \t   T   _       M   ;  \r  \t   L   _       T   S   t   a   t
0012740    u   s           .       T   ,       T   A   S   K   ;  \r  \t
0012760    M   D   _       M   ;  \t  \r  \r  \t   S   I   O   9   R   e
0013000    s   e   t   ,       B   L   O   C   K   ;  \t  \t   T   h   i
0013020    s       i   s       f   o   r       t   h   e       w   a   i
0013040    t       f   o   r       F   o   r   m   a   t   t   e   r   B
0013060    u   s   y       t   o       g   o       a   w   a   y   .  \r
0013100   \t   T   A   S   K   ;  \r  \t   :   T   a   p   e   ;  \r  \r
0013120    ;  \r   ;       E   n   d       o   f       o   p   e   r   a
0013140    t   i   o   n       w   h   e   r   e       f   o   r   m   a
0013160    t   t   e 376 001  \0 325  \t   r       b   u   s   y       w
0013200    i   l   l       n   o   t       g   i   v   e       a       f
0013220    i   n   a   l       w   a   k   e   u   p   .  \r   ;  \r   N
0013240    o   F   m   t   G   o   O   p   E   n   d   :  \r  \t   L   _
0013260        S   t   a   t   u   s   M   a   s   k   ;  \t  \t   B   u
0013300    i   l   d       S   t   a   t   u   s   .  \r  \t   T   _    
0013320    S   t   a   t   u   s   O   f   f   s   e   t   ;  \r  \t   M
0013340    A   R   _       T   C   B   B   a   s   e       +       T   ;
0013360   \r  \t   T   _       M   ,       B   L   O   C   K   ;  \t  \t
0013400    T   h   i   s       i   s       t   o       r   e   m   o   v
0013420    e       i   n   i   t   a   i   l       w   a   k   e   u   p
0013440    .  \r  \t   L   _       T   S   t   a   t   u   s           .
0013460        T   ,       T   A   S   K   ;  \r  \t   M   D   _       M
0013500    ;  \t  \r  \r  \t   S   I   O   9   R   e   s   e   t   ;  \t
0013520   \t  \r  \t   T   A   S   K   ;  \r  \t   :   T   a   p   e   ;
0013540   \r  \f  \r   ;  \r   ;       S   k   i   p       t   y   p   e
0013560        o   p   e   r   a   t   i 376 001  \0 302 235   o   n   s
0013600   \r   ;  \r   F   w   d   S   p   a   c   e   R   e   c   :  \r
0013620   \t   B   L   O   C   K   ,       :   N   o   D   a   t   a   O
0013640    P   ;  \r  \r   F   w   d   S   p   a   c   e   F   i   l   e
0013660    :  \r  \t   B   L   O   C   K   ,       :   N   o   D   a   t
0013700    a   O   P   ;  \r  \r   B   a   c   k   S   p   a   c   e   R
0013720    e   c   :  \r  \t   B   L   O   C   K   ,       :   N   o   D
0013740    a   t   a   O   P   ;  \r  \r   B   a   c   k   S   p   a   c
0013760    e   F   i   l   e   :  \r  \t   B   L   O   C   K   ,       :
0014000    N   o   D   a   t   a   O   P   ;  \r  \r   N   o   D   a   t
0014020    a   O   P   :  \r  \t   G   o   C   m   d   _       G   O   ;
0014040   \t   S   e   t       t   h   e       g   o       f   l   a   g
0014060        b   i   t       a   n   d       w   a   i   t       f   o
0014100    r       a   t       l   e   a   s   t       1       m   i   c
0014120    r   o   s   e   c   o   n   d  \r  \t   N   O   P   ;  \t  \t
0014140    t   o       t   u   r   n       i   t       o   f   f   .  \r
0014160   \t   N   O   P   ;  \r  \t   N   O   P   ;  \r  \t 376 001  \0
0014200  234   ,   N   O   P   ;  \r  \t   N   O   P   ;  \r  \t   N   O
0014220    P   ;  \r  \t   G   o   C   m   d   _       Z   e   r   o   C
0014240    m   d   ;  \r  \r  \t   N   O   P   ;  \t  \t   C   h   e   c
0014260    k       f   o   r       f   o   r   m   a   t   t   e   r    
0014300    b   u   s   y   .  \r  \t   T   _       F   m   t   B   u   s
0014320    y   ;  \r  \t   L   _       T   S   t   a   t   u   s       A
0014340    N   D       T   ;  \r  \t   S   H   =   0   ;  \r  \t   :   O
0014360    p   E   n   d   ;  \t   [   O   p   E   n   d   ,       H   a
0014400    r   d   W   a   r   e   E   r   r   o   r   ]  \r  \f  \r   ;
0014420   \r   ;       R   e   a   d       o   p   e   r   a   t   i   o
0014440    n   s  \r   ;  \r   ;  \r   ;       R   e   a   d       a   s
0014460    s   u   m   e   s       t   h   a   t       R   e   a   d   P
0014500    t   r       c   o   n   t   a   i   n   s       t   h   e    
0014520    s   t   a   r   t   i   n   g       a   d   d   r   e   s   s
0014540        o   f       t   h   e       r   e   a   d       b   u   f
0014560    f   e   r       -       1  \r   ;       a   n   d       t   h
0014600    a   t 376 001  \0   & 023       R   d   B   u   f   S   i   z
0014620    e       c   o   n   t   a   i   n   s       t   h   e       n
0014640    u   m   b   e   r       o   f       W   O   R   D   S       i
0014660    n       t   h   e       r   e   a   d       b   u   f   f   e
0014700    r   .  \r   ;  \r   ;       T   h   e       h   a   r   d   w
0014720    a   r   e       p   r   o   v   i   d   e   s       a       f
0014740    o   r   c   e       o   f       N   E   X   T   8       w   h
0014760    e   n       a       _   T   R   e   a   d   F   1       o   r
0015000        _   T   R   e   a   d   F   2       e   n   c   o   u   n
0015020    t   e   r   s  \r   ;           n   o       m   o   r   e    
0015040    d   a   t   a       t   o       b   e       t   r   a   n   s
0015060    f   e   r   e   d   .      \r   ;           T   h   u   s    
0015100    e   v   e   r   y       i   n   s   t   r   u   c   t   i   o
0015120    n       t   h   a   t       e   x   e   c   u   t   e   s    
0015140    a       _   T   R   e   a   d   F   1       o   r       _   T
0015160    R   e   a   d   F   2       m   u   s   t       h   a   v   e
0015200        a       b   r   a   n 376 001  \0 303   p   c   h  \r   ;
0015220            i   n       t   h   e       i   n   s   t   r   u   c
0015240    t   i   o   n       f   o   l   l   o   w   i   n   g       t
0015260    h   a   t       g   o   e   s       t   o       t   h   e    
0015300    e   n   d       o   f       d   a   t   a       r   o   u   t
0015320    i   n   e   .  \r  \r   R   e   a   d   F   w   d   :  \r  \t
0015340    G   o   C   m   d   _       G   O   ;      \t  \t  \t       s
0015360    t   a   r   t       t   h   e       b   a   l   l       r   o
0015400    l   l   i   n   g   .  \r  \t   N   O   P   ;  \r  \t   N   O
0015420    P   ;  \r  \t   N   O   P   ;  \r  \t   N   O   P   ;  \r  \t
0015440    N   O   P   ;  \r  \t   G   o   C   m   d   _       Z   e   r
0015460    o   C   m   d   ;  \t  \t  \t   R   e   m   o   v   e       I
0015500    G   O       a   f   t   e   r       a   b   o   u   t       1
0015520        m   i   c   r   o   s   e   c   o   n   d   .  \r  \t   N
0015540    O   P   ;  \t  \t   C   h   e   c   k       f   o   r       f
0015560    o   r   m   a   t   t   e   r       b   u   s   y   .  \r  \t
0015600    T   _       F   m   t   B   u   s   y   ;  \r 376 001  \0   f
0015620   \0  \t   L   _       T   S   t   a   t   u   s       A   N   D
0015640        T   ;  \r  \t   S   H   =   0   ;  \r  \t   T   A   S   K
0015660    ,       :   R   e   a   d   D   a   t   a   F   w   d   1   ;
0015700   \t   [   R   e   a   d   D   a   t   a   F   w   d   1   ,    
0015720    H   a   r   d   W   a   r   e   E   r   r   o   r   1   ]  \r
0015740   \r   R   e   a   d   D   a   t   a   F   w   d   2   :  \r  \t
0015760    E   n   R   e   a   d   ,       T   A   S   K   ;  \r  \t   :
0016000    R   e   a   d   D   a   t   a   F   w   d   3   ;  \t  \t  \t
0016020   \t   T   h   i   s       N   O   P       i   s       t   o    
0016040    m   a   k   e       t   h   e       t   a   s   k   i   n   g
0016060        w   o   r   k      \r   ;  \t  \t  \t  \t      \t       f
0016100    o   r       r   e   a   d       a   f   t   e   r       w   r
0016120    i   t   e   .  \r   R   e   a   d   D   a   t   a   F   w   d
0016140    1   :  \r  \t   E   n   R   e   a   d   ;  \r  \t   B   L   O
0016160    C   K   ;  \r  \t   T   A   S   K   ;  \r  \t   :   R   e   a
0016200    d   D   a   t   a   F   w   d   3   ;      \r  \r   R   e   a
0016220    d 376 001  \0   u 367   D   a   t   a   F   w   d   3   :  \r
0016240   \t   L   _       T   _       R   e   a   d   B   u   f   S   i
0016260    z   e   ;  \t  \t   B   u   i   l   d       R   e   a   d   B
0016300    u   f   B   y   t   e   s   ,       &       E   n   d   R   e
0016320    a   d   B   u   f       v   a   l   u   e   s   .  \r  \t   B
0016340    y   t   e   C   n   t   _       L   L   S   H   1   ;  \r  \t
0016360    L   _       R   e   a   d   P   t   r       +       T   ;  \r
0016400   \t   E   n   d   R   e   a   d   B   u   f   _       L   ;  \r
0016420   \t   L   _       R   e   a   d   P   t   r   ;  \r  \t   R   e
0016440    a   d   B   u   f   S   t   a   r   t   _       L   ;  \r  \r
0016460   \t   S   I   N   K   _       B   y   t   e   C   n   t   ,    
0016500    B   U   S   =   0   ;  \t  \t   C   h   e   c   k       f   o
0016520    r       n   o       r   e   a   d       b   u   f   f   e   r
0016540    .  \r  \t   :   R   e   a   d   L   o   o   p   ;  \t  \t  \t
0016560    [   R   e   a   d   L   o   o   p   ,       N   o   B   u   f
0016600    L   o   o   p   ]  \r  \r   R   e   a   d   L   o   o   p   :
0016620   \r  \t   L   _   T   R 376 001  \0   b 267   e   a   d   F   2
0016640    ,       T   A   S   K   ;  \t  \t   R   e   a   d       t   h
0016660    e       f   i   r   s   t       b   y   t   e       o   f    
0016700    t   h   i   s       w   o   r   d  \r  \t   R   e   a   d   T
0016720    a   p   e   D   a   t   a   _       L   L   C   Y   8   ,    
0016740    :   B   y   t   e   s   L   e   f   t   ;  \t       a   n   d
0016760        m   o   v   e       i   t       t   o       t   h   e    
0017000    t   o   p       h   a   l   f       o   f       t   h   e    
0017020    w   o   r   d   .  \r   ;  \t  \t  \t  \t  \t   [   B   y   t
0017040    e   s   L   e   f   t   ,       ,       B   y   t   e   s   G
0017060    o   n   e   E   v   e   n   ,       ]  \r  \r  \r   B   y   t
0017100    e   s   L   e   f   t   :  \r  \t   T   _       M   A   R   _
0017120        R   e   a   d   P   t   r       +       1   ;  \t  \t   S
0017140    t   a   r   t       m   e   m   o   r   y       o   p   e   r
0017160    a   t   i   o   n       a   t       R   e   a   d   P   t   r
0017200    +   1   .  \r  \t   L   _       E   n   d   R   e   a   d   B
0017220    u   f       -       T   ;  \t  \t   C   h 376 001  \0   * 327
0017240    e   c   k       t   o       s   e   e       i   f       t   h
0017260    i   s       i   s       t   h   e       l   a   s   t       w
0017300    o   r   d  \r   ;  \t  \t  \t  \t  \t       w   e       c   a
0017320    n       p   u   t       i   n       c   o   r   e   .  \r  \t
0017340    L   _       R   e   a   d   T   a   p   e   D   a   t   a   ,
0017360        T   R   e   a   d   F   1   ,       S   H   =   0   ;  \t
0017400    R   e   a   d       t   h   e       d   a   t   a       &    
0017420    A   N   D       i   t       w   i   t   h       p   r   e   v
0017440    i   o   u   s       b   y   t   e   .  \r  \t   M   D   _    
0017460    M   ,       L   _       T   ,       T   A   S   K   ,       :
0017500    B   y   t   e   s   L   e   f   t   1   ;  \t   P   u   t    
0017520    i   t       i   n       m   e   m   e   o   r   y   .  \r   ;
0017540   \t  \t  \t  \t   [   B   y   t   e   s   L   e   f   t   1   ,
0017560        B   y   t   e   s   L   e   f   t   B   u   f   G   o   n
0017600    e   ,       B   y   t   e   s   G   o   n   e   O   d   d   ,
0017620        B   y   t   e   s   G   o   n   e   O   d   d   B   u   f
0017640  376 001  \0   Y 027   G   o   n   e   ]  \r   B   y   t   e   s
0017660    L   e   f   t   1   :  \r  \t   R   e   a   d   P   t   r   _
0017700        L   ,       :   R   e   a   d   L   o   o   p   ;  \t  \t
0017720    S   a   v   e       t   h   e       n   e   w       r   e   a
0017740    d       p   o   i   n   t   e   r   .  \r  \r   B   y   t   e
0017760    s   L   e   f   t   B   u   f   G   o   n   e   :  \r  \t   R
0020000    e   a   d   P   t   r   _       L   ,       :   N   o   B   u
0020020    f   L   o   o   p   ;  \t   S   a   v   e       t   h   e    
0020040    p   o   i   n   t   e   r       f   o   r       l   a   s   t
0020060        b   y   t   e       c   o   m   p   u   t   a   t   i   o
0020100    n   .  \r  \r   N   o   B   u   f   L   o   o   p   :  \r  \t
0020120    N   O   P   ;  \r  \r   B   y   t   e   s   L   e   f   t   B
0020140    u   f   G   o   n   e   L   o   o   p   :  \r  \t   T   _    
0020160    4   ;  \t   S   e   t       u   p       t   o       s   e   e
0020200        i   f       d   a   t   a       b   u   s   y       h   a
0020220    s       g   o   n   e  \r  \t   L   _       T   S   t   a   t
0020240    u   s       .     376 001  \0 003   m   T   ;  \r  \t   T   _
0020260        B   y   t   e   C   n   t       +       1   ,       S   H
0020300    =   0   ;  \t  \t   I   n   c   r   e   m   e   n   t       t
0020320    h   e       b   y   t   e       c   o   u   n   t   .  \r  \t
0020340    S   I   N   K   _       T   R   e   a   d   F   2   ,       L
0020360    _       T   ,       T   A   S   K   ,       :   B   y   t   e
0020400    s   L   e   f   t   B   u   f   G   o   n   e   L   o   o   p
0020420    1   ;  \t   [   B   y   t   e   s   L   e   f   t   B   u   f
0020440    G   o   n   e   L   o   o   p   1   ,       B   a   i   l   O
0020460    u   t   ]  \r  \r   B   y   t   e   s   L   e   f   t   B   u
0020500    f   G   o   n   e   L   o   o   p   1   :  \r  \t   B   y   t
0020520    e   C   n   t   _       L   ,       :   B   y   t   e   s   L
0020540    e   f   t   B   u   f   G   o   n   e   L   o   o   p  \r   ;
0020560   \t  \t  \t  \t  \t   [   B   y   t   e   s   L   e   f   t   B
0020600    u   f   G   o   n   e   L   o   o   p   ,       ,       A   d
0020620    j   u   s   t   B   y   t   e   C   n   t   ,       ]  \r  \r
0020640   \r   B   y   t   e   s   G   o   n   e 376 001  \0 244 341   E
0020660    v   e   n   :  \r  \t   T   _       R   e   a   d   B   u   f
0020700    S   t   a   r   t   ;  \t  \t   C   a   l   c   u   l   a   t
0020720    e       n   u   m   b   e   r       o   f       b   y   t   e
0020740    s       t   r   a   n   s   f   e   r   e   d   .  \r  \t   L
0020760    _       R   e   a   d   P   t   r       -       T   ;  \r  \t
0021000    B   y   t   e   C   n   t   _       L   L   S   H   1   ,    
0021020    :   R   e   a   d   D   o   n   e   ;  \r  \r   B   y   t   e
0021040    s   G   o   n   e   O   d   d   B   u   f   G   o   n   e   :
0021060   \r  \t   R   e   a   d   P   t   r   _       L   ,       :   B
0021100    y   t   e   s   G   o   n   e   O   d   d   1   ;  \r  \r   B
0021120    y   t   e   s   G   o   n   e   O   d   d   :  \r  \t   R   e
0021140    a   d   P   t   r   _       L   ,       :   B   y   t   e   s
0021160    G   o   n   e   O   d   d   1   ;  \r  \r   B   y   t   e   s
0021200    G   o   n   e   O   d   d   1   :  \r  \t   T   _       R   e
0021220    a   d   B   u   f   S   t   a   r   t   ;  \t  \t   C   a   l
0021240    c   u   l   a   t   e       n   u   m   b   e   r       o 376
0021260  001  \0 032   |   f       b   y   t   e   s       t   r   a   n
0021300    s   f   e   r   e   d   .  \r  \t   L   _       R   e   a   d
0021320    P   t   r       -       T   ;  \r  \t   B   y   t   e   C   n
0021340    t   _       L   L   S   H   1   ,       :   A   d   j   u   s
0021360    t   B   y   t   e   C   n   t   ;  \r  \r   B   a   i   l   O
0021400    u   t   :  \r  \t   B   y   t   e   C   n   t   _       L   ;
0021420   \r  \r   A   d   j   u   s   t   B   y   t   e   C   n   t   :
0021440   \r  \t   L   _       B   y   t   e   C   n   t       -       1
0021460    ;  \r  \t   B   y   t   e   C   n   t   _       L   ,       :
0021500    R   e   a   d   D   o   n   e   ;  \r  \r   R   e   a   d   D
0021520    o   n   e   :  \r  \t   T   _       B   y   t   e   C   o   u
0021540    n   t   O   f   f   s   e   t   ;  \t   P   r   e   p   a   r
0021560    e       t   o       s   t   o   r   e       t   h   e       b
0021600    y   t   e       c   o   u   n   t   .  \r  \t   M   A   R   _
0021620        T   C   B   B   a   s   e       +       T   ;  \r  \t   T
0021640    A   S   K   ;  \r  \t   M   D   _       B   y   t   e   C   n
0021660    t   ,       : 376 001  \0 224   n   O   p   E   n   d   ;  \r
0021700   \r  \r  \f  \r  \r   ;  \r   ;       R   e   a   d       R   e
0021720    v   e   r   s   e       D   a   t   a       o   p   e   r   a
0021740    t   i   o   n   .  \r   ;  \r   ;  \r   ;       R   e   a   d
0021760    R   e   v       a   s   s   u   m   e   s       t   h   a   t
0022000        R   e   a   d   P   t   r       c   o   n   t   a   i   n
0022020    s       t   h   e       s   t   a   r   t   i   n   g       a
0022040    d   d   r   e   s   s       o   f       t   h   e       r   e
0022060    a   d       b   u   f   f   e   r       -       1  \r   ;    
0022100    a   n   d       t   h   a   t       R   d   B   u   f   S   i
0022120    z   e       c   o   n   t   a   i   n   s       t   h   e    
0022140    n   u   m   b   e   r       o   f       W   O   R   D   S    
0022160    i   n       t   h   e       r   e   a   d       b   u   f   f
0022200    e   r   .  \r   ;  \r   ;       T   h   e       h   a   r   d
0022220    w   a   r   e       p   r   o   v   i   d   e   s       a    
0022240    f   o   r   c   e       o   f       N   E   X   T   8       w
0022260    h   e   n       a       _   T   R 376 001  \0   G 266   e   a
0022300    d   F   1       o   r       _   T   R   e   a   d   F   2    
0022320    e   n   c   o   u   n   t   e   r   s  \r   ;           n   o
0022340        m   o   r   e       d   a   t   a       t   o       b   e
0022360        t   r   a   n   s   f   e   r   e   d   .      \r   ;    
0022400        T   h   u   s       e   v   e   r   y       i   n   s   t
0022420    r   u   c   t   i   o   n       t   h   a   t       e   x   e
0022440    c   u   t   e   s       a       _   T   R   e   a   d   F   1
0022460        o   r       _   T   R   e   a   d   F   2       m   u   s
0022500    t       h   a   v   e       a       b   r   a   n   c   h  \r
0022520    ;           i   n       t   h   e       i   n   s   t   r   u
0022540    c   t   i   o   n       f   o   l   l   o   w   i   n   g    
0022560    t   h   a   t       g   o   e   s       t   o       t   h   e
0022600        e   n   d       o   f       d   a   t   a       r   o   u
0022620    t   i   n   e   .  \r  \r   R   e   a   d   R   e   v   :  \r
0022640   \t   :   B   a   d   C   m   d   ;  \r   R   e   a   d   R   e
0022660    v   E   d   i   t   :  \r  \t   :   B   a   d   C   m 376 001
0022700   \0 354   p   d   ;  \r  \r  \r  \f  \r   ;  \r   ;       W   r
0022720    i   t   e       t   y   p   e       O   p   e   r   a   t   i
0022740    o   n   s  \r   ;  \r   W   r   i   t   e   E   o   f   :  \r
0022760   \t   T   _       F   i   l   e   P   r   o   t   e   c   t   B
0023000    i   t   ;  \r  \t   L   _       T   S   t   a   t   u   s    
0023020    A   N   D       T   ;  \r  \t   S   H   =   0   ;  \r  \t   :
0023040    W   r   i   t   e   E   r   r   o   r   3   ;  \t   [   W   r
0023060    i   t   e   E   r   r   o   r   3   ,       W   r   i   t   e
0023100    E   o   f   1   ]  \r  \r   W   r   i   t   e   E   o   f   1
0023120    :  \r  \t   B   L   O   C   K   ,       :   N   o   D   a   t
0023140    a   O   P   ;  \r  \t  \r   W   r   i   t   e   F   w   d   :
0023160   \r  \t   :   W   r   i   t   e   O   p   ;  \r  \r   W   r   i
0023200    t   e   E   d   i   t   :  \r  \t   :   W   r   i   t   e   O
0023220    p   ;  \r  \r   W   r   i   t   e   O   p   :  \r  \t   T   _
0023240        F   i   l   e   P   r   o   t   e   c   t   B   i   t   ;
0023260   \r  \t   L   _       T   S   t   a   t   u   s       A   N   D
0023300        T   ; 376 001  \0 356 032  \r  \t   S   H   =   0   ;  \r
0023320   \t   :   W   r   i   t   e   E   r   r   o   r   ;  \t   [   W
0023340    r   i   t   e   E   r   r   o   r   ,       W   r   i   t   e
0023360    O   p   1   ]  \r  \r   W   r   i   t   e   O   p   1   :  \r
0023400   \t   E   n   W   r   i   t   e   ,       T   A   S   K   ;  \r
0023420   \t   N   O   P   ;  \r  \t   G   o   C   m   d   _       G   O
0023440    ;  \r  \t   N   O   P   ;  \r  \t   N   O   P   ;  \r  \t   N
0023460    O   P   ;  \r  \t   N   O   P   ;  \r  \t   N   O   P   ;  \r
0023500   \t   G   o   C   m   d   _       Z   e   r   o   C   m   d   ;
0023520   \r  \t   N   O   P   ;  \t  \t   C   h   e   c   k       f   o
0023540    r       f   o   r   m   a   t   t   e   r       b   u   s   y
0023560    .  \r  \t   T   _       F   m   t   B   u   s   y   ;  \r  \t
0023600    L   _       T   S   t   a   t   u   s       A   N   D       T
0023620    ;  \r  \t   S   H   =   0   ;  \r  \t   :   W   r   i   t   e
0023640    O   p   2   ;  \t   [   W   r   i   t   e   O   p   2   ,    
0023660    H   a   r   d   W   a   r   e   E   r   r   o   r   5   ]  \r
0023700   \r   W   r   i   t   e   O   p 376 001  \0   \ 307   2   :  \r
0023720   \t   T   _       R   e   a   d   A   f   t   e   r   W   r   i
0023740    t   e   B   i   t   ,       B   L   O   C   K   ;  \t   C   h
0023760    e   c   k       f   o   r       r   e   a   d       a   f   t
0024000    e   r       w   r   i   t   e   .  \r  \t   L   _       C   o
0024020    m   m   a   n   d       A   N   D       T   ;  \r  \t   S   H
0024040    =   0   ;  \r  \t   :   R   e   a   d   D   a   t   a   F   w
0024060    d   2   ;  \t   [   R   e   a   d   D   a   t   a   F   w   d
0024100    2   ,       N   o   R   e   a   d   A   f   t   e   r   ]  \r
0024120   \r   N   o   R   e   a   d   A   f   t   e   r   :  \r  \t   T
0024140    A   S   K   ;  \r  \t   :   O   p   E   n   d   ;  \r  \r   E
0024160    r   a   s   e   :  \r  \t   T   _       F   i   l   e   P   r
0024200    o   t   e   c   t   B   i   t   ;  \r  \t   L   _       T   S
0024220    t   a   t   u   s       A   N   D       T   ;  \r  \t   S   H
0024240    =   0   ;  \r  \t   :   W   r   i   t   e   E   r   r   o   r
0024260    1   ;  \t   [   W   r   i   t   e   E   r   r   o   r   1   ,
0024300        E   r   a   s   e   1   ]  \r  \r   E   r   a 376 001  \0
0024320  305   '   s   e   1   :  \r  \t   B   L   O   C   K   ,       :
0024340    N   o   D   a   t   a   O   P   ;  \r  \r   E   r   a   s   e
0024360    V   a   r   :  \r  \t   T   _       F   i   l   e   P   r   o
0024400    t   e   c   t   B   i   t   ;  \r  \t   L   _       T   S   t
0024420    a   t   u   s       A   N   D       T   ;  \r  \t   S   H   =
0024440    0   ;  \r  \t   :   W   r   i   t   e   E   r   r   o   r   2
0024460    ;  \t   [   W   r   i   t   e   E   r   r   o   r   2   ,    
0024500    E   r   a   s   e   V   a   r   1   ]  \r  \r   E   r   a   s
0024520    e   V   a   r   1   :  \r  \t   G   o   C   m   d   _       G
0024540    O   ;  \r  \t   N   O   P   ;  \r  \t   N   O   P   ;  \r  \t
0024560    N   O   P   ;  \r  \t   N   O   P   ;  \r  \t   N   O   P   ;
0024600   \r  \t   G   o   C   m   d   _       Z   e   r   o   C   m   d
0024620    ;  \r  \t   N   O   P   ;  \t  \t   C   h   e   c   k       f
0024640    o   r       f   o   r   m   a   t   t   e   r       b   u   s
0024660    y   .  \r  \t   T   _       F   m   t   B   u   s   y   ;  \r
0024700   \t   L   _       T   S   t   a   t   u   s       A   N   D    
0024720    T   ; 376 001  \0   p   R  \r  \t   S   H   =   0   ;  \r  \t
0024740    :   E   r   a   s   e   V   a   r   2   ;  \t   [   E   r   a
0024760    s   e   V   a   r   2   ,       H   a   r   d   W   a   r   e
0025000    E   r   r   o   r   4   ]  \r   E   r   a   s   e   V   a   r
0025020    2   :  \r  \t   B   L   O   C   K   ;  \r  \t   E   n   W   r
0025040    i   t   e   ,       T   A   S   K   ;  \r  \t   :   O   p   E
0025060    n   d   ;  \r  \r   W   r   i   t   e   E   r   r   o   r   :
0025100   \r  \t   :   W   r   i   t   e   E   r   r   o   r   2   ;  \r
0025120   \r   W   r   i   t   e   E   r   r   o   r   1   :  \r  \t   :
0025140    W   r   i   t   e   E   r   r   o   r   2   ;  \r  \r   W   r
0025160    i   t   e   E   r   r   o   r   3   :  \r  \t   :   W   r   i
0025200    t   e   E   r   r   o   r   2   ;  \r  \r   W   r   i   t   e
0025220    E   r   r   o   r   2   :  \r  \t   T   _       S   t   a   t
0025240    u   s   M   a   s   k   ;  \t  \t   B   u   i   l   d       S
0025260    t   a   t   u   s   .  \r  \t   L   _       T   S   t   a   t
0025300    u   s           .       T   ;  \r  \t   T   _       S   t   a
0025320    t   u   s   O   f   f   s 376 001  \0   K   +   e   t   ;  \r
0025340   \t   M   A   R   _       T   C   B   B   a   s   e       +    
0025360    T   ;  \r  \t   T   _       M   ,       B   L   O   C   K   ;
0025400   \r  \t   L   _       2       O   R       T   ,       T   A   S
0025420    K   ;  \t  \t   S   e   t       t   h   e       W   r   i   t
0025440    e       E   r   r   o   r       b   i   t  \r  \t   M   D   _
0025460        M   ,       :   T   a   p   e   ;  \r  \f  \r   ;  \r   ;
0025500        E   r   r   o   r   s  \r   ;  \r   H   a   r   d   W   a
0025520    r   e   E   r   r   o   r   :  \r  \t   :   H   a   r   d   W
0025540    a   r   e   E   r   r   o   r   2   ;  \r   H   a   r   d   W
0025560    a   r   e   E   r   r   o   r   1   :  \r  \t   :   H   a   r
0025600    d   W   a   r   e   E   r   r   o   r   2   ;  \r   H   a   r
0025620    d   W   a   r   e   E   r   r   o   r   4   :  \r  \t   :   H
0025640    a   r   d   W   a   r   e   E   r   r   o   r   2   ;  \r   H
0025660    a   r   d   W   a   r   e   E   r   r   o   r   5   :  \r  \t
0025700    :   H   a   r   d   W   a   r   e   E   r   r   o   r   2   ;
0025720   \r   H   a   r   d   W   a   r   e   E   r   r 376  \0 250   f
0025740  315   o   r   2   :  \r  \t   T   _       S   t   a   t   u   s
0025760    M   a   s   k   ;  \t  \t   B   u   i   l   d       S   t   a
0026000    t   u   s   .  \r  \t   L   _       T   S   t   a   t   u   s
0026020            .       T   ;  \r  \t   T   _       S   t   a   t   u
0026040    s   O   f   f   s   e   t   ;  \r  \t   M   A   R   _       T
0026060    C   B   B   a   s   e       +       T   ;  \r  \t   T   _    
0026100    M   ,       B   L   O   C   K   ;  \r  \t   L   _       4    
0026120    O   R       T   ;  \t  \t   S   e   t       t   h   e       H
0026140    a   r   d   w   a   r   e       E   r   r   o   r       b   i
0026160    t  \r  \t   M   D   _       M   ;  \r  \t   T   A   S   K   ;
0026200   \r  \t   :   T   a   p   e   ;  \r 377  \0  \0   D   D   T   a
0026220    p   e   W   r   i   t   e   T   a   s   k   .   m   u  \0 373
0026240  226 315   E 356  \0  \0 376 001  \0   p 226   ;       D   D   T
0026260    a   p   e   W   r   i   t   e   T   a   s   k   .   m   u    
0026300        -   -       T   a   p   e       M   i   c   r   o   c   o
0026320    d   e       f   o   r       t   h   e       A   l   t   o    
0026340    D   o   u   b   l   e       D   e   n   s   i   t   y       T
0026360    a   p   e       C   o   n   t   r   o   l   l   e   r  \r   ;
0026400        C   o   p   y   r   i   g   h   t       X   e   r   o   x
0026420        C   o   r   p   o   r   a   t   i   o   n       1   9   8
0026440    0  \r  \r   ;       B   o   d   y       o   f       T   a   p
0026460    e       C   o   n   t   r   o   l   l   e   r       w   r   i
0026500    t   e       t   a   s   k       m   i   c   r   o   c   o   d
0026520    e       -   -       r   e   q   u   i   r   e   s       d   e
0026540    f   i   n   i   t   i   o   n   s       i   n       D   D   T
0026560    a   p   e   D   e   f   s   .   m   u  \r   ;  \r   ;       L
0026600    a   s   t       m   o   d   i   f   i   e   d       b   y    
0026620    T   i   m       D   i   e   b   e   r   t   ,       M   a   r
0026640    c   h       4   ,       1   9   8   1     376 001  \0   ^ 206
0026660        1   1   :   3   2       A   M  \r   ;      \r   ;       B
0026700    r   a   n   c   h       C   o   n   d   i   t   i   o   n   a
0026720    l   s  \r   !   1   ,       2   ,       E   r   a   s   e   D
0026740    a   t   a   O   p   ,       W   r   i   t   e   D   a   t   a
0026760    ;  \r   !   1   ,       2   ,       W   r   i   t   e   B   y
0027000    t   e   ,       W   r   i   t   e   A   l   m   o   s   t   L
0027020    a   s   t   B   y   t   e   ;  \r   !   1   ,       2   ,    
0027040    W   r   i   t   e   T   w   o   ,       W   r   i   t   e   O
0027060    n   e   ;  \r   !   1   ,       2   ,       E   r   a   s   e
0027100    D   a   t   a   ,       E   r   a   s   e   D   o   n   e   ;
0027120   \r   !   1   ,       2   ,       W   r   i   t   e   ,       W
0027140    r   i   t   e   1   ;  \r  \r   ;       W   r   i   t   e    
0027160    l   o   o   p  \r   ;                       T   a   s   k    
0027200    5  \r   ;  \r   ;       W   r   i   t   e       e   x   p   e
0027220    c   t   s       t   h   e       f   o   l   l   o   w   i   n
0027240    g       r   e   g   i   s   t   e   r   s       t   o       b
0027260  376 001  \0 371 322   e       l   o   a   d   e   d   .  \r   ;
0027300        B   y   t   e   C   n   t       s   h   o   u   l   d    
0027320    c   o   n   t   a   i   n       t   h   e       n   u   m   b
0027340    e   r       o   f       b   y   t   e   s       t   o       b
0027360    e       w   r   i   t   t   e   n   .  \r   ;       W   o   r
0027400    d   C   n   t       m   u   s   t       n   o   t       c   o
0027420    n   t   a   i   n       a   n   y       u   s   e   f   u   l
0027440    l       d   a   t   a   .  \r   ;       W   r   t   P   t   r
0027460        p   o   i   n   t   s       t   o       t   h   e       f
0027500    i   r   s   t       w   o   r   d       t   o       b   e    
0027520    t   r   a   n   s   f   e   r   e   d       -       1   .  \r
0027540   \r   W   r   i   t   e   T   a   s   k   :  \r  \t   N   O   P
0027560    ;  \r  \r   W   r   i   t   e   :  \r  \t   G   o   C   m   d
0027600    _       Z   e   r   o   C   m   d   ;  \t   T   e   l   l    
0027620    t   h   e       r   e   a   d       t   a   s   k       w   e
0027640        u   n   d   e   r   s   t   a   n   d       a   n   d    
0027660    a   r   e       r 376 001  \0 005 226   e   s   e   t   .  \r
0027700   \t   T   A   S   K   ;  \r  \t   N   O   P   ;  \t   T   H   I
0027720    S       I   S       W   H   E   R   E       T   H   E       W
0027740    R   I   T   E       T   A   S   K       S   H   O   U   L   D
0027760        B   E       A   F   T   E   R       T   H   E       R   E
0030000    S   E   T   .  \r  \r  \t   T   _       R   e   s   e   t   W
0030020    r   i   t   e   T   a   s   k   ;  \t   W   a   i   t       f
0030040    o   r       w   r   i   t   e       t   a   s   k       t   o
0030060        r   e   s   e   t   .  \r  \t   L   _       T   S   t   a
0030100    t   u   s       A   N   D       T   ;  \r  \t   T   A   S   K
0030120    ,       S   H   =   0   ;  \r  \t   :   W   r   i   t   e   ;
0030140   \t   [   W   r   i   t   e   ,       W   r   i   t   e   1   ]
0030160   \r  \r   W   r   i   t   e   1   :  \r  \t   T   _       I   E
0030200    r   a   s   e   ;  \r  \t   L   _       C   o   m   m   a   n
0030220    d       A   N   D       T   ;  \r  \t   L   _       W   r   i
0030240    t   e   B   y   t   e   C   n   t   ,       S   H   =   0   ;
0030260   \t   B   u   i   l   d       t   h   e 376 001  \0 221   A    
0030300    w   o   r   d       c   o   u   n   t       a   n   d       t
0030320    h   e       l   o   w       o   r   d   e   r       b   i   t
0030340        o   f       t   h   e       b   y   t   e       c   o   u
0030360    n   t   .  \r  \t   W   r   i   t   e   W   o   r   d   C   n
0030400    t   _       L   R   S   H   1   ,       :   E   r   a   s   e
0030420    D   a   t   a   O   p   ;  \t   [   E   r   a   s   e   D   a
0030440    t   a   O   p   ,       W   r   i   t   e   D   a   t   a   ]
0030460   \r  \r   W   r   i   t   e   D   a   t   a   :  \r  \t   T   _
0030500        B   y   t   e   C   o   u   n   t   O   f   f   s   e   t
0030520    ;  \r  \t   M   A   R   _       T   C   B   B   a   s   e    
0030540    +       T   ;  \r  \t   T   A   S   K   ;  \r  \t   M   D   _
0030560        W   r   i   t   e   B   y   t   e   C   n   t   ;  \r  \r
0030600   \t   T   _       W   r   i   t   e   B   y   t   e   C   n   t
0030620    ;  \r  \t   L   _       W   r   i   t   e   W   o   r   d   C
0030640    n   t       -       1   ;       D   e   c   r   e   m   e   n
0030660    t       t   h   e       w   o   r   d       c   o   u   n 376
0030700  001  \0   O  \r   t       b   y       1   .  \r  \t   W   r   i
0030720    t   e   W   o   r   d   C   n   t   _       L   ;  \r  \t   L
0030740    _       1       A   N   D       T   ;  \r  \t   W   r   i   t
0030760    e   B   y   t   e   C   n   t   _       L   ;  \r  \r   ;    
0031000    T   h   e       w   r   i   t   e       l   o   o   p       w
0031020    o   r   k   s       a   s       f   o   l   l   o   w   s   .
0031040        T   h   e       m   a   i   n       l   o   o   p       i
0031060    s       e   x   e   c   u   t   e   d       u   n   t   i   l
0031100        4       o   r       5       b   y   t   e   s  \r   ;    
0031120    r   e   m   a   i   n   .       T   h   e   n       W   r   i
0031140    t   e   A   l   m   o   s   t   L   a   s   t   B   y   t   e
0031160        i   s       e   n   t   e   r   e   d   .       T   h   e
0031200        l   a   s   t       w   o   r   d       k   n   o   w   n
0031220        n   o   t       t   o       c   o   n   t   a   i   n    
0031240    t   h   e      \r   ;       l   a   s   t       b   y   t   e
0031260        i   s       w   r   i   t   t   e   n   .       T   h   e
0031300        f   i   r 376 001  \0   b 274   s   t       b   y   t   e
0031320        o   f       t   h   e       w   o   r   d       t   h   a
0031340    t       m   a   y       c   o   n   t   a   i   n       t   h
0031360    e       l   a   s   t       b   y   t   e       i   s       w
0031400    r   i   t   t   e   n  \r   ;       w   h   i   l   e       a
0031420        c   h   e   c   k       f   o   r       o   d   d       b
0031440    y   t   e       i   s       d   o   n   e   .       A   t    
0031460    t   h   i   s       p   o   i   n   t       t   h   e       l
0031500    a   s   t       b   y   t   e       i   s       w   r   i   t
0031520    t   e   n       o   r       t   h   e       l   a   s   t    
0031540    2  \r   ;       b   y   t   e   s       a   r   e       w   r
0031560    i   t   t   e   n       s   o       t   h   e       h   a   r
0031600    d   w   a   r   e       c   a   n       b   e       t   o   l
0031620    d       w   h   e   n       t   o       s   e   n   d       L
0031640    a   s   t   W   o   r   d       t   o       t   h   e       f
0031660    o   r   m   a   t   t   e   r   .  \r   W   r   i   t   e   L
0031700    o   o   p   :  \r  \t   T   _     376 001  \0   ^   =   M   A
0031720    R   _       W   r   i   t   e   P   t   r       +       1   ;
0031740   \t   S   t   a   r   t       m   e   m   o   r   y       r   e
0031760    f   e   r   e   n   c   e  \r  \t   L   _       W   r   i   t
0032000    e   W   o   r   d   C   n   t       -       1   ;  \t   D   e
0032020    c   r   e   m   e   n   t       t   h   e       b   y   t   e
0032040        c   o   u   n   t  \r  \t   W   r   i   t   e   W   o   r
0032060    d   C   n   t   _       L   ,       L   _       T   ,       S
0032100    H   =   0   ;  \r  \t   W   r   i   t   e   P   t   r   _    
0032120    L   ,       :   W   r   i   t   e   B   y   t   e   ;  \t   [
0032140    W   r   i   t   e   B   y   t   e   ,       W   r   i   t   e
0032160    A   l   m   o   s   t   L   a   s   t   B   y   t   e   ]  \r
0032200    W   r   i   t   e   B   y   t   e   :  \r  \t   L   _       T
0032220    W   r   i   t   e   _       M   D   ,       T   A   S   K   ;
0032240   \r  \t   W   r   i   t   e   T   a   p   e   D   a   t   a   _
0032260        L   L   C   Y   8   ;  \r  \t   T   W   r   i   t   e   _
0032300        W   r   i   t   e   T   a   p   e   D   a   t   a 376 001
0032320   \0 210 334   ,       T   A   S   K   ;  \r  \t   :   W   r   i
0032340    t   e   L   o   o   p   ;  \r  \r   W   r   i   t   e   A   l
0032360    m   o   s   t   L   a   s   t   B   y   t   e   :  \r  \t   L
0032400    _       T   W   r   i   t   e   _       M   D   ,       T   A
0032420    S   K   ;  \t   W   r   i   t   e       b   y   t   e       n
0032440    -   4       o   r       n   -   3  \r  \t   W   r   i   t   e
0032460    T   a   p   e   D   a   t   a   _       L   L   C   Y   8   ;
0032500   \r  \t   T   W   r   i   t   e   _       W   r   i   t   e   T
0032520    a   p   e   D   a   t   a   ,       T   A   S   K   ;  \t  \r
0032540   \t   N   O   P   ;  \r  \t   L   _       M   A   R   _       W
0032560    r   i   t   e   P   t   r       +       1   ;  \t   S   t   a
0032600    r   t       m   e   m   o   r   y       r   e   f   e   r   e
0032620    n   c   e  \r  \t   W   r   i   t   e   P   t   r   _       L
0032640    ;  \r  \t   S   I   N   K   _       W   r   i   t   e   B   y
0032660    t   e   C   n   t   ,       B   U   S   =   0   ;  \r  \t   L
0032700    _       T   W   r   i   t   e   _       M   D   ,       :   W
0032720    r   i   t 376 001  \0 253 271   e   T   w   o   ;  \t   [   W
0032740    r   i   t   e   T   w   o   ,       W   r   i   t   e   O   n
0032760    e   ]       W   r   i   t   e       b   y   t   e       n   -
0033000    2       o   r       n   -   1  \r   W   r   i   t   e   O   n
0033020    e   :  \r  \t   T   A   S   K   ;  \r  \t   W   r   i   t   e
0033040    T   a   p   e   D   a   t   a   _       L   L   C   Y   8   ;
0033060   \r  \t   T   L   a   s   t   B   y   t   e   _       W   r   i
0033100    t   e   T   a   p   e   D   a   t   a   ;  \t   W   r   i   t
0033120    e       b   y   t   e       n   .  \r  \t   :   W   r   i   t
0033140    e   D   o   n   e   ;  \r  \r   W   r   i   t   e   T   w   o
0033160    :  \r  \t   T   A   S   K   ;  \r  \t   W   r   i   t   e   T
0033200    a   p   e   D   a   t   a   _       L   L   C   Y   8   ;  \r
0033220   \t   T   W   r   i   t   e   _       W   r   i   t   e   T   a
0033240    p   e   D   a   t   a   ,       T   A   S   K   ;  \r  \t   N
0033260    O   P   ;  \r  \t   L   _       M   A   R   _       W   r   i
0033300    t   e   P   t   r       +       1   ;  \t   S   t   a   r   t
0033320        m   e   m   o   r   y     376 001  \0 227 223   r   e   f
0033340    e   r   e   n   c   e  \r  \t   N   O   P   ;  \r  \t   T   L
0033360    a   s   t   B   y   t   e   _       M   D   ;  \t   W   r   i
0033400    t   e       b   y   t   e       n   .  \r  \r  \t   L   _    
0033420    A   L   L   O   N   E   S   ;  \r  \t   M   A   R   _       T
0033440    C   B   B   a   s   e   ;  \r  \t   T   A   S   K   ;  \r  \t
0033460    M   D   _       M   ,       :   W   r   i   t   e   D   o   n
0033500    e   ;  \r  \r   E   r   a   s   e   D   a   t   a   O   p   :
0033520   \r  \t   W   r   i   t   e   T   a   p   e   D   a   t   a   _
0033540        0   ;  \r   E   r   a   s   e   D   a   t   a   :  \r  \t
0033560    T   A   S   K   ;  \r  \t   N   O   P   ;  \r  \t   L   _    
0033600    W   r   i   t   e   B   y   t   e   C   n   t       -       1
0033620    ;  \r  \t   W   r   i   t   e   B   y   t   e   C   n   t   _
0033640        L   ,       S   H   =   0   ;  \r  \t   T   W   r   i   t
0033660    e   _       W   r   i   t   e   T   a   p   e   D   a   t   a
0033700    ,       :   E   r   a   s   e   D   a   t   a   ;  \t   [   E
0033720    r   a   s   e   D   a   t   a   ,       E   r   a 376  \0   `
0033740  374 316   s   e   D   o   n   e   ]  \r  \r   E   r   a   s   e
0033760    D   o   n   e   :  \r  \t   T   A   S   K   ;  \r  \t   N   O
0034000    P   ;  \r  \t   T   L   a   s   t   B   y   t   e   _       W
0034020    r   i   t   e   T   a   p   e   D   a   t   a   ;  \r  \t   :
0034040    W   r   i   t   e   D   o   n   e   ;  \r  \r   W   r   i   t
0034060    e   D   o   n   e   :  \r  \t   :   W   r   i   t   e   ;  \t
0034100   \r  \r 377  \0  \0   D   D   T   a   p   e   D   e   f   s   .
0034120    m   u  \0 373 226 315   (   V  \0  \0 376 001  \0 023 273   ;
0034140        F   I   L   E   :       '       D   D   T   a   p   e   D
0034160    e   f   s   .   m   u       '  \r   ;      \r   ;       L   a
0034200    s   t       m   o   d   i   f   i   e   d       b   y       T
0034220    i   m       D   i   e   b   e   r   t   ,       M   a   r   c
0034240    h       4   ,       1   9   8   1           9   :   2   6    
0034260    A   M  \r   ;  \r  \r  \r  \r   ;       R   e   a   d       t
0034300    a   s   k       f   u   n   c   t   i   o   n   s  \r  \r   $
0034320    G   o   C   m   d  \t  \t   $   L   0   2   0   0   1   5   ,
0034340    0   0   0   0   0   0   ,   1   2   0   0   0   0   ;  \t   F
0034360    1   =   1   5           G   o   C   m   d   _  \r   $   F   m
0034400    t   C   m   d  \t   $   L   0   2   0   0   1   6   ,   0   0
0034420    0   0   0   0   ,   1   2   0   0   0   0   ;  \t   F   1   =
0034440    1   6           F   m   t   C   m   d   _  \r   $   R   e   s
0034460    e   t  \t  \t   $   L   0   1   6   0   1   7   ,   0   0   0
0034500    0   0   0   ,   0   0   0   0   0   0   ;  \t   F   1   =   1
0034520    7           R   e   s   e   t  \r   $   E   n   W   r   i 376
0034540  001  \0   ` 272   t   e  \t   $   L   0   2   4   0   1   1   ,
0034560    0   0   0   0   0   0   ,   0   0   0   0   0   0   ;  \t   F
0034600    2   =   1   1           E   n   a   b   l   e       W   r   i
0034620    t   e       W   o   r   d       T   a   s   k  \r   $   T   R
0034640    e   a   d   F   1  \t   $   L   0   1   6   0   1   4   ,   0
0034660    7   0   0   1   4   ,   0   0   0   1   0   0   ;  \t   F   1
0034700    =   1   4   ,       B   S   =   2   ,       B   u   s       A
0034720    N   D       _       T   R   e   a   d   F   1  \r   $   T   R
0034740    e   a   d   F   2  \t   $   L   0   2   4   0   1   7   ,   0
0034760    6   6   0   1   7   ,   0   0   0   1   0   0   ;  \t   F   2
0035000    =   1   7   ,       B   S   =   2   ,       B   u   s       A
0035020    N   D       _       T   R   e   a   d   F   2  \r  \r   $   S
0035040    I   O   9   R   e   s   e   t  \t   $   L   0   2   4   0   1
0035060    2   ,   0   0   0   0   0   0   ,   0   0   0   0   0   0   ;
0035100   \t   F   2   =   1   2           R   e   s   e   t       S   I
0035120    O       b   i   t       9       s   t   a   r   t   e   d    
0035140    w   a   k   e 376 001  \0   J  \f   u   p  \r   $   E   n   R
0035160    e   a   d  \t  \t   $   L   0   2   4   0   1   3   ,   0   0
0035200    0   0   0   0   ,   0   0   0   0   0   0   ;  \t   F   2   =
0035220    1   3           E   n   a   b   l   e       r   e   a   d    
0035240    t   a   s   k  \r   $   T   S   t   a   t   u   s  \t  \t   $
0035260    L   0   0   0   0   0   0   ,   0   6   6   0   1   4   ,   0
0035300    0   0   1   0   0   ;  \t   F   2   =   1   4   ,       B   S
0035320    =   2       _       T   S   t   a   t   u   s  \r  \r   ;    
0035340    W   r   i   t   e       t   a   s   k       f   u   n   c   t
0035360    i   o   n   s   .  \r  \r   $   T   W   r   i   t   e  \t  \t
0035400    $   L   0   2   6   0   1   5   ,   0   0   0   0   0   0   ,
0035420    1   2   0   0   0   0   ;  \t   F   2   =   1   5           T
0035440    W   r   i   t   e   _  \r   $   T   L   a   s   t   B   y   t
0035460    e  \t   $   L   0   2   6   0   1   6   ,   0   0   0   0   0
0035500    0   ,   1   2   0   0   0   0   ;  \t   F   2   =   1   6    
0035520        T   L   a   s   t   B   y   t   e   _  \r  \r   ;   T   a
0035540    p   e       c   o   n   t   r   o 376 001  \0 316 310   l   l
0035560    e   r       c   o   n   s   t   a   n   t   s  \r  \r   $   F
0035600    o   r   c   e   d   R   e   s   e   t  \t   $   1   ;  \t   F
0035620    o   r   c   e       R   e   s   e   t       F   F       b   i
0035640    t  \r   $   R   e   s   e   t   W   r   i   t   e   T   a   s
0035660    k  \t   $   2   ;  \t   F   o   r   c   e       R   e   s   e
0035700    t       W   r   i   t   e       T   a   s   k       F   F    
0035720    b   i   t  \r   $   Z   e   r   o   C   m   d  \t   $   2   0
0035740    ;  \t   R   e   s   e   t       C   o   m   m   a   n   d    
0035760    r   e   g       w   i   t   h   o   u   t       s   c   r   e
0036000    w   i   n   g       i   t       u   p       d   u   e       t
0036020    o       b   u   s       s   e   x       c   h   a   n   g   e
0036040    .  \r   $   R   e   s   e   t   F   M   T   E   n   b   l  \t
0036060    $   0   ;  \t   R   e   s   e   t       F   o   r   m   a   t
0036100    t   e   r       E   n   a   b   l   e       F   l   i   p    
0036120    f   l   o   p  \r   $   S   e   t   F   M   T   E   n   b   l
0036140   \t   $   3   0   ;  \t   S   e   t       F   o   m   a 376 001
0036160   \0       7   t   t   e   r       E   n   a   b   l   e       F
0036200    l   i   p       f   l   o   p  \r   $   S   e   t   R   e   s
0036220    e   t   W   r   i   t   e   T   a   s   k  \t   $   6   0   ;
0036240   \t   S   e   t       R   e   s   e   t       W   r   i   t   e
0036260        T   a   s   k       F   l   i   p       f   l   o   p  \r
0036300    $   R   d   y   O   n   l  \t  \t   $   1   4   0   0   0   0
0036320    ;  \t   D   r   i   v   e       R   e   a   d   y       a   n
0036340    d       O   n   L   i   n   e  \r   $   N   o   O   p   C   m
0036360    d  \t   $   3   7   ;  \t   N   o   O   p       c   o   m   m
0036400    a   n   d       v   a   l   u   e  \r   $   S   t   a   t   u
0036420    s   M   a   s   k  \t   $   1   7   7   7   6   0   ;  \t   M
0036440    a   s   k       o   f   f       t   h   e       u   n   n   e
0036460    e   d   e   d       s   t   u   f   f  \r   $   R   e   w   i
0036500    n   d   C   m   d  \t   $   2   1   ;  \t   H   a   r   d   w
0036520    a   r   e       R   e   w   i   n   d  \r   $   U   n   l   o
0036540    a   d   C   m   d  \t   $   2   2   ;  \t   H   a   r   d   w
0036560    a   r   e 376 001  \0   \ 257       U   n   l   o   a   d  \r
0036600    $   G   O  \t  \t   $   2   4   ;  \t   G   O       t   o    
0036620    t   h   e       f   o   r   m   a   t   t   e   r  \r   $   F
0036640    m   t   B   u   s   y  \t   $   1   0   ;  \t   F   o   r   m
0036660    a   t   t   e   r       B   u   s   y  \r   $   R   e   a   d
0036700    A   f   t   e   r   W   r   i   t   e   B   i   t   $   2   0
0036720    0   0   0   ;  \t   R   e   a   d       a   f   t   e   r    
0036740    w   r   i   t   e       s   e   t   .  \r   $   D   a   t   a
0036760    L   a   t   e   B   i   t  \t   $   4   0   ;  \r   $   I   E
0037000    r   a   s   e  \t  \t   $   1   ;  \t   I   E   r   a   s   e
0037020        l   i   n   e       i   n       t   h   e       i   n   t
0037040    e   r   f   a   c   e   .  \r   $   F   i   l   e   P   r   o
0037060    t   e   c   t   B   i   t  \t   $   1   0   0   0   0   ;  \t
0037100    F   i   l   e       P   r   o   t   e   c   t       b   i   t
0037120        i   n       t   h   e       i   n   t   e   r   f   a   c
0037140    e   .  \r  \r   ;       O   f   f   s   e   t   s       i   n
0037160    t   o       t   h   e       T 376 001  \0   % 217   C   B  \r
0037200   \r   $   R   e   a   d   O   f   f   s   e   t  \t   $   2   ;
0037220   \t   R   e   a   d       c   o   u   n   t       &       a   d
0037240    d   r  \r   $   W   r   i   t   e   O   f   f   s   e   t  \t
0037260    $   4   ;  \t   W   r   i   t   e       c   o   u   n   t    
0037300    &       a   d   d   r  \r   $   B   y   t   e   C   o   u   n
0037320    t   O   f   f   s   e   t  \t   $   6   ;  \t   B   y   t   e
0037340        c   o   u   n   t       w   o   r   d  \r   $   S   t   a
0037360    t   u   s   O   f   f   s   e   t  \t   $   7   ;  \t   S   t
0037400    a   t   u   s       w   o   r   d  \r  \f  \r   ;       C   o
0037420    n   s   t   a   n   t   s       f   o   r       d   e   t   e
0037440    r   m   i   n   i   n   g       t   h   e       r   e   c   o
0037460    r   d       t   y   p   e  \r  \r  \r   ;       R       r   e
0037500    g   i   s   t   e   r   s       f   o   r       b   o   t   h
0037520        t   a   s   k   s  \r  \r   ;       T   h   e   s   e    
0037540    r   e   g   i   s   t   e   r   s       M   U   S   T       b
0037560    e       i   n       t   h   e       l   o   w     376 001  \0
0037600  334   P   3   2       g   r   o   u   p  \r  \r   $   C   o   m
0037620    m   a   n   d  \t   $   R   6   2   ;  \t   C   o   m   m   a
0037640    n   d       S   t   o   r   a   g   e       r   e   g   i   s
0037660    t   e   r  \r   $   T   C   B   B   a   s   e  \t   $   R   6
0037700    3   ;  \t   T   C   B       b   a   s   e       a   d   d   r
0037720    e   s   s  \r   $   R   e   a   d   P   t   r  \t  \t   $   R
0037740    6   4   ;  \t   R   e   a   d       a   d   d   r   e   s   s
0037760   \r   $   R   e   a   d   B   u   f   S   i   z   e  \t   $   R
0040000    6   5   ;  \t   R   e   a   d       B   u   f   f   e   r    
0040020    S   i   z   e  \r   $   W   r   i   t   e   P   t   r  \t   $
0040040    R   6   6   ;  \t   W   r   i   t   e       a   d   d   r   e
0040060    s   s  \r   $   W   r   i   t   e   B   y   t   e   C   n   t
0040100   \t   $   R   6   7   ;  \t   W   r   i   t   e       b   y   t
0040120    e       c   n   t  \r   $   W   r   i   t   e   T   a   p   e
0040140    D   a   t   a  \t   $   R   1   7   ;  \t   W   r   i   t   e
0040160        t   e   m   p       s   t   o   r   a   g   e  \r   $   R
0040200    e   a 376 001  \0 331 262   d   T   a   p   e   D   a   t   a
0040220   \t   $   R   1   6   ;  \t   R   e   a   d       t   e   m   p
0040240        s   t   o   r   a   g   e  \r   $   B   y   t   e   C   n
0040260    t  \t  \t   $   R   1   5   ;  \t   U   s   e   f   u   l    
0040300    b   y   t   e       c   o   u   n   t  \r   $   R   e   a   d
0040320    W   o   r   d   C   n   t  \t   $   R   7   3   ;  \t   U   s
0040340    e   f   u   l       w   o   r   d       c   o   u   n   t    
0040360    R   e   a   d       T   a   s   k  \r   $   W   r   i   t   e
0040400    W   o   r   d   C   n   t  \t   $   R   1   4   ;  \t   U   s
0040420    e   f   u   l       w   o   r   d       c   o   u   n   t    
0040440    W   r   i   t   e       T   a   s   k  \r   $   E   n   d   R
0040460    e   a   d   B   u   f  \t   $   R   7   5   ;  \t   E   n   d
0040500        o   f       t   h   e       r   e   a   d       b   u   f
0040520    f   e   r       a   r   e   a   .  \r   $   R   e   a   d   B
0040540    u   f   S   t   a   r   t  \t   $   R   7   6   ;  \t   S   t
0040560    a   r   t       o   f       t   h   e       r   e   a   d    
0040600    b   u   f   f   e   r     376  \0   u 223 332   a   r   e   a
0040620    .  \r  \r   ;       M   u   l   t   i   p   l   e       d   e
0040640    f   i   n   i   t   i   o   n   s       f   o   r       r   e
0040660    g   i   s   t   e   r   s       u   s   e   d       i   n    
0040700    t   w   o       p   l   a   c   e   s  \r  \r  \r   $   M  \t
0040720    $   R   4   0   ;  \t   T   h   e       o   t   h   e   r    
0040740    L       r   e   g   i   s   t   e   r  \r  \r   ;       L   e
0040760    f   t       o   v   e   r   s  \r   $   1  \t   $   1   ;  \r
0041000   \r 377  \0  \0   D   D   T   a   p   e   M   c   .   m   u  \0
0041020  373 226 313 374 257  \0  \0 376 001  \0 271   2   ;           D
0041040    D   T   a   p   e   M   c   .   m   u       -   -       t   o
0041060    p   -   l   e   v   e   l       m   i   c   r   o   p   r   o
0041100    g   r   a   m       f   o   r       A   l   t   o   '   s    
0041120    w   i   t   h       D   D       t   a   p   e       c   o   n
0041140    t   r   o   l   l   e   r   s  \r   ;           C   o   p   y
0041160    r   i   g   h   t       X   e   r   o   x       C   o   r   p
0041200    o   r   a   t   i   o   n       1   9   8   0  \r  \r   ;    
0041220    L   a   s   t       m   o   d   i   f   i   e   d       M   a
0041240    r   c   h       3   ,       1   9   8   1           1   2   :
0041260    0   7       P   M       b   y       T   i   m       D   i   e
0041300    b   e   r   t  \r  \r   #   A   l   t   o   C   o   n   s   t
0041320    s   2   3   .   m   u   ;  \t   G   e   t       f   r   o   m
0041340        [   M   a   x   c   2   ]   <   A   L   T   O   S   O   U
0041360    R   C   E   >   A   l   t   o   C   o   n   s   t   s   2   3
0041400    .   m   u  \r  \r   ;       P   r   e   d   e   f   i   n   i
0041420    t   i   o   n   s       f   o   r       t   a 376 001  \0  \a
0041440    F   s   k       s   t   a   r   t   i   n   g       l   o   c
0041460    a   t   i   o   n   s       a   n   d       e   m   u   l   a
0041500    t   o   r   -   l   e   v   e   l  \r   ;       s   u   b   r
0041520    o   u   t   i   n   e       e   n   t   r   y       p   o   i
0041540    n   t   s   .  \r  \r   %   0   ,       1   7   7   7   ,    
0041560    0   ,       E   X   I   T   R   A   M   ;  \t  \t   E   m   u
0041600    l   a   t   o   r       t   a   s   k       s   t   a   r   t
0041620   \r   %   0   ,       1   7   7   7   ,       5   ,       T   a
0041640    p   e   ;  \t  \t  \t   T   a   p   e       R   e   a   d    
0041660    t   a   s   k       s   t   a   r   t  \r   %   0   ,       1
0041700    7   7   7   ,       6   ,       W   r   i   t   e   T   a   s
0041720    k   ;  \t  \t   T   a   p   e       W   r   i   t   e       t
0041740    a   s   k       s   t   a   r   t  \r   %   0   ,       1   7
0041760    7   7   ,       2   0   ,       S   T   A   R   T   ;  \t  \t
0042000    (   S   e   e       b   e   l   o   w   )  \r   %   0   ,    
0042020    1   7   7   7   ,       2   2   ,       L   O   C   2   2   ;
0042040   \t 376 001  \0 024 321  \t   S   e   t   B   L   V       s   u
0042060    b   r   o   u   t   i   n   e  \r  \r   %   0   ,       1   7
0042100    7   7   ,       3   7   ,       T   R   A   P   1   ;  \t  \t
0042120    R   a   m   T   r   a   p       L   o   c   a   t   i   o   n
0042140        f   o   r       B   c   p   l   R   u   n   T   i   m   e
0042160   \r  \r   ;       T   h   e   r   e       i   s       a       h
0042200    a   c   k       i   n       t   h   e       r   e   a   d    
0042220    m   i   c   r   o   c   o   d   e       t   h   a   t       c
0042240    a   u   s   e   s       t   h   e       r   e   s   e   t    
0042260    l   o   c   a   t   i   o   n  \r   ;       f   o   r       t
0042300    a   s   k       1   6       t   o       b   e       u   s   e
0042320    d   .           T   h   i   s       m   e   a   n   s       t
0042340    h   a   t       i   t       i   s       n   o   t       p   o
0042360    s   s   i   b   l   e       t   o       r   u   n  \r   ;    
0042400    t   a   s   k       1   6       (   =       D   i   a   b   l
0042420    o       d   i   s   k       w   o   r   d       t   a   s   k
0042440    )       i   n       t 376 001  \0   I 220   h   e       R   a
0042460    m   .  \r  \r  \r   ;       L   o   c   k       o   u   t    
0042500    t   h   e       R   a   m       U   t   i   l   i   t   y    
0042520    A   r   e   a  \r  \r   %   7   ,       1   7   7   7   ,    
0042540    7   7   4   ,       R   U   7   7   4   ,       R   U   7   7
0042560    5   ,       R   U   7   7   6   ,       R   U   7   7   7   ,
0042600        R   U   1   0   0   0   ,       R   U   1   0   0   1   ,
0042620        R   U   1   0   0   2   ,       R   U   1   0   0   3   ;
0042640   \r  \r   R   U   7   7   4   :  \t   N   O   P   ;  \r   R   U
0042660    7   7   5   :  \t   N   O   P   ;  \r   R   U   7   7   6   :
0042700   \t   N   O   P   ;  \r   R   U   7   7   7   :  \t   N   O   P
0042720    ;  \r   R   U   1   0   0   0   :  \t   N   O   P   ;  \r   R
0042740    U   1   0   0   1   :  \t   N   O   P   ;  \r   R   U   1   0
0042760    0   2   :  \t   N   O   P   ;  \r   R   U   1   0   0   3   :
0043000   \t   N   O   P   ;  \r  \r   ;       S   t   u   f   f       l
0043020    i   f   t   e   d       f   r   o   m       E   m   u   l   a
0043040    t   o   r   D   e   f   s   .   m   u   : 376 001  \0  \b   d
0043060   \r   ;       S   t   a   n   d   a   r   d       R   -   r   e
0043100    g   i   s   t   e   r   s       u   s   a   b   l   e       b
0043120    y       t   h   e       e   m   u   l   a   t   o   r       t
0043140    a   s   k  \r  \r   $   A   C   3  \t  \t   $   R   0   ;  \t
0043160    A   c   c   u   m   u   l   a   t   o   r   s  \r   $   A   C
0043200    2  \t  \t   $   R   1   ;  \r   $   A   C   1  \t  \t   $   R
0043220    2   ;  \r   $   A   C   0  \t  \t   $   R   3   ;  \r   $   N
0043240    W   W  \t  \t   $   R   4   ;  \t   N   e   w       w   a   k
0043260    e   u   p   s       w   a   i   t   i   n   g       (   c   o
0043300    m   m   u   n   i   c   a   t   i   o   n       b   e   t   w
0043320    e   e   n       t   a   s   k   s   )  \r   $   S   A   D  \t
0043340   \t   $   R   5   ;  \t   T   e   m   p   o   r   a   r   y    
0043360    p   r   i   v   a   t   e       t   o       e   m   u   l   a
0043400    t   o   r  \r   $   P   C  \t  \t   $   R   6   ;  \t   P   r
0043420    o   g   r   a   m       C   o   u   n   t   e   r       f   o
0043440    r       e   m   u   l   a   t   e   d       N   o   v   a  \r
0043460  376 001  \0   4 273   $   X   R   E   G  \t  \t   $   R   7   ;
0043500   \t   T   e   m   p   o   r   a   r   y       p   r   i   v   a
0043520    t   e       t   o       e   m   u   l   a   t   o   r   .  \r
0043540    ;  \t  \t  \t   C   o   n   t   a   i   n   s       i   n   s
0043560    t   r   u   c   t   i   o   n       L   C   Y       8       u
0043600    p   o   n       d   i   s   p   a   t   c   h       t   o    
0043620    T   R   A   P   1   .  \r   $   X   H  \t  \t   $   R   1   0
0043640    ;  \t   T   e   m   p   o   r   a   r   y       p   r   i   v
0043660    a   t   e       t   o       e   m   u   l   a   t   o   r  \r
0043700    $   M   T   E   M   P  \t   $   R   2   5   ;  \t   T   e   m
0043720    p   o   r   a   r   y       u   s   a   b   l   e       b   y
0043740        a   n   y       t   a   s   k  \r   $   D   W   A   X  \t
0043760   \t   $   R   3   5   ;  \t   T   e   m   p   o   r   a   r   y
0044000        p   r   i   v   a   t   e       t   o       e   m   u   l
0044020    a   t   o   r  \r   $   M   A   S   K  \t  \t   $   R   3   6
0044040    ;  \t   T   e   m   p   o   r   a   r   y       p   r   i   v
0044060    a   t   e       t 376 001  \0 023 031   o       e   m   u   l
0044100    a   t   o   r  \r  \r   $   L   R   E   G  \t  \t   $   R   4
0044120    0   ;  \t   A   n   o   t   h   e   r       n   a   m   e    
0044140    f   o   r       t   h   e       M   -   r   e   g   i   s   t
0044160    e   r  \r  \r  \f  \r   ;   *   *   *   T   H   I   S       I
0044200    N   S   T   R   U   C   T   I   O   N       W   I   L   L    
0044220    C   A   U   S   E       T   H   E       B   O   O   T   -   L
0044240    O   C   U   S   -   V   E   C   T   O   R       T   O       B
0044260    E  \r   ;   *   *   *       S   E   T       T   O       T   H
0044300    E       V   A   L   U   E       I   N       A   C   0       A
0044320    T       T   H   E       N   E   X   T       B   O   O   T  \r
0044340   \r   L   O   C   2   2   :  \t   R   M   R   _   A   C   0   ,
0044360    :   E   X   I   T   R   A   M   ;  \r  \r  \r   ;   *   *   *
0044400    T   H   I   S       C   O   D   E       I   S       C   A   R
0044420    E   F   U   L   L   Y       P   L   A   C   E   D       I   N
0044440        T   H   E       R   A   M  \r   ;   *   *   *   F   O   R
0044460        A   N       E   M   U   L   A   T 376 001  \0   z 303   O
0044500    R       "   N   O   -   O   P       B   O   O   T   "   .  \r
0044520    ;   *   *   *   T   H   E       L   S   B       O   F       T
0044540    H   E       B   O   O   T   -   L   O   C   U   S   -   V   E
0044560    C   T   O   R       M   U   S   T       B   E       0       F
0044600    O   R       T   H   I   S       T   O       W   O   R   K  \r
0044620    ;  \r   E   X   I   T   R   A   M   :       S   W   M   O   D
0044640    E   ;  \t   G   O       T   O       L   O   C   A   T   I   O
0044660    N       2   0       I   N       T   H   E       R   A   M   ,
0044700        A   N   D       T   H   E   N  \r   S   T   A   R   T   :
0044720   \t   :   S   T   A   R   T   ;  \t  \t   R   E   T   U   R   N
0044740        T   O       L   O   C   A   T   I   O   N       2   0    
0044760    I   N       T   H   E       R   O   M  \r  \r  \r  \r  \n   #
0045000    D   D   T   a   p   e   D   e   f   s   .   m   u   ;  \r  \n
0045020    #   D   D   T   a   p   e   R   e   a   d   T   a   s   k   .
0045040    m   u   ;  \r  \n   #   D   D   T   a   p   e   W   r   i   t
0045060    e   T   a   s   k   .   m   u   ;  \r  \r   #   D   D   T 376
0045100  001  \0 337 342   a   p   e   R   a   m   T   r   a   p   .   m
0045120    u   ;  \t   F   r   o   m       [   M   A   X   C   2   ]   <
0045140    A   l   t   o   S   o   u   r   c   e   >   B   c   p   l   R
0045160    u   n   t   i   m   e   S   o   u   r   c   e   .   d   m  \r
0045200    #   G   e   t   F   r   a   m   e   .   m   u   ;  \t  \t   F
0045220    r   o   m       [   M   A   X   C   2   ]   <   A   l   t   o
0045240    S   o   u   r   c   e   >   B   c   p   l   R   u   n   t   i
0045260    m   e   S   o   u   r   c   e   .   d   m  \r   #   B   c   p
0045300    l   U   t   i   l   .   m   u   ;  \t  \t   F   r   o   m    
0045320    [   M   A   X   C   2   ]   <   A   l   t   o   S   o   u   r
0045340    c   e   >   B   c   p   l   R   u   n   t   i   m   e   S   o
0045360    u   r   c   e   .   d   m  \r   #   I   f   s   P   u   p   C
0045400    h   e   c   k   s   u   m   .   m   u   ;  \t   F   r   o   m
0045420        [   I   V   Y   ]   <   I   f   s   >   I   f   s   P   u
0045440    p   C   h   e   c   k   s   u   m   .   m   u  \r   #   B   l
0045460    o   c   k   E   q   .   m   u   ;  \t  \t   F   r   o   m    
0045500    [   M   A   X 376  \0 033 342 257   C   2   ]   <   A   l   t
0045520    o   S   o   u   r   c   e   >   C   o   p   y   D   i   s   k
0045540    .   d   m  \r 377  \0  \0   D   D   T   a   p   e   R   a   m
0045560    T   r   a   p   .   m   u  \0 373 226   a       ;  \0  \0 376
0045600  001  \0 221   7   ;       D   D   T   a   p   e   R   a   m   T
0045620    r   a   p   .   m   u  \r   ;       C   o   p   y   r   i   g
0045640    h   t       X   e   r   o   x       C   o   r   p   o   r   a
0045660    t   i   o   n       1   9   7   9  \r  \r   ;  \t   L   a   s
0045700    t       m   o   d   i   f   i   e   d       D   e   c   e   m
0045720    b   e   r       1   2   ,       1   9   8   0           1   0
0045740    :   4   4       A   M   ,       b   y       T   i   m       D
0045760    i   e   b   e   r   t  \r  \r   ;       T   r   a   p       h
0046000    a   n   d   l   e   r       a   n   d       d   i   s   p   a
0046020    t   c   h   e   r       f   o   r       i   n   s   t   r   u
0046040    c   t   i   o   n   s       t   h   a   t       t   r   a   p
0046060        i   n   t   o  \r   ;       t   h   e       R   A   M   .
0046100            I   n       t   h   e       f   o   l   l   o   w   i
0046120    n   g       p   r   e   d   e   f   i   n   i   t   i   o   n
0046140    ,       t   h   e       t   a   g   s       c   o   r   r   e
0046160    s   p   o   n   d  \r   ;       t   o       o   p   c   o   d
0046200    e   s       6 376 001  \0 256 324   0   0   0   0   ,       6
0046220    0   4   0   0   ,       6   1   0   0   0   ,       6   1   4
0046240    0   0   ,       .   .   .       7   7   4   0   0   .  \r   ;
0046260        N   o   t   e       t   h   a   t       o   p   c   o   d
0046300    e   s       6   0   0   0   0   ,       6   0   4   0   0   ,
0046320        6   1   0   0   0   ,       6   4   4   0   0   ,       6
0046340    5   0   0   0   ,       6   7   0   0   0   ,       a   n   d
0046360        7   7   4   0   0  \r   ;       c   a   n   n   o   t    
0046400    b   e       u   s   e   d       s   i   n   c   e       c   o
0046420    n   t   r   o   l       n   e   v   e   r       g   e   t   s
0046440        t   o       t   h   e       R   A   M       f   o   r    
0046460    t   h   e   s   e   )   .  \r  \r   ;  \t  \t                
0046500            6   1   4   0   0                   6   2   0   0   0
0046520            6   2   4   0   0                               6   3
0046540    0   0   0               6   3   4   0   0  \r   !   3   7   ,
0046560    4   0   ,   T   r   a   p   D   i   s   p   a   t   c   h   ,
0046600    ,   ,   G   e   t   F   r   a   m 376  \0 265 371 036   e   ,
0046620    R   e   t   u   r   n   ,   B   c   p   l   U   t   i   l   i
0046640    t   y   ,   B   l   o   c   k   E   q   ,   P   u   p   C   h
0046660    e   c   k   s   u   m   ;  \r  \r  \r   ;       C   o   n   t
0046700    r   o   l       c   o   m   e   s       h   e   r   e       w
0046720    i   t   h       t   h   e       i   n   s   t   r   u   c   t
0046740    i   o   n       L   C   Y       8       i   n       X   R   E
0046760    G  \r   T   R   A   P   1   :  \t   T   _   3   7   ;  \r  \t
0047000    L   _   X   R   E   G       A   N   D       T   ;  \r   T   r
0047020    a   p   D   i   s   p   a   t   c   h   :  \r  \t   S   I   N
0047040    K   _   L   R   E   G   ,       B   U   S   ,       T   A   S
0047060    K   ;  \r  \t   :   T   r   a   p   D   i   s   p   a   t   c
0047100    h   ;  \r 377  \0  \0   I   f   s   P   u   p   C   h   e   c
0047120    k   s   u   m   .   m   u  \0 373 224 343   /   G  \0  \0 376
0047140  001  \0 321 277   ;       I   f   s   P   u   p   C   h   e   c
0047160    k   s   u   m   .   m   u  \r   ;       C   o   p   y   r   i
0047200    g   h   t       X   e   r   o   x       C   o   r   p   o   r
0047220    a   t   i   o   n       1   9   7   9   ,       1   9   8   0
0047240   \r  \r   ;       L   a   s   t       m   o   d   i   f   i   e
0047260    d       b   y       T   a   f   t   ,       F   e   b   r   u
0047300    a   r   y       2   6   ,       1   9   8   0           5   :
0047320    4   4       P   M  \r  \r   ;       P   u   p       C   h   e
0047340    c   k   s   u   m       i   n   s   t   r   u   c   t   i   o
0047360    n  \r   ;      \t   A   C   0   /       0       i   n   i   t
0047400    i   a   l   l   y  \r   ;      \t   A   C   1   /       a   d
0047420    d   r   e   s   s       o   f       b   l   o   c   k  \r   ;
0047440       \t   A   C   3   /       l   e   n   g   t   h       o   f
0047460        b   l   o   c   k       (   w   o   r   d   s   )  \r   ;
0047500        C   o   m   p   u   t   e   s       t   h   e       o   n
0047520    e   s   -   c   o   m   p   l   e   m   e   n   t       a   d
0047540    d   -   a   n 376 001  \0 226 021   d   -   c   y   c   l   e
0047560        c   h   e   c   k   s   u   m       o   v   e   r       t
0047600    h   e       b   l   o   c   k   .  \r   ;       W   h   e   n
0047620        t   h   e       i   n   s   t   r   u   c   t   i   o   n
0047640        f   i   n   i   s   h   e   s   ,  \r   ;      \t   A   C
0047660    0   /       r   e   s   u   l   t  \r   ;      \t   A   C   1
0047700    /       a   d   d   r   e   s   s   +   l   e   n   g   t   h
0047720    -   1  \r   ;      \t   A   C   3   /       0  \r   ;       T
0047740    h   i   s       i   n   s   t   r   u   c   t   i   o   n    
0047760    i   s       i   n   t   e   r   r   u   p   t   i   b   l   e
0050000    .           I   f       a   n       i   n   t   e   r   r   u
0050020    p   t       o   c   c   u   r   s   ,       i   n   t   e   r
0050040    m   e   d   i   a   t   e  \r   ;       s   t   a   t   e    
0050060    i   s       s   t   o   r   e   d       i   n       t   h   e
0050100        A   C   s       a   n   d       t   h   e       P   C    
0050120    i   s       b   a   c   k   e   d       u   p       s   o    
0050140    t   h   e       i   n   s   t   r 376 001  \0 004 310   u   c
0050160    t   i   o   n       w   i   l   l  \r   ;       s   t   a   r
0050200    t       o   v   e   r       w   h   e   n       t   h   e    
0050220    i   n   t   e   r   r   u   p   t       i   s       d   i   s
0050240    m   i   s   s   e   d   .  \r   ;       T   i   m   i   n   g
0050260    :       9       c   y   c   l   e   s   /   w   o   r   d  \r
0050300    ;       2   4   8   4       c   y   c   l   e   s       (   =
0050320        4   2   2       m   i   c   r   o   s   e   c   o   n   d
0050340    s   )       p   e   r       m   a   x   i   m   u   m   -   l
0050360    e   n   g   t   h       P   u   p  \r  \r   $   A   C   3  \t
0050400    $   R   0   ;  \r   $   A   C   1  \t   $   R   2   ;  \r   $
0050420    A   C   0  \t   $   R   3   ;  \r   $   N   W   W  \t   $   R
0050440    4   ;  \r   $   P   C  \t   $   R   6   ;  \r   $   L   R   E
0050460    G  \t   $   R   4   0   ;  \r  \r   !   1   ,   2   ,   P   C
0050500    M   a   y   I   ,   P   C   N   o   I   ;  \r   !   1   ,   2
0050520    ,   P   C   D   o   I   ,   P   C   D   i   s   I   ;  \r   !
0050540    1   ,   2   ,   P   C   N   o   C   y   ,   P   C   C 376 001
0050560   \0 034 217   y   ;  \r   !   1   ,   2   ,   P   C   L   o   o
0050600    p   ,   P   C   D   o   n   e   ;  \r   !   1   ,   2   ,   P
0050620    C   N   o   M   Z   ,   P   C   M   i   n   Z   ;  \r  \r   P
0050640    u   p   C   h   e   c   k   s   u   m   :  \r  \t   M   A   R
0050660    _       L   _       A   C   1   ,       :   P   C   L   p   1
0050700    ;  \t   S   t   a   r   t       f   e   t   c   h       o   f
0050720        f   i   r   s   t       w   o   r   d  \r  \r   ;       T
0050740    o   p       o   f       m   a   i   n       l   o   o   p  \r
0050760    P   C   L   o   o   p   :  \t   M   A   R   _       L   _    
0051000    A   C   1   +   1   ;  \t  \t   S   t   a   r   t       f   e
0051020    t   c   h       o   f       n   e   x   t       w   o   r   d
0051040   \r   P   C   L   p   1   :  \t   A   C   1   _       L   ;  \t
0051060   \t  \t   U   p   d   a   t   e       p   o   i   n   t   e   r
0051100   \r  \t   L   _       N   W   W   ,       B   U   S   =   0   ;
0051120   \t  \t   T   e   s   t       f   o   r       i   n   t   e   r
0051140    r   u   p   t   s  \r  \t   T   _       A   C   0   ,       S
0051160    H   <   0 376 001  \0   ; 213   ,       :   P   C   M   a   y
0051200    I   ;  \t   [   P   C   M   a   y   I   ,       P   C   N   o
0051220    I   ]       G   e   t       a   c   c   u   m   u   l   a   t
0051240    e   d       c   h   e   c   k   s   u   m  \r   P   C   M   a
0051260    y   I   :  \t   L   _       M   D   +   T   ,       :   P   C
0051300    D   o   I   ;  \t   [   P   C   D   o   I   ,       P   C   D
0051320    i   s   I   ]       A   d   d       n   e   w       w   o   r
0051340    d  \r   P   C   N   o   I   :  \t   L   _       M   D   +   T
0051360    ,       :   P   C   D   i   s   I   ;  \r   P   C   D   i   s
0051400    I   :  \t   T   _       M   ,       A   L   U   C   Y   ;  \t
0051420   \t   T   e   s   t       f   o   r       c   a   r   r   y    
0051440    o   u   t  \r  \t   L   _       A   C   3   -   1   ,       :
0051460    P   C   N   o   C   y   ;  \t   [   P   C   N   o   C   y   ,
0051500        P   C   C   y   ]       D   e   c   r   e   m   e   n   t
0051520        a   n   d       t   e   s   t       c   o   u   n   t  \r
0051540    P   C   N   o   C   y   :  \t   A   C   3   _       L   ,    
0051560    L   _       T   ,       S   H 376 001  \0 254   {   =   0   ,
0051600        T   A   S   K   ,       :   P   C   L   a   s   t   ;    
0051620        N   o       c   a   r   r   y  \r   P   C   C   y   :  \t
0051640    A   C   3   _       L   ,       L   _       T   _       0   +
0051660    T   +   1   ,       S   H   =   0   ,       T   A   S   K   ;
0051700            D   o       e   n   d   -   a   r   o   u   n   d    
0051720    c   a   r   r   y  \r   P   C   L   a   s   t   :  \t   A   C
0051740    0   _       L       M   L   S   H       1   ,       :   P   C
0051760    L   o   o   p   ;  \t   [   P   C   L   o   o   p   ,       P
0052000    C   D   o   n   e   ]       L   e   f   t       c   y   c   l
0052020    e       1  \r  \r   ;       H   e   r   e       w   h   e   n
0052040        d   o   n   e  \r   P   C   D   o   n   e   :  \t   L   _
0052060        A   C   0   +   1   ;  \t  \t   T   e   s   t       f   o
0052100    r       m   i   n   u   s       z   e   r   o       (   o   n
0052120    e   s   -   c   o   m   p   l   e   m   e   n   t   )  \r  \t
0052140    S   H   =   0   ;  \r   P   C   D   n   1   :  \t   S   W   M
0052160    O   D   E   ,       :   P   C   N   o   M   Z   ; 376  \0 246
0052200    a   K  \t   [   P   C   N   o   M   Z   ,       P   C   M   i
0052220    n   Z   ]  \r   P   C   N   o   M   Z   :  \t   :   S   T   A
0052240    R   T   ;  \r   P   C   M   i   n   Z   :  \t   A   C   0   _
0052260        L   ,       :   S   T   A   R   T   ;  \t  \t   M   i   n
0052300    u   s       z   e   r   o   ,       c   h   a   n   g   e    
0052320    t   o       p   l   u   s       z   e   r   o  \r  \r   ;    
0052340    H   e   r   e       w   h   e   n       i   n   t   e   r   r
0052360    u   p   t   e   d  \r   P   C   D   o   I   :  \t   L   _    
0052400    P   C   -   1   ,       T   A   S   K   ;  \t  \t   B   a   c
0052420    k       u   p       P   C  \r  \t   P   C   _       L   ,    
0052440    :   P   C   D   n   1   ;  \r 377  \0  \0   C   o   m   p   i
0052460    l   e   D   D   T   a   p   e   M   c   .   c   m  \0 373 226
0052500  243   4 367  \0  \0 376  \0 242 370 307   /   /       C   o   m
0052520    p   i   l   e   D   D   T   a   p   e   M   c   .   c   m  \r
0052540    /   /       L   a   s   t       m   o   d   i   f   i   e   d
0052560        b   y       T   i   m       D   i   e   b   e   r   t   ,
0052600        J   a   n   u   a   r   y       3   1   ,       1   9   8
0052620    1           1   :   4   5       P   M  \r   M   u   .   r   u
0052640    n       D   D   T   a   p   e   M   c   .   m   u  \r   P   a
0052660    c   k   m   u   .   r   u   n       D   D   T   a   p   e   M
0052700    c   .   m   b       D   D   T   a   p   e   M   i   c   r   o
0052720    c   o   d   e   .   b   r       1   7   7   6   3   6   b    
0052740    D   D   T   a   p   e   I   m   a   g   e  \r 377  \0  \0   D
0052760    u   m   p   D   D   T   a   p   e   M   i   c   r   o   c   o
0053000    d   e   .   c   m  \0 373 226 304   / 332  \0  \0 376 001  \0
0053020  270 271   /   /       D   u   m   p   D   D   T   a   p   e   M
0053040    i   c   r   o   c   o   d   e   .   c   m  \r   /   /       L
0053060    a   s   t       m   o   d   i   f   i   e   d       b   y    
0053100    T   i   m       D   i   e   b   e   r   t   ,       F   e   b
0053120    r   u   a   r   y       2   5   ,       1   9   8   1        
0053140    2   :   0   8       P   M  \r   f   t   p       i   v   y    
0053160    c   o   n   n   /   c       A   l   t   o   T   a   p   e    
0053200    d   i   r   /   c       >   D   u   a   l   D   e   n   s   i
0053220    t   y   >   M   i   c   r   o   c   o   d   e   >       ^  \r
0053240    d   u   m   p   /   c       D   D   T   a   p   e   M   i   c
0053260    r   o   c   o   d   e   .   d   m       ^  \r               B
0053300    l   o   c   k   E   q   .   m   u       ^  \r               D
0053320    D   T   a   p   e   R   e   a   d   T   a   s   k   .   m   u
0053340        ^  \r               D   D   T   a   p   e   W   r   i   t
0053360    e   T   a   s   k   .   m   u       ^  \r               D   D
0053400    T   a   p   e   D   e   f   s   .   m   u       ^  \r        
0053420        D 376  \0   l 232   a   D   T   a   p   e   M   c   .   m
0053440    u       ^  \r               D   D   T   a   p   e   R   a   m
0053460    T   r   a   p   .   m   u       ^  \r               I   f   s
0053500    P   u   p   C   h   e   c   k   s   u   m   .   m   u       ^
0053520   \r               C   o   m   p   i   l   e   D   D   T   a   p
0053540    e   M   c   .   c   m       ^  \r               D   u   m   p
0053560    D   D   T   a   p   e   M   i   c   r   o   c   o   d   e   .
0053600    c   m  \r 374                                                
0053604