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