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