$ od -c -N 50000 [Indigo]<AltoSource>CONTEXTSOURCES.DM!1
0000000  377  \0  \0   C   o   n   t   e   x   t   .   a   s   m  \0 376
0000020  001  \0 306 307   ;       C   o   n   t   e   x   t   .   a   s
0000040    m       -   -       C   O   N   T   E   X   T       -   -    
0000060    A   s   s   e   m   b   l   y       C   o   d   e  \r   ;    
0000100    C   o   p   y   r   i   g   h   t       X   e   r   o   x    
0000120    C   o   r   p   o   r   a   t   i   o   n       1   9   7   9
0000140   \r  \r   ;  \t   L   a   s   t       m   o   d   i   f   i   e
0000160    d       N   o   v   e   m   b   e   r       4   ,       1   9
0000200    7   7           5   :   2   4       P   M  \r  \r  \t   .   e
0000220    n   t       C   a   l   l   C   o   n   t   e   x   t   L   i
0000240    s   t  \r  \t   .   e   n   t       B   l   o   c   k  \r  \t
0000260    .   e   n   t       Y   i   e   l   d  \r  \t   .   e   n   t
0000300        C   t   x   C   a   l   l   e   r  \r  \t   .   e   n   t
0000320        C   t   x   R   u   n   n   i   n   g  \r  \t   .   e   n
0000340    t       C   t   x   S   w   i   t   c   h  \r  \r   ;       O
0000360    f   f   s   e   t   s       i   n   t   o       C   T   X    
0000400    s   t   r   u   c   t   u   r   e   :  \r  \t   C   T   X   N
0000420    e   x   t   = 376 001  \0 032 306   0  \r  \t   C   T   X   S
0000440    t   a   c   k   =   1  \r  \t   C   T   X   S   t   a   c   k
0000460    M   i   n   =   2  \r  \r   ;       B   c   p   l       r   u
0000500    n   t   i   m   e       i   n   f   o   r   m   a   t   i   o
0000520    n  \r  \t   S   t   k   M   i   n   =   3   3   5  \r  \r  \r
0000540   \t   .   s   r   e   l  \r  \r   C   a   l   l   C   o   n   t
0000560    e   x   t   L   i   s   t   :       .   C   a   l   l   C   o
0000600    n   t   e   x   t   L   i   s   t  \r   B   l   o   c   k   :
0000620   \t  \t   .   B   l   o   c   k  \r   Y   i   e   l   d   :  \t
0000640   \t   .   B   l   o   c   k  \t  \t   ;       Y   i   e   l   d
0000660        s   a   m   e       a   s       B   l   o   c   k       i
0000700    n   i   t   i   a   l   l   y  \r   C   t   x   C   a   l   l
0000720    e   r   :  \t   0  \r   C   t   x   R   u   n   n   i   n   g
0000740    :  \t   d   u   m   m   y   C   t   x  \r   C   t   x   S   w
0000760    i   t   c   h   :  \t   0  \t  \t   ;       U   s   e   d    
0001000    b   y       C   o   n   t   e   x   t   S   c   h   e   d  \r
0001020   \r  \t   .   n   r   e   l  \r  \f 376 001  \0   k   .  \r   ;
0001040        C   a   l   l   C   o   n   t   e   x   t   L   i   s   t
0001060    (   c   t   x   )  \r   ;       S   u   c   c   e   s   s   i
0001100    v   e   l   y       r   e   s   u   m   e   s       e   a   c
0001120    h       c   o   n   t   e   x   t       o   n       t   h   e
0001140        l   i   s   t       s   t   a   r   t   i   n   g       a
0001160    t       c   t   x  \r   ;       u   n   t   i   l       i   t
0001200        e   x   e   c   u   t   e   s       B   l   o   c   k   (
0001220    )   .           R   e   t   u   r   n   s       a   f   t   e
0001240    r       t   h   e       l   a   s   t       c   o   n   t   e
0001260    x   t       o   n  \r   ;       t   h   e       l   i   s   t
0001300        h   a   s       b   l   o   c   k   e   d   .  \r  \r   .
0001320    C   a   l   l   C   o   n   t   e   x   t   L   i   s   t   :
0001340   \r  \t   s   t   a       3       1       2  \t  \t   ;       S
0001360    a   v   e       r   e   t   u   r   n       i   n       n   o
0001400    r   m   a   l       s   p   o   t  \r  \t   l   d   a       1
0001420        @   l   v   C   t   x   C   a   l   l   e   r  \t 376 001
0001440   \0   O 223   ;       S   a   v   e       C   t   x   C   a   l
0001460    l   e   r       i   n       f   r   a   m   e  \r  \t   s   t
0001500    a       1       2       2  \r  \t   l   d   a       1       @
0001520    l   v   C   t   x   R   u   n   n   i   n   g  \t   ;       S
0001540    a   v   e       C   t   x   R   u   n   n   i   n   g       i
0001560    n       f   r   a   m   e  \r  \t   s   t   a       1       3
0001600        2  \r  \t   l   d   a       1       S   t   k   M   i   n
0001620   \t  \t   ;       S   a   v   e       S   t   k   M   i   n    
0001640    b   e   l   o   w       f   r   a   m   e       (   y   e   s
0001660    ,       t   h   i   s       i   s       s   a   f   e   !   )
0001700   \r  \t   s   t   a       1       -   1       2  \r  \t   s   t
0001720    a       2       @   l   v   C   t   x   C   a   l   l   e   r
0001740   \t   ;       E   s   t   a   b   l   i   s   h       n   e   w
0001760        C   t   x   C   a   l   l   e   r       f   r   a   m   e
0002000   \r  \t   j   m   p       n   x   t   C   t   x  \t  \t   ;    
0002020    G   o       r   e   s   u   m   e       f   i   r   s   t    
0002040    c   o   n 376 001  \0 322 356   t   e   x   t  \r  \r   ;    
0002060    H   e   r   e       w   h   e   n       t   h   e       r   e
0002100    s   u   m   e   d       c   o   n   t   e   x   t       e   x
0002120    e   c   u   t   e   s       B   l   o   c   k   (   )  \r   .
0002140    B   l   o   c   k   :  \t   i   n   c       3       3  \t  \t
0002160   \t   ;       G   e   n   e   r   a   t   e       r   e   a   l
0002200        r   e   t   u   r   n       a   d   d   r   e   s   s  \r
0002220   \t   s   t   a       3       1       2  \t  \t   ;       S   a
0002240    v   e       i   n       c   a   n   o   n   i   c   a   l    
0002260    s   p   o   t  \r   b   l   o   c   k   1   :  \t   l   d   a
0002300        3       @   l   v   C   t   x   R   u   n   n   i   n   g
0002320   \t   ;       G   e   t       c   u   r   r   e   n   t       c
0002340    o   n   t   e   x   t  \r  \t   s   t   a       2       C   T
0002360    X   S   t   a   c   k       3  \t   ;       S   a   v   e    
0002400    o   u   r       s   t   a   c   k       p   o   i   n   t   e
0002420    r  \r  \t   l   d   a       1       S   t   k   M   i   n  \t
0002440   \t   ;       S   a   v   e     376 001  \0   ,   n   o   u   r
0002460        S   t   k   M   i   n  \r  \t   s   t   a       1       C
0002500    T   X   S   t   a   c   k   M   i   n       3  \r  \t   l   d
0002520    a       0       C   T   X   N   e   x   t       3  \t  \t   ;
0002540        F   i   n   d       n   e   x   t       c   o   n   t   e
0002560    x   t       t   o       t   r   y  \r  \r   ;       H   e   r
0002600    e       t   o       r   e   s   u   m   e       n   e   x   t
0002620        c   o   n   t   e   x   t       o   n       l   i   s   t
0002640   \r   n   x   t   C   t   x   :  \t   m   o   v       0       3
0002660        s   n   r  \r  \t       j   m   p       d   o   n   C   t
0002700    x  \t  \t   ;       N   o       m   o   r   e       o   n    
0002720    l   i   s   t       t   o       r   u   n  \r  \t   s   t   a
0002740        3       @   l   v   C   t   x   R   u   n   n   i   n   g
0002760   \t   ;       R   e   c   o   r   d       c   o   n   t   e   x
0003000    t       a   b   o   u   t       t   o       b   e       r   u
0003020    n  \r  \t   l   d   a       1       C   T   X   S   t   a   c
0003040    k   M   i   n       3  \r  \t   s   t   a       1 376 001  \0
0003060  217 021       S   t   k   M   i   n  \t  \t   ;       S   t   a
0003100    c   k       b   o   u   n   d   s  \r   r   u   n   C   t   x
0003120    :  \t   s   t   a       3       @   l   v   C   t   x   S   w
0003140    i   t   c   h  \t   ;       N   o   t   e       t   h   a   t
0003160        c   o   n   t   e   x   t   s       h   a   v   e       s
0003200    w   i   t   c   h   e   d  \r  \t   l   d   a       2       C
0003220    T   X   S   t   a   c   k       3  \t   ;       G   e   t    
0003240    t   h   e       s   t   a   c   k       t   o       r   u   n
0003260        i   t       i   n  \r  \t   j   s   r       @   1       2
0003300   \t  \t   ;       A   n   d       r   e   t   u   r   n       f
0003320    r   o   m       i   t   s       B   l   o   c   k   (   )   .
0003340   \r  \t       1  \t  \t  \t   ;       O   n       f   i   r   s
0003360    t       c   a   l   l   ,       a   r   g       i   s       c
0003400    o   n   t   e   x   t  \r  \t   j   m   p       b   l   o   c
0003420    k   1  \t  \t   ;       I   f       h   e       r   e   t   u
0003440    r   n   s   ,       c   a   l   l       h   i   m       a   g
0003460    a   i 376 001  \0   X 235   n  \r  \r   ;       H   e   r   e
0003500        w   h   e   n       n   o       m   o   r   e       c   o
0003520    n   t   e   x   t   s       o   n       l   i   s   t  \r   d
0003540    o   n   C   t   x   :  \t   l   d   a       2       @   l   v
0003560    C   t   x   C   a   l   l   e   r  \t   ;       G   e   t    
0003600    s   t   a   c   k       f   o   r       C   a   l   l   C   o
0003620    n   t   e   x   t   L   i   s   t  \r  \t   s   n   z       2
0003640        2  \r  \t       j   m   p       n   o   t   C   t   x  \t
0003660   \t   ;       B   l   o   c   k       c   a   l   l   e   d    
0003700    o   u   t   s   i   d   e       o   f       c   o   n   t   e
0003720    x   t  \r  \t   l   d   a       0       -   1       2  \t  \t
0003740    ;       R   e   s   t   o   r   e       p   r   e   v   i   o
0003760    u   s       S   t   k   M   i   n  \r  \t   s   t   a       0
0004000        S   t   k   M   i   n  \r  \t   l   d   a       0       3
0004020        2  \t  \t   ;       R   e   s   t   o   r   e       p   r
0004040    e   v   i   o   u   s       C   t   x   R   u   n   n   i   n
0004060    g  \r  \t   s   t   a     376 001  \0 323 037   0       @   l
0004100    v   C   t   x   R   u   n   n   i   n   g  \r  \t   l   d   a
0004120        0       2       2  \t  \t   ;       R   e   s   t   o   r
0004140    e       p   r   e   v   i   o   u   s       C   t   x   C   a
0004160    l   l   e   r  \r  \t   s   t   a       0       @   l   v   C
0004200    t   x   C   a   l   l   e   r  \r  \t   l   d   a       3    
0004220    1       2  \r  \t   j   m   p       1       3  \t  \t  \t   ;
0004240        R   e   t   u   r   n       f   r   o   m       C   a   l
0004260    l   C   o   n   t   e   x   t   L   i   s   t  \r  \r   ;    
0004300    W   h   a   t       h   a   p   p   e   n   s       i   f    
0004320    B   l   o   c   k   (   )       i   s       c   a   l   l   e
0004340    d       o   u   t   s   i   d   e       o   f       a   n   y
0004360        c   o   n   t   e   x   t  \r   n   o   t   C   t   x   :
0004400   \t   l   d   a       3       @   l   v   C   t   x   R   u   n
0004420    n   i   n   g  \t   ;       J   u   s   t       r   e   -   r
0004440    u   n       t   h   e       d   u   m   m   y       c   o   n
0004460    t   e   x   t  \r  \t   j   m   p       r   u 376  \0 265 225
0004500    ;   n   C   t   x  \r  \r   l   v   C   t   x   C   a   l   l
0004520    e   r   :  \t   C   t   x   C   a   l   l   e   r  \r   l   v
0004540    C   t   x   R   u   n   n   i   n   g   :  \t   C   t   x   R
0004560    u   n   n   i   n   g  \r   l   v   C   t   x   S   w   i   t
0004600    c   h   :  \t   C   t   x   S   w   i   t   c   h  \r  \r   d
0004620    u   m   m   y   C   t   x   :       0  \t  \t   ;       T   h
0004640    e       d   u   m   m   y       c   o   n   t   e   x   t    
0004660    h   a   s       "   n   e   x   t   "       o   f       z   e
0004700    r   o  \r  \t   .   b   l   k       2  \t  \t   ;       C   l
0004720    o   b   b   e   r   e   d       b   y       S   t   a   c   k
0004740        a   n   d       S   t   a   c   k   M   i   n      \r  \r
0004760   \t   .   e   n   d  \r 377  \0  \0   C   o   n   t   e   x   t
0005000    I   n   i   t   .   b   c   p   l  \0 376 001  \0 023 233   /
0005020    /       C   o   n   t   e   x   t   I   n   i   t   .   B   c
0005040    p   l           -   -       c   o   m   p   a   n   i   o   n
0005060        i   s       C   o   n   t   e   x   t   .   A   s   m  \r
0005100    /   /  \t   C   o   d   e       c   a   n       b   e       w
0005120    i   p   e   d       o   u   t       a   f   t   e   r       i
0005140    n   i   t   i   a   l   i   z   a   t   i   o   n  \r   /   /
0005160        C   o   p   y   r   i   g   h   t       X   e   r   o   x
0005200        C   o   r   p   o   r   a   t   i   o   n       1   9   7
0005220    9  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /
0005240        o   u   t   g   o   i   n   g       p   r   o   c   e   d
0005260    u   r   e   s  \r   I   n   i   t   i   a   l   i   z   e   C
0005300    o   n   t   e   x   t  \r  \r   /   /       i   n   c   o   m
0005320    i   n   g       p   r   o   c   e   d   u   r   e   s  \r   S
0005340    y   s   E   r   r  \r   ]  \r  \r   /   /       T   h   i   s
0005360        d   e   c   l   a   r   a   t   i   o   n       m   a   t
0005400    c   h   e   s       o   n   e       i   n       C   o   n 376
0005420  001  \0 254 336   t   e   x   t   .   A   s   m  \r   s   t   r
0005440    u   c   t   u   r   e       C   T   X   :  \r   [  \r   N   e
0005460    x   t       w   o   r   d  \t   /   /       P   o   i   n   t
0005500    e   r       t   o       a       l   i   s   t       o   f    
0005520    s   u   c   h       C   T   X   '   s  \r   S   t   a   c   k
0005540        w   o   r   d  \t   /   /       C   u   r   r   e   n   t
0005560        s   t   a   c   k       p   o   i   n   t   e   r  \r   S
0005600    t   a   c   k   M   i   n       w   o   r   d  \t   /   /    
0005620    L   o   w   e   s   t       s   t   a   c   k       c   a   n
0005640        g   o   .  \r   ]  \t  \t   /   /       A   f   t   e   r
0005660        h   e   r   e   ,       e   x   t   r   a       f   o   r
0005700        u   s   e   r   .  \r  \r   m   a   n   i   f   e   s   t
0005720        e   c   C   t   x   S   t   a   c   k   T   o   o   S   m
0005740    a   l   l       =       2   7   0   0  \r  \r  \r   /   /   -
0005760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006020    -   -   -   - 376 001  \0 361   -   -   -   -   -   -   -   -
0006040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0006060    -   -   -   -   -  \r   l   e   t       I   n   i   t   i   a
0006100    l   i   z   e   C   o   n   t   e   x   t   (   r   e   g   i
0006120    o   n   ,       l   e   n   g   t   h   ,       p   r   o   c
0006140    ,       e   x   t   r   a   S   p   a   c   e   ;  \r        
0006160            n   u   m   a   r   g   s       n   a   )       =    
0006200    v   a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -
0006220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006300    -   -   -   -   -   -   -   -   -  \r   [  \r   r   e   g   i
0006320    o   n   >   >   C   T   X   .   N   e   x   t   =   0  \t  \t
0006340    /   /       N   o   t       o   n       a       l   i   s   t
0006360        y   e   t  \r   i   f       n   a       l   s       4    
0006400    t   h   e   n       e   x   t   r   a   S   p   a   c   e   =
0006420    0  \r   r   e   g   i   o   n   > 376 001  \0  \b   {   >   C
0006440    T   X   .   S   t   a   c   k   M   i   n   =   r   e   g   i
0006460    o   n   +   (   s   i   z   e       C   T   X   /   1   6   )
0006500    +   e   x   t   r   a   S   p   a   c   e  \r   l   e   t    
0006520    s   =   r   e   g   i   o   n   +   l   e   n   g   t   h   -
0006540    4  \t  \t   /   /       S   p   o   t       t   o       s   t
0006560    a   r   t       s   t   a   c   k   .  \r   s   !   0       =
0006600        0  \t  \t  \t  \t   /   /       S   o       y   o   u    
0006620    c   a   n       t   e   l   l       w   h   e   r   e       i
0006640    t       s   t   a   r   t   s  \r   s   !   1   =   p   r   o
0006660    c  \t  \t  \t   /   /       A   d   d   r   e   s   s       a
0006700    t       w   h   i   c   h       t   o       b   e   g   i   n
0006720    .  \r   r   e   g   i   o   n   >   >   C   T   X   .   S   t
0006740    a   c   k   =   s  \t  \t   /   /       I   n   i   t   i   a
0006760    l       s   t   a   c   k       v   a   l   u   e  \r   i   f
0007000        s   -   r   e   g   i   o   n   >   >   C   T   X   .   S
0007020    t   a   c   k   M   i   n       l   s       0       t 376  \0
0007040    7 003 233   h   e   n       S   y   s   E   r   r   (   n   i
0007060    l   ,       e   c   C   t   x   S   t   a   c   k   T   o   o
0007100    S   m   a   l   l   )  \r   r   e   s   u   l   t   i   s    
0007120    r   e   g   i   o   n  \r   ]  \r  \r 377  \0  \0   C   o   n
0007140    t   e   x   t   S   c   h   e   d   .   a   s   m  \0 376 001
0007160   \0   * 346   ;       C   o   n   t   e   x   t   S   c   h   e
0007200    d   .   a   s   m       -   -       S   i   m   p   l   e    
0007220    t   i   m   e   -   s   l   i   c   i   n   g       s   c   h
0007240    e   d   u   l   e   r       f   o   r       c   o   n   t   e
0007260    x   t   s  \r   ;       C   o   p   y   r   i   g   h   t    
0007300    X   e   r   o   x       C   o   r   p   o   r   a   t   i   o
0007320    n       1   9   7   9  \r  \r  \r   .   e   n   t       S   c
0007340    h   e   d   I   n   t   e   r   r   u   p   t  \r   .   e   n
0007360    t       S   c   h   e   d   Y   i   e   l   d  \r   .   e   n
0007400    t       S   c   h   e   d   F   i   n   i   s   h  \r   .   e
0007420    n   t       s   c   h   e   d   S   a   v   e   d   U   F   P
0007440   \r   .   e   n   t       s   c   h   e   d   M   a   s   k  \r
0007460   \r   .   b   e   x   t       B   l   o   c   k  \r   .   b   e
0007500    x   t       C   t   x   S   w   i   t   c   h  \r   .   b   e
0007520    x   t       l   v   U   s   e   r   F   i   n   i   s   h   P
0007540    r   o   c  \r  \r   .   s   r   e   l  \r  \r   S   c   h   e
0007560    d   I   n 376 001  \0 210 034   t   e   r   r   u   p   t   :
0007600        .   S   c   h   e   d   I   n   t   e   r   r   u   p   t
0007620   \r   S   c   h   e   d   Y   i   e   l   d   :       .   S   c
0007640    h   e   d   Y   i   e   l   d  \r   S   c   h   e   d   F   i
0007660    n   i   s   h   :       .   S   c   h   e   d   F   i   n   i
0007700    s   h  \r   s   c   h   e   d   S   a   v   e   d   U   F   P
0007720    :       0  \r   s   c   h   e   d   M   a   s   k   :       0
0007740   \r  \r   .   n   r   e   l  \r  \r  \r   ;       Y   i   e   l
0007760    d   (   )  \r   ;       S   a   m   e       a   s       B   l
0010000    o   c   k   (   )       e   x   c   e   p   t       t   h   a
0010020    t       i   f       t   h   e       c   u   r   r   e   n   t
0010040        c   o   n   t   e   x   t       h   a   s       n   o   t
0010060        y   e   t  \r   ;       r   u   n       f   o   r       a
0010100        f   u   l   l       t   i   m   e       s   l   i   c   e
0010120        (   1   7       m   s   )   ,       Y   i   e   l   d    
0010140    r   e   t   u   r   n   s       i   m   m   e   d   i   a   t
0010160    e   l   y  \r   ;       a   t 376 001  \0 005 250       a    
0010200    c   o   s   t       o   f       o   n   l   y       3       i
0010220    n   s   t   r   u   c   t   i   o   n   s   .  \r   ;       T
0010240    h   i   s       p   r   o   c   e   d   u   r   e       i   s
0010260        p   l   u   g   g   e   d       i   n   t   o       t   h
0010300    e       Y   i   e   l   d       p   r   o   c   e   d   u   r
0010320    e   '   s       s   t   a   t   i   c  \r   ;       b   y    
0010340    I   n   i   t   C   o   n   t   e   x   t   S   c   h   e   d
0010360    .  \r  \r   .   S   c   h   e   d   Y   i   e   l   d   :  \r
0010400   \t   l   d   a       0       @   l   v   C   t   x   S   w   i
0010420    t   c   h  \t   ;       T   i   m   e       s   l   i   c   e
0010440        e   x   p   i   r   e   d   ?  \r  \t   s   z       0    
0010460    0  \r  \t       j   m   p       1       3  \t  \t   ;       N
0010500    o   ,       c   o   n   t   i   n   u   e       t   h   i   s
0010520        c   o   n   t   e   x   t  \r  \t   l   d   a       0    
0010540    @   l   v   B   l   o   c   k  \t  \t   ;       Y   e   s   ,
0010560        r   u   n       o   t   h   e   r       c   o 376 001  \0
0010600    g 233   n   t   e   x   t   s  \r  \t   s   t   a       0    
0010620    1       2  \r  \t   j   m   p       @   1       2  \r  \r  \r
0010640    ;       I   n   t   e   r   r   u   p   t       r   o   u   t
0010660    i   n   e       e   x   e   c   u   t   e   d       e   v   e
0010700    r   y       1   7       m   s       t   o       u   p   d   a
0010720    t   e       t   h   e       C   t   x   S   w   i   t   c   h
0010740   \r   ;       f   l   a   g   .           T   h   e       f   l
0010760    a   g       i   s       h   a   n   d   l   e   d       i   n
0011000        t   h   e       f   o   l   l   o   w   i   n   g       w
0011020    a   y   :  \r   ;       W   h   e   n       c   o   n   t   e
0011040    x   t   s       a   r   e       a   c   t   u   a   l   l   y
0011060        s   w   i   t   c   h   e   d       (   b   y       B   l
0011100    o   c   k       o   r       Y   i   e   l   d   )   ,  \r   ;
0011120        t   h   e       C   o   n   t   e   x   t       p   a   c
0011140    k   a   g   e       s   e   t   s       C   t   x   S   w   i
0011160    t   c   h       t   o       s   o   m   e       v   a   l   u
0011200    e     376 001  \0 240   z   o   t   h   e   r       t   h   a
0011220    n  \r   ;       0       o   r       -   1   .           A   t
0011240        t   h   e       n   e   x   t       1   7       m   s    
0011260    i   n   t   e   r   r   u   p   t   ,       C   t   x   S   w
0011300    i   t   c   h       i   s       s   e   t       t   o       -
0011320    1  \r   ;       a   s       a   n       i   n   d   i   c   a
0011340    t   i   o   n       t   h   a   t       a       t   i   m   e
0011360        s   l   i   c   e       h   a   s       b   e   g   u   n
0011400    .           I   f       C   t   x   S   w   i   t   c   h  \r
0011420    ;       i   s       s   t   i   l   l       -   1       a   t
0011440        t   h   e       n   e   x   t       1   7       m   s    
0011460    i   n   t   e   r   r   u   p   t   ,       t   h   e   n    
0011500    w   e       k   n   o   w       t   h   e  \r   ;       c   u
0011520    r   r   e   n   t       c   o   n   t   e   x   t       h   a
0011540    s       r   u   n       f   o   r       b   e   t   w   e   e
0011560    n       1   7       a   n   d       3   4       m   s   ,    
0011600    s   o       i   t       i 376 001  \0 205 351   s  \r   ;    
0011620    t   i   m   e       t   o       s   w   i   t   c   h       t
0011640    o       a   n   o   t   h   e   r       c   o   n   t   e   x
0011660    t   .           T   h   i   s       i   s       s   i   g   n
0011700    a   l   l   e   d       b   y       s   e   t   t   i   n   g
0011720   \r   ;       C   t   x   S   w   i   t   c   h       t   o    
0011740    0   ,       w   h   i   c   h       t   e   l   l   s       Y
0011760    i   e   l   d       t   o       d   o       a       B   l   o
0012000    c   k       n   e   x   t       t   i   m   e       i   t  \r
0012020    ;       i   s       c   a   l   l   e   d       r   a   t   h
0012040    e   r       t   h   a   n       r   e   t   u   r   n   i   n
0012060    g       i   m   m   e   d   i   a   t   e   l   y   .  \r  \r
0012100    .   S   c   h   e   d   I   n   t   e   r   r   u   p   t   :
0012120   \r  \t   s   t   a       0       s   a   v   e   0  \r  \t   l
0012140    d   a       0       @   l   v   C   t   x   S   w   i   t   c
0012160    h  \t   ;       G   e   t       c   o   n   t   e   x   t    
0012200    s   w   i   t   c   h       f   l   a   g  \r 376 001  \0 242
0012220   \f  \t   m   o   v   #       0       0       s   n   r  \t  \t
0012240    ;       S   w   i   t   c   h       a   l   r   e   a   d   y
0012260        r   e   q   u   e   s   t   e   d   ?  \r  \t       j   m
0012300    p       .   +   4  \t  \t   ;       Y   e   s   ,       d   o
0012320    n   e  \r  \t   c   o   m       0       0       s   z   r  \t
0012340   \t   ;       A   n   y       s   w   i   t   c   h       i   n
0012360        l   a   s   t       s   l   i   c   e   ?  \r  \t       a
0012400    d   c       0       0  \t  \t   ;       Y   e   s   ,       r
0012420    e   q   u   e   s   t       s   w   i   t   c   h       a   f
0012440    t   e   r       n   e   x   t  \r  \t   s   t   a       0    
0012460    @   l   v   C   t   x   S   w   i   t   c   h  \t   ;       U
0012500    p   d   a   t   e       t   h   e       f   l   a   g  \r  \t
0012520    l   d   a       0       s   a   v   e   0  \r  \t   b   r   i
0012540   \r  \r   l   v   C   t   x   S   w   i   t   c   h   :       C
0012560    t   x   S   w   i   t   c   h  \r   l   v   B   l   o   c   k
0012600    :       B   l   o   c   k  \r   s   a   v   e   0   :  \t   0
0012620   \r 376 001  \0   w   p  \f  \r   ;       U   s   e   r       f
0012640    i   n   i   s   h       p   r   o   c   e   d   u   r   e    
0012660    -   -       t   u   r   n   s       o   f   f       s   c   h
0012700    e   d   u   l   e   r       i   n   t   e   r   r   u   p   t
0012720   \r  \r   .   S   c   h   e   d   F   i   n   i   s   h   :  \r
0012740   \t   s   t   a       3       1       2  \r  \t   l   d   a    
0012760    0       @   l   v   S   c   h   e   d   M   a   s   k  \r  \t
0013000    c   o   m       0       0  \r  \t   l   d   a       1       @
0013020    l   v   D   i   s   p   l   a   y   I   n   t   e   r   r   u
0013040    p   t  \r  \t   a   n   d       0       1  \r  \t   s   t   a
0013060        1       @   l   v   D   i   s   p   l   a   y   I   n   t
0013100    e   r   r   u   p   t  \r  \t   l   d   a       1       @   l
0013120    v   A   c   t   i   v   e  \r  \t   a   n   d       0       1
0013140   \r  \t   s   t   a       1       @   l   v   A   c   t   i   v
0013160    e  \r  \t   l   d   a       0       @   l   v   S   c   h   e
0013200    d   S   a   v   e   d   U   F   P  \r  \t   l   d   a       3
0013220        @   l   v   L   v 376  \0 267 237  \t   U   s   e   r   F
0013240    i   n   i   s   h   P   r   o   c  \r  \t   s   t   a       0
0013260        0       3  \r  \t   l   d   a       3       1       2  \r
0013300   \t   j   m   p       1       3  \r  \r   l   v   S   c   h   e
0013320    d   M   a   s   k   :       s   c   h   e   d   M   a   s   k
0013340   \r   l   v   D   i   s   p   l   a   y   I   n   t   e   r   r
0013360    u   p   t   :       4   2   1  \r   l   v   A   c   t   i   v
0013400    e   :       4   5   3  \r   l   v   S   c   h   e   d   S   a
0013420    v   e   d   U   F   P   :       s   c   h   e   d   S   a   v
0013440    e   d   U   F   P  \r   l   v   L   v   U   s   e   r   F   i
0013460    n   i   s   h   P   r   o   c   :       l   v   U   s   e   r
0013500    F   i   n   i   s   h   P   r   o   c  \r  \r  \t   .   e   n
0013520    d  \r 377  \0  \0   C   o   n   t   e   x   t   S   c   h   I
0013540    n   i   t   .   b   c   p   l  \0 376 001  \0   :   F   /   /
0013560        C   o   n   t   e   x   t   S   c   h   I   n   i   t   .
0013600    b   c   p   l       -   -       i   n   i   t   i   a   l   i
0013620    z   a   t   i   o   n       f   o   r       C   o   n   t   e
0013640    x   t   S   c   h   e   d       m   o   d   u   l   e  \r   /
0013660    /       C   o   p   y   r   i   g   h   t       X   e   r   o
0013700    x       C   o   r   p   o   r   a   t   i   o   n       1   9
0013720    7   9  \r  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r
0013740    /   /   o   u   t   g   o   i   n   g       p   r   o   c   e
0013760    d   u   r   e   s  \r   I   n   i   t   C   o   n   t   e   x
0014000    t   S   c   h   e   d  \r  \r   /   /   i   n   c   o   m   i
0014020    n   g       p   r   o   c   e   d   u   r   e   s  \r   S   c
0014040    h   e   d   I   n   t   e   r   r   u   p   t   ;       S   c
0014060    h   e   d   F   i   n   i   s   h   ;       Y   i   e   l   d
0014100    ;       S   c   h   e   d   Y   i   e   l   d  \r  \r   /   /
0014120    i   n   c   o   m   i   n   g       s   t   a   t   i   c   s
0014140   \r   l   v   U   s   e   r   F   i   n   i   s   h   P 376 001
0014160   \0   o   Y   r   o   c   ;       s   c   h   e   d   S   a   v
0014200    e   d   U   F   P   ;       s   c   h   e   d   M   a   s   k
0014220   \r   ]  \r  \r   m   a   n   i   f   e   s   t       a   c   t
0014240    i   v   e       =       #   4   5   3  \r   m   a   n   i   f
0014260    e   s   t       i   n   t   e   r   r   u   p   t   V   e   c
0014300    t   o   r       =       #   5   0   1  \r   m   a   n   i   f
0014320    e   s   t       d   i   s   p   l   a   y   I   n   t   e   r
0014340    r   u   p   t       =       #   4   2   1  \r  \r  \r   /   /
0014360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014460    -  \r   l   e   t       I   n   i   t   C   o   n   t   e   x
0014500    t   S   c   h   e   d   (   )       b   e  \r   /   /   -   -
0014520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014560    -   -   - 376 001  \0 307 031   -   -   -   -   -   -   -   -
0014600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0014620    -   -   -   -  \r   [  \r   /   /   i   n   i   t   i   a   l
0014640    i   z   e       i   n   t   e   r   r   u   p   t       o   n
0014660        l   o   w   e   s   t   -   p   r   i   o   r   i   t   y
0014700        a   v   a   i   l   a   b   l   e       c   h   a   n   n
0014720    e   l  \r   l   e   t       c   ,       m   a   s   k       =
0014740        1   ,       #   4   0   0   0   0  \r   u   n   t   i   l
0014760        (   @   a   c   t   i   v   e       &       m   a   s   k
0015000    )       e   q       0       d   o       [       c       =    
0015020    c   +   1   ;       m   a   s   k       =       m   a   s   k
0015040        r   s   h   i   f   t       1       ]  \r   i   n   t   e
0015060    r   r   u   p   t   V   e   c   t   o   r   !   (   1   5   -
0015100    c   )       =       S   c   h   e   d   I   n   t   e   r   r
0015120    u   p   t  \r   @   a   c   t   i   v   e       =       @   a
0015140    c   t   i   v   e   %   m   a   s   k  \r   @   d   i   s   p
0015160    l   a   y   I   n   t   e   r 376  \0 326 372 300   r   u   p
0015200    t       =       @   d   i   s   p   l   a   y   I   n   t   e
0015220    r   r   u   p   t   %   m   a   s   k  \r   s   c   h   e   d
0015240    M   a   s   k       =       m   a   s   k  \r  \r   /   /   q
0015260    u   e   u   e       a       u   s   e   r       f   i   n   i
0015300    s   h       p   r   o   c   e   d   u   r   e  \r   s   c   h
0015320    e   d   S   a   v   e   d   U   F   P       =       @   l   v
0015340    U   s   e   r   F   i   n   i   s   h   P   r   o   c  \r   @
0015360    l   v   U   s   e   r   F   i   n   i   s   h   P   r   o   c
0015400        =       S   c   h   e   d   F   i   n   i   s   h  \r  \r
0015420    /   /   c   a   u   s   e       Y   i   e   l   d   (   )    
0015440    t   o       e   n   t   e   r       C   o   n   t   e   x   t
0015460    S   c   h   e   d       m   o   d   u   l   e  \r   Y   i   e
0015500    l   d       =       S   c   h   e   d   Y   i   e   l   d  \r
0015520    ]  \r  \r 377  \0  \0   C   o   n   t   e   x   t   E   x   .
0015540    b   c   p   l  \0 376 001  \0 026   G   /   /       C   o   p
0015560    y   r   i   g   h   t       X   e   r   o   x       C   o   r
0015600    p   o   r   a   t   i   o   n       1   9   7   9  \r   e   x
0015620    t   e   r   n   a   l       [       I   n   i   t   i   a   l
0015640    i   z   e   C   o   n   t   e   x   t   ;       C   a   l   l
0015660    C   o   n   t   e   x   t   L   i   s   t   ;       B   l   o
0015700    c   k  \r  \t   S   e   r   i   a   l   N   u   m   b   e   r
0015720    ;       W   s   ;       W   n   s   ;       G   e   t   s   ;
0015740        E   n   d   o   f   s   ;       k   e   y   s   ;       d
0015760    s   p  \r  \t   I   n   i   t   i   a   l   i   z   e   Z   o
0016000    n   e   ;       A   l   l   o   c   a   t   e   ]  \r   m   a
0016020    n   i   f   e   s   t       R   T   C   =   #   4   3   0  \r
0016040    m   a   n   i   f   e   s   t       E   P   L   o   c   =   #
0016060    6   0   0  \r   m   a   n   i   f   e   s   t       E   I   C
0016100    L   o   c   =   #   6   0   4  \r   m   a   n   i   f   e   s
0016120    t       E   I   P   L   o   c   =   #   6   0   5  \r   m   a
0016140    n   i   f   e   s   t       E   S   L 376 001  \0   6 301   o
0016160    c   =   #   6   1   0  \r   m   a   n   i   f   e   s   t    
0016200    S   I   O   =   #   6   1   0   0   4  \r  \r   s   t   a   t
0016220    i   c       [       C   t   x   Z   n   ;       C   t   x   H
0016240    e   a   d   ;       N   u   m   T   i   m   e   P   r   o   c
0016260    s   =   0       ]  \r  \r  \r   l   e   t       m   a   i   n
0016300    (   )       b   e  \r  \t   [  \r  \t   l   e   t       z   =
0016320    v   e   c       1   0   0   0   0   ;       C   t   x   Z   n
0016340    =   z           /   /       Z   o   n   e       t   o       a
0016360    l   l   o   c   a   t   e       c   o   n   t   e   x   t   s
0016400        f   r   o   m  \r  \t   I   n   i   t   i   a   l   i   z
0016420    e   Z   o   n   e   (   C   t   x   Z   n   ,   1   0   0   0
0016440    0   )  \r  \t   l   e   t       s   1   =   v   e   c       2
0016460    0   0  \r  \t   l   e   t       s   2   =   v   e   c       2
0016500    0   0  \r  \r  \t   C   t   x   H   e   a   d   =   I   n   i
0016520    t   i   a   l   i   z   e   C   o   n   t   e   x   t   (   s
0016540    1   ,       2   0   0   ,       C   o   m   m   a   n   d 376
0016560  001  \0 225   G   P   r   o   c   )  \r  \t   l   e   t       n
0016600    e   x   t   =   I   n   i   t   i   a   l   i   z   e   C   o
0016620    n   t   e   x   t   (   s   2   ,       2   0   0   ,       E
0016640    t   h   e   r   P   r   o   c   )  \r  \t   @   C   t   x   H
0016660    e   a   d   =   n   e   x   t  \r  \r  \t   C   a   l   l   C
0016700    o   n   t   e   x   t   L   i   s   t   (   C   t   x   H   e
0016720    a   d   )       r   e   p   e   a   t  \r  \t   ]  \r  \r  \r
0016740    a   n   d       C   o   m   m   a   n   d   P   r   o   c   (
0016760    )       b   e  \r   [  \r   W   s   (   "   *   n   *   *   "
0017000    )  \r   w   h   i   l   e       E   n   d   o   f   s   (   k
0017020    e   y   s   )       d   o       B   l   o   c   k   (   )    
0017040        /   /       B   l   o   c   k       u   n   t   i   l    
0017060    u   s   e   r       t   y   p   e   s       s   o   m   e   t
0017100    h   i   n   g  \r   l   e   t       C   h   a   r   =   G   e
0017120    t   s   (   k   e   y   s   )  \r   s   w   i   t   c   h   o
0017140    n       C   h   a   r       i   n   t   o  \r  \t   [  \r  \t
0017160    c   a   s   e 376 001  \0 363 325       $   S   :       c   a
0017200    s   e       $   s   :  \r  \t  \t   [  \r  \t  \t   W   s   (
0017220    "   *   n   S   t   a   r   t       a   n   o   t   h   e   r
0017240        T   i   m   e   P   r   o   c   "   )  \r  \t  \t   l   e
0017260    t       r   e   g   i   o   n   =   A   l   l   o   c   a   t
0017300    e   (   C   t   x   Z   n   ,   2   0   0   )           /   /
0017320        C   r   e   a   t   e       n   e   w       c   o   n   t
0017340    e   x   t  \r  \t  \t   l   e   t       c   t   x   =   I   n
0017360    i   t   i   a   l   i   z   e   C   o   n   t   e   x   t   (
0017400    r   e   g   i   o   n   ,   2   0   0   ,   T   i   m   e   P
0017420    r   o   c   ,   1   )  \r  \t  \t   N   u   m   T   i   m   e
0017440    P   r   o   c   s   =   N   u   m   T   i   m   e   P   r   o
0017460    c   s   +   1  \r  \t  \t   c   t   x   !   3   =   N   u   m
0017500    T   i   m   e   P   r   o   c   s           /   /       P   a
0017520    r   a   m   e   t   e   r       f   o   r       t   h   i   s
0017540        i   n   s   t   a   n   c   e       o   f       T   i   m
0017560    e   P   r   o   c  \r  \t  \t   c 376 001  \0 344 330   t   x
0017600    !   0   =   C   t   x   H   e   a   d   ;       C   t   x   H
0017620    e   a   d   =   c   t   x           /   /       L   i   n   k
0017640        i   n   t   o       c   o   n   t   e   x   t       l   i
0017660    s   t  \r  \t  \t   e   n   d   c   a   s   e  \r  \t  \t   ]
0017700   \r  \t   c   a   s   e       $   Q   :       c   a   s   e    
0017720    $   q   :           [       W   s   (   "   Q   u   i   t   "
0017740    )   ;       f   i   n   i   s   h   ]  \r  \t   d   e   f   a
0017760    u   l   t   :       W   s   (   "   ?   "   )  \r  \t   ]  \r
0020000    ]       r   e   p   e   a   t  \r  \r  \r   a   n   d       T
0020020    i   m   e   P   r   o   c   (   C   t   x   )       b   e  \r
0020040   \t   [  \r  \t   l   e   t       i   n   t   e   r   v   a   l
0020060    =   C   t   x   !   3  \t   /   /       G   e   t       i   n
0020100    t   e   r   v   a   l       f   r   o   m       c   o   n   t
0020120    e   x   t  \r  \t   l   e   t       f   =   @   R   T   C   +
0020140    2   7   *   i   n   t   e   r   v   a   l  \t   /   /       T
0020160    h   a   t       m   a   n   y       s   e   c   o   n 376 001
0020200   \0   j   U   d   s       f   r   o   m       n   o   w  \r  \t
0020220    u   n   t   i   l       (   @   R   T   C   -   f   )       g
0020240    r       0       d   o       B   l   o   c   k   (   )  \r  \t
0020260    W   n   s   (   d   s   p   ,   i   n   t   e   r   v   a   l
0020300    )  \t   /   /       T   y   p   e       o   u   r       i   n
0020320    t   e   r   v   a   l  \r  \t   ]       r   e   p   e   a   t
0020340   \r  \r   a   n   d       E   t   h   e   r   P   r   o   c   (
0020360    )       b   e  \r  \t   [  \r  \t   S   t   a   r   t   I   O
0020400    (   3   )  \t  \t   /   /   R   e   s   e   t       E   t   h
0020420    e   r  \r  \t   @   E   S   L   o   c   =   S   e   r   i   a
0020440    l   N   u   m   b   e   r  \r  \t   l   e   t       b   u   f
0020460    =   v   e   c       5   0  \r  \t   @   E   I   C   L   o   c
0020500    =   5   0  \r  \t   @   E   I   P   L   o   c   =   b   u   f
0020520   \r  \t   @   E   P   L   o   c   =   0  \r  \t   S   t   a   r
0020540    t   I   O   (   2   )  \t  \t   /   /   S   t   a   r   t    
0020560    i   n   p   u   t  \r  \t   u   n   t   i   l       @   E   P
0020600    L   o   c 376  \0 200   i 317       n   e       0       d   o
0020620        B   l   o   c   k   (   )  \r  \t   i   f       (   @   E
0020640    P   L   o   c       r   s   h   i   f   t       8   )       e
0020660    q       0       t   h   e   n       W   s   (   "   M   e   s
0020700    s   a   g   e       a   r   r   i   v   e   d   "   )  \r  \t
0020720    ]       r   e   p   e   a   t  \r  \r   a   n   d       S   t
0020740    a   r   t   I   O   (   c   )       b   e       (   t   a   b
0020760    l   e       [       S   I   O   ;       #   1   4   0   1    
0021000    ]   )   (   c   )  \r  \r  \r 377  \0  \0   C   o   m   p   i
0021020    l   e   C   o   n   t   e   x   t   .   c   m  \0 376  \0   ~
0021040    Z   X   A   s   m   /   e       C   o   n   t   e   x   t   .
0021060    a   s   m   ;       ^  \r   B   c   p   l   /   f       C   o
0021100    n   t   e   x   t   I   n   i   t   .   b   c   p   l   ;    
0021120    ^  \r   A   s   m   /   e       C   o   n   t   e   x   t   S
0021140    c   h   e   d   .   a   s   m   ;       ^  \r   B   c   p   l
0021160    /   f       C   o   n   t   e   x   t   S   c   h   I   n   i
0021200    t   .   b   c   p   l   ;       ^  \r   B   c   p   l   /   f
0021220        C   o   n   t   e   x   t   E   x   .   b   c   p   l  \r
0021240  377  \0  \0   L   o   a   d   C   o   n   t   e   x   t   E   x
0021260    .   c   m  \0 376  \0   " 024 370   B   l   d   r       C   o
0021300    n   t   e   x   t   E   x       C   o   n   t   e   x   t    
0021320    C   o   n   t   e   x   t   I   n   i   t 377  \0  \0   D   u
0021340    m   p   C   o   n   t   e   x   t   .   c   m  \0 376  \0   p
0021360  374 263   D   u   m   p   /   c       C   o   n   t   e   x   t
0021400    .   d   m       C   o   n   t   e   x   t   .   b   r       C
0021420    o   n   t   e   x   t   I   n   i   t   .   b   r       C   o
0021440    n   t   e   x   t   S   c   h   e   d   .   b   r       C   o
0021460    n   t   e   x   t   S   c   h   I   n   i   t   .   b   r    
0021500    D   u   m   p   /   c       C   o   n   t   e   x   t   S   o
0021520    u   r   c   e   s   .   d   m       @   C   o   n   t   e   x
0021540    t   @ 377  \0  \0   C   o   n   t   e   x   t   .   c   m  \0
0021560  376  \0 215   U 273   C   o   n   t   e   x   t   .   a   s   m
0021600        C   o   n   t   e   x   t   I   n   i   t   .   b   c   p
0021620    l       C   o   n   t   e   x   t   S   c   h   e   d   .   a
0021640    s   m       C   o   n   t   e   x   t   S   c   h   I   n   i
0021660    t   .   b   c   p   l       C   o   n   t   e   x   t   E   x
0021700    .   b   c   p   l       C   o   m   p   i   l   e   C   o   n
0021720    t   e   x   t   .   c   m       L   o   a   d   C   o   n   t
0021740    e   x   t   E   x   .   c   m       D   u   m   p   C   o   n
0021760    t   e   x   t   .   c   m       C   o   n   t   e   x   t   .
0022000    c   m 374                                                    
0022003