$ od -c -N 50000 [Indigo]<AltoSource>ASIM.DM!2
0000000  377  \0  \0   a   s   i   m   .   b   c   p   l  \0 376 001  \0
0000020  326 241   /   /  \r   /   /       A   l   t   o       m   i   c
0000040    r   o   p   r   o   c   e   s   s   o   r       s   i   m   u
0000060    l   a   t   o   r  \r   /   /       l   a   s   t       e   d
0000100    i   t   e   d       N   o   v   e   m   b   e   r       1   3
0000120    ,       1   9   7   8           5   :   2   9       P   M  \r
0000140    /   /  \r   /   /       C   o   p   y   r   i   g   h   t    
0000160    X   e   r   o   x       C   o   r   p   o   r   a   t   i   o
0000200    n       1   9   7   9  \r  \r  \t   g   e   t       "   a   m
0000220    i   .   d   "  \r  \t   g   e   t       "   a   s   i   m   .
0000240    d   "  \r  \r  \r   s   t   r   u   c   t   u   r   e       I
0000260    R   :  \t   /   /       f   i   e   l   d   s       i   n    
0000300    I   R       f   o   r       N   o   v   a       F   2   '   s
0000320   \r   [  \t   b   i   t   0       b   i   t       1  \r  \t   z
0000340        b   i   t       7       =  \r  \t   [       o   p   f    
0000360    b   i   t       2       =       a   c   s       b   i   t    
0000400    2  \r  \t           o   p   x       b   i   t       5       =
0000420   \r  \t 376 001  \0  \0   t           [       f   u   n   c   t
0000440        b   i   t       2       =       a   c   d       b   i   t
0000460        2  \r  \t                   b   i   t   5   6   7       b
0000500    i   t       3       =       [       i   n   d       b   i   t
0000520        1   ;       i   d   x       b   i   t       2       ]  \r
0000540   \t           ]  \r  \t   ]       =  \r  \t   [       b   l   a
0000560    n   k       b   i   t       3  \r  \t           a   d   r   p
0000600        b   i   t       4  \r  \t   ]  \r  \t   d   i   s   p    
0000620    b   i   t       8       =  \r  \t   [       s   h   i   f   t
0000640        b   i   t       2  \r  \t           c   a   r   r   y    
0000660    b   i   t       2  \r  \t           n   o   l   o   a   d    
0000700    b   i   t       1  \r  \t           s   k   i   p       b   i
0000720    t       3       =  \r  \t           [       s   k   c       b
0000740    i   t       2  \r  \t                   s   k   p       b   i
0000760    t       1  \r  \t           ]  \r  \t   ]  \r   ]  \r  \r   s
0001000    t   a   t   i   c  \t   /   /       t   h   e       m   i   c
0001020    r   o   p   r   o   c   e 376 001  \0 221 003   s   s   o   r
0001040        s   t   a   t   e   ,       c   o   m   m   e   n   t   s
0001060        a   r   e       i   n       A   s   i   m   .   d  \r   [
0001100   \t   @   t   ;       @   t   u   ;       @   l   ;       @   l
0001120    u  \r  \t   @   i   r  \r  \t   @   c   a   r   r   y  \r  \t
0001140    @   b   u   s  \r  \t   @   a   l   u  \r  \t   @   s   h  \r
0001160   \t   @   s   k   i   p  \r  \t   @   a   l   u   c   y  \r  \t
0001200    @   m   a   r   ;       @   a   l   t   b   a   n   k   ;    
0001220    @   m   s   t   a   t   e  \r  \t   @   m   a   r   m   o   d
0001240   \r  \t   @   m   d   ;       @   m   d   x   ;       @   m   d
0001260    u  \r  \t   @   n   m   o   d  \r  \t   @   p   c  \r  \t   @
0001300    w   a   i   t   i   n   g  \r  \t   @   r   a   m   a   d   r
0001320   \r   ]  \r  \r   e   x   t   e   r   n   a   l  \t   /   /    
0001340    m   e   m   o   r   y       a   c   c   e   s   s       p   r
0001360    o   c   e   d   u   r   e   s  \r   [  \t   R   e   a   d   R
0001400    ;       W   r   i   t   e   R  \r  \t   R   e   a   d   C   O
0001420    N  \r  \t   R   e   a   d   R   A   M   ;     376 001  \0 253
0001440    k   W   r   i   t   e   R   A   M  \r  \t   R   e   a   d   M
0001460    E   M   ;       W   r   i   t   e   M   E   M  \r   ]  \r  \r
0001500    m   a   n   i   f   e   s   t  \t   /   /       m   e   m   o
0001520    r   y       s   t   a   t   e   s  \r   [  \t   m   Q   U   I
0001540    E   T       =       0  \t   /   /       m   e   m   o   r   y
0001560        i   d   l   e  \r  \t   m   M   A   R   1       =       1
0001600   \t   /   /       1       i   n   s   t   r   .       a   f   t
0001620    e   r       M   A   R   _  \r  \t   m   M   A   R   2       =
0001640        2  \t   /   /       2       i   n   s   t   r   .   s    
0001660    a   f   t   e   r       M   A   R   _  \r  \t   m   M   A   R
0001700    3       =       3  \t   /   /       3       i   n   s   t   r
0001720    .   s       a   f   t   e   r       M   A   R   _  \r  \t   m
0001740    M   A   R   4       =       4  \t   /   /       4       i   n
0001760    s   t   r   .   s       a   f   t   e   r       M   A   R   _
0002000   \r  \t   m   M   D   1       =       5  \t   /   /       1    
0002020    i   n   s   t   r   .       a   f   t   e   r       f   e   t
0002040    c 376 001  \0 322 035   h       d   o   n   e       i   n    
0002060    M   A   R   2  \r  \t   m   M   D   2       =       6  \t   /
0002100    /       1       i   n   s   t   r   .       a   f   t   e   r
0002120        f   e   t   c   h       d   o   n   e       i   n       M
0002140    A   R   3   -   4  \r  \t   m   S   T   1       =       7  \t
0002160    /   /       1       i   n   s   t   r   .       a   f   t   e
0002200    r       s   t   o   r   e       d   o   n   e       i   n    
0002220    M   A   R   2  \r  \t   m   S   T   2       =       8  \t   /
0002240    /       1       i   n   s   t   r   .       a   f   t   e   r
0002260        s   t   o   r   e       d   o   n   e       i   n       M
0002300    A   R   3  \r   ]  \r   m   a   n   i   f   e   s   t  \r  \t
0002320    m   s   b   u   s   y   m   a   s   k       =       b   1   +
0002340    b   2   +   b   3  \t   /   /       m   s   t   a   t   e   s
0002360        i   l   l   e   g   a   l       a   t       t   a   s   k
0002400        s   w   i   t   c   h  \r  \r   m   a   n   i   f   e   s
0002420    t  \t   /   /       o   t   h   e   r       m   a   n   i   f
0002440    e   s   t   s  \r   [ 376 001  \0   W 025  \t   M   O   U   S
0002460    E   L   O   C       =       #   1   7   7   0   3   0  \t   /
0002500    /       m   o   u   s   e       d   a   t   a  \r  \t   E   M
0002520    B   A   N   K   S       =       #   1   7   7   7   4   0  \t
0002540    /   /       m   e   m   o   r   y       b   a   n   k       #
0002560    s  \r   ]  \r  \r   s   t   a   t   i   c  \t   /   /       c
0002600    o   n   f   i   g   u   r   a   t   i   o   n       f   l   a
0002620    g   s  \r   [  \t   @   A   l   t   o   T   y   p   e  \t   /
0002640    /       0       =       m   u   s   t       r   u   n       o
0002660    n       b   o   t   h       A   l   t   o       I       a   n
0002700    d       I   I  \r  \t  \t   /   /       1       =       A   l
0002720    t   o       I  \r  \t  \t   /   /       2       =       A   l
0002740    t   o       I   I  \r  \t   E   x   t   e   n   d   e   d   M
0002760    e   m   o   r   y  \r  \t   E   x   t   r   a   R   O   M  \r
0003000    ]  \r  \r   s   t   a   t   i   c  \t   /   /       o   t   h
0003020    e   r       s   t   a   t   i   c   s  \r   [  \t   i   d   l
0003040    e   n   m   s  \t   /   /       m   s   t 376 001  \0   B   m
0003060    a   t   e       t   r   a   n   s   i   t   i   o   n       t
0003100    a   b   l   e       w   h   e   n       i   d   l   e  \r  \t
0003120    m   a   r   n   m   s  \t   /   /       d   i   t   t   o    
0003140    f   o   r       M   A   R   _  \r  \t   f   e   t   c   h   n
0003160    m   s  \t   /   /       d   i   t   t   o       f   o   r    
0003200    _   M   D  \r  \t   s   t   o   r   e   n   m   s  \t   /   /
0003220        d   i   t   t   o       f   o   r       M   D   _  \r  \t
0003240    @   c   y  \t   /   /       t   e   m   p   .       f   o   r
0003260        A   L   U       c   a   r   r   y  \r  \t   @   w   p   t
0003300    r  \t   /   /       p   o   i   n   t   e   r       t   o    
0003320    l   i   s   t       o   f       p   l   a   n   n   e   d    
0003340    w   r   i   t   e   s  \r   ]  \r  \r  \r   l   e   t       I
0003360    n   i   t   A   s   i   m   (   a   t   y   p   e   ,       x
0003400    r   o   m   ,       x   m   ,       d   w   s   ;       n   u
0003420    m   a   r   g   s       n   a   )       b   e  \r   [  \t   s
0003440    w   i   t   c   h   o   n       n   a       i   n   t   o  \r
0003460  376 001  \0   j 275  \t   [       c   a   s   e       0   :    
0003500    a   t   y   p   e       =       0  \r  \t           c   a   s
0003520    e       1   :       x   r   o   m       =       f   a   l   s
0003540    e  \r  \t           c   a   s   e       2   :       x   m    
0003560    =       f   a   l   s   e  \r  \t           c   a   s   e    
0003600    3   :       d   w   s       =       f   a   l   s   e  \r  \t
0003620    ]  \r  \t   A   l   t   o   T   y   p   e       =       a   t
0003640    y   p   e  \r  \t   E   x   t   r   a   R   O   M       =    
0003660    x   r   o   m  \r  \t   E   x   t   e   n   d   e   d   M   e
0003700    m   o   r   y       =       x   m  \r  \t   i   d   l   e   n
0003720    m   s       =       t   a   b   l   e   [       m   Q   U   I
0003740    E   T   ;       m   M   A   R   2   ;       m   M   A   R   3
0003760    ;       m   M   A   R   4   ;       m   Q   U   I   E   T  \r
0004000   \t           m   Q   U   I   E   T   ;       m   Q   U   I   E
0004020    T   ;       m   Q   U   I   E   T   ;       m   Q   U   I   E
0004040    T       ]  \r  \t   m   a   r   n   m   s       =       t   a
0004060    b   l   e   [     376 001  \0   L   6   m   M   A   R   1   ;
0004100        -   1   ;       m   M   A   R   1   ;       m   M   A   R
0004120    1   ;       m   M   A   R   1  \r  \t           m   M   A   R
0004140    1   ;       m   M   A   R   1   ;       m   M   A   R   1   ;
0004160        m   M   A   R   1       ]  \r  \t   s   w   i   t   c   h
0004200    o   n       A   l   t   o   T   y   p   e       i   n   t   o
0004220   \r  \t   [       c   a   s   e       2   :       s   e   t   m
0004240    e   m   2   (   )   ;       e   n   d   c   a   s   e  \r  \t
0004260            c   a   s   e       1   :       s   e   t   m   e   m
0004300    1   (   d   w   s   )   ;       e   n   d   c   a   s   e  \r
0004320   \t           c   a   s   e       0   :       s   e   t   m   e
0004340    m   0   (   d   w   s   )   ;       e   n   d   c   a   s   e
0004360   \r  \t   ]  \r  \t   w   a   i   t   i   n   g       =       -
0004400    1  \r  \t   l   u   ,       t   u       =       t   r   u   e
0004420    ,       t   r   u   e  \r  \t   m   s   t   a   t   e       =
0004440        m   Q   U   I   E   T  \r  \t   m   d   u       =       t
0004460    r   u   e  \r  \t   m   a   r   m   o 376 001  \0 351   f   d
0004500    ,       m   d   ,       m   d   x       =       0   ,       0
0004520    ,       0  \r  \t   t   ,       l   ,       i   r       =    
0004540    0   ,       0   ,       0  \r  \t   s   k   i   p   ,       a
0004560    l   u   c   y   ,       c   a   r   r   y       =       0   ,
0004600        0   ,       0  \r  \t   n   m   o   d       =       0  \r
0004620    ]  \r  \r   a   n   d       s   e   t   m   e   m   0   (   d
0004640    w   s   )       b   e  \r   [  \t   s   e   t   m   e   m   1
0004660    (   d   w   s   )  \t   /   /       A   l   t   o       I    
0004700    t   i   m   i   n   g       i   s       c   o   m   p   a   t
0004720    i   b   l   e       a   l   m   o   s   t       e   v   e   r
0004740    y   w   h   e   r   e  \r  \t   s   t   o   r   e   n   m   s
0004760        =       t   a   b   l   e   [       -   1   ;       -   1
0005000    ;       m   S   T   1   ;       m   S   T   2   ;       -   1
0005020   \r  \t           m   S   T   2   ;       -   1   ;       -   1
0005040    ;       -   1       ]  \t   /   /       s   t   o   r   e    
0005060    t   i   m   i   n   g       l   i   k   e       A   l   t 376
0005100  001  \0 243   S   o       I   I  \r  \t   s   t   o   r   e   n
0005120    m   s   !   m   S   T   1       =       (   d   w   s   ?    
0005140    m   Q   U   I   E   T   ,       -   1   )  \r   ]  \r  \r   a
0005160    n   d       s   e   t   m   e   m   1   (   d   w   s   )    
0005200    b   e  \r   [  \t   m   a   r   n   m   s   !   m   M   A   R
0005220    1       =       -   1  \t   /   /       r   e   q   u   i   r
0005240    e   s       1   -   c   y   c   l   e       w   a   i   t    
0005260    f   o   r       M   A   R   _       a   f   t   e   r       M
0005300    A   R   _  \r  \t   f   e   t   c   h   n   m   s       =    
0005320    t   a   b   l   e   [       -   1   ;       -   1   ;       m
0005340    M   D   1   ;       m   M   D   2   ;       m   M   D   2  \r
0005360   \t           m   Q   U   I   E   T   ;       m   Q   U   I   E
0005400    T   ;       m   Q   U   I   E   T   ;       m   Q   U   I   E
0005420    T       ]  \t   /   /       m   e   m   o   r   y       d   a
0005440    t   a       i   s       n   o   t       l   a   t   c   h   e
0005460    d  \r  \t   t   e   s   t       d   w   s  \r  \t       i   f
0005500    s   o  \r  \t 376 001  \0 207  \a   s   t   o   r   e   n   m
0005520    s       =       t   a   b   l   e   [       -   1   ;       -
0005540    1   ;       m   S   T   1   ;       m   S   T   2   ;       m
0005560    S   T   2  \r  \t           m   S   T   2   ;       m   Q   U
0005600    I   E   T   ;       m   Q   U   I   E   T   ;       m   Q   U
0005620    I   E   T       ]  \t   /   /       s   t   o   r   e       a
0005640    s       l   a   t   e       a   s       M   A   R   4  \r  \t
0005660        i   f   n   o   t  \r  \t   s   t   o   r   e   n   m   s
0005700        =       t   a   b   l   e   [       -   1   ;       -   1
0005720    ;       m   S   T   1   ;       m   S   T   2   ;       m   S
0005740    T   2  \r  \t           m   S   T   2   ;       m   Q   U   I
0005760    E   T   ;       -   1   ;       -   1       ]  \t   /   /    
0006000    s   t   o   r   e       a   s       l   a   t   e       a   s
0006020        M   A   R   4  \r   ]  \r  \r   a   n   d       s   e   t
0006040    m   e   m   2   (   )       b   e  \r   [  \t   m   a   r   n
0006060    m   s   !   m   M   A   R   1       =       m   M   A   R   1
0006100   \t   /   /       d   o   e   s   n 376 001  \0   i   6   '   t
0006120        r   e   q   u   i   r   e       1   -   c   y   c   l   e
0006140        w   a   i   t       f   o   r       M   A   R   _       a
0006160    f   t   e   r       M   A   R   _  \r  \t   f   e   t   c   h
0006200    n   m   s       =       t   a   b   l   e   [       m   Q   U
0006220    I   E   T   ;       -   1   ;       m   M   D   1   ;       m
0006240    M   D   2   ;       m   M   D   2  \r  \t           m   Q   U
0006260    I   E   T   ;       m   Q   U   I   E   T   ;       m   Q   U
0006300    I   E   T   ;       m   Q   U   I   E   T       ]  \t   /   /
0006320        m   e   m   o   r   y       d   a   t   a       i   s    
0006340    l   a   t   c   h   e   d  \r  \t   s   t   o   r   e   n   m
0006360    s       =       t   a   b   l   e   [       -   1   ;       -
0006400    1   ;       m   S   T   1   ;       m   S   T   2   ;       -
0006420    1  \r  \t           m   S   T   2   ;       -   1   ;       m
0006440    Q   U   I   E   T   ;       -   1       ]  \t   /   /       s
0006460    t   o   r   e       n   o       l   a   t   e   r       t   h
0006500    a   n       M   A   R   3   ,       d   o   u   b   l 376 001
0006520   \0   |   [   e       s   t   o   r   e       m   u   s   t    
0006540    s   t   a   r   t       a   t       M   A   R   2  \r   ]  \r
0006560   \r  \r   l   e   t       A   s   i   m   (   )       =       v
0006600    a   l   o   f  \r   /   /       r   e   t   u   r   n   s    
0006620    0       o   r       e   r   r   o   r       s   t   r   i   n
0006640    g  \r   [  \t   l   e   t       i   n   s       =       v   e
0006660    c       1  \r  \t   i   n   s   !   0       =       R   e   a
0006700    d   R   A   M   (   p   c       %       #   2   0   0   0   )
0006720   \r  \t   i   n   s   !   1       =       R   e   a   d   R   A
0006740    M   (   p   c   )  \r  \t   l   e   t       n   e   x   t    
0006760    =       i   n   s   >   >   M   I   .   n   e   x   t       %
0007000        n   m   o   d  \r  \t   l   e   t       n   m   s       =
0007020        i   d   l   e   n   m   s  \r  \t   l   e   t       n   w
0007040    a   i   t       =       -   1  \r  \r  \t   /   /       U   n
0007060    p   a   c   k       i   n   s   t   r   u   c   t   i   o   n
0007100   \r  \t   l   e   t       r   s   e   l   ,       a   l   u   f
0007120    ,       b 376 001  \0 253 256   s   ,       f   1   x   ,    
0007140    f   2   x   ,       l   t   ,       l   l       =  \r  \t    
0007160        i   n   s   >   >   M   I   .   r   s   e   l   ,       i
0007200    n   s   >   >   M   I   .   a   l   u   f   ,       i   n   s
0007220    >   >   M   I   .   b   s   ,  \r  \t           i   n   s   >
0007240    >   M   I   .   f   1   x   ,       i   n   s   >   >   M   I
0007260    .   f   2   x   ,  \r  \t           i   n   s   >   >   M   I
0007300    .   l   o   a   d   t       n   e       0   ,       i   n   s
0007320    >   >   M   I   .   l   o   a   d   l   x       e   q       0
0007340   \r  \t   l   e   t       c   s   e   l       =       r   s   e
0007360    l       l   s   h   i   f   t       3       +       b   s  \r
0007400   \t   l   e   t       b   u   s   c   o   n       =       (   f
0007420    1   x       e   q       f   1   C   O   N   S   T   )       %
0007440        (   f   2   x       e   q       f   2   C   O   N   S   T
0007460    )  \r  \t   l   e   t       w   l   i   s   t       =       v
0007500    e   c       8  \r  \t   w   p   t   r       =       w   l   i
0007520    s   t  \r  \r  \t   /   /     376 001  \0   = 210   D   o    
0007540    m   o   s   t       e   r   r   o   r       c   h   e   c   k
0007560    s  \r  \t   i   f       l   u       t   h   e   n  \r  \t    
0007600        i   f       (   l   d   e   f   2   m   a   s   k       l
0007620    s   h   i   f   t       f   2   x       l   s       0   )    
0007640    %       (   w   a   i   t   i   n   g       e   q       f   1
0007660    W   R   T   R   A   M   )       t   h   e   n  \r  \t        
0007700            r   e   s   u   l   t   i   s       "   L       u   n
0007720    d   e   f   i   n   e   d   "  \r  \t   i   f       t   u    
0007740    t   h   e   n  \r  \t           i   f       (   f   2   x    
0007760    e   q       f   2   M   A   G   I   C   )       %       (   (
0010000    t   d   e   f   a   l   u   m   a   s   k       l   s   h   i
0010020    f   t       a   l   u   f       l   s       0   )       &  \r
0010040   \t               (   l   l       %       (   f   1   x       e
0010060    q       f   1   M   A   R   G   E   T   S   )       %       (
0010100    l   t       &       (   l   t   a   l   u   m   a   s   k    
0010120    l   s   h   i   f   t       a   l   u   f       l 376 001  \0
0010140  036   s   s       0   )   )   )   )       t   h   e   n  \r  \t
0010160                    r   e   s   u   l   t   i   s       "   T    
0010200    u   n   d   e   f   i   n   e   d   "  \r  \t   i   f       w
0010220    a   i   t   i   n   g       e   q       f   1   T   A   S   K
0010240        t   h   e   n  \r  \t   [       i   f       n   m   f   2
0010260    m   a   s   k       l   s   h   i   f   t       f   2   x    
0010300    l   s       0       t   h   e   n  \r  \t               u   n
0010320    l   e   s   s       (   f   2   x       e   q       f   2   I
0010340    R   G   E   T   S   )       &       b   u   s   c   o   n    
0010360    &       (   (   R   e   a   d   C   O   N   (   c   s   e   l
0010400    )       &       #   1   0   7   0   0   0   )       e   q    
0010420    0   )       d   o  \r  \t                   r   e   s   u   l
0010440    t   i   s       "   B   r   a   n   c   h       m   o   d   i
0010460    f   i   e   r       f   o   l   l   o   w   i   n   g       T
0010500    A   S   K   "  \r  \t           i   f       w   a   i   t   f
0010520    1   m   a   s   k       l   s   h   i   f   t       f   1   x
0010540        l 376 001  \0 210 203   s       0       t   h   e   n  \r
0010560   \t                   r   e   s   u   l   t   i   s       "   D
0010600    e   l   a   y   e   d       F   1       f   o   l   l   o   w
0010620    i   n   g       T   A   S   K   "  \r  \t           i   f    
0010640    (   m   s   b   u   s   y   m   a   s   k       l   s   h   i
0010660    f   t       m   s   t   a   t   e       l   s       0   )    
0010700    &       (   b   s       n   e       b   s   M   D   )       &
0010720   \r  \t               (   f   2   x       n   e       f   2   S
0010740    T   O   R   E   )       t   h   e   n  \r  \t                
0010760    r   e   s   u   l   t   i   s       "   T   A   S   K       w
0011000    i   t   h       m   e   m   o   r   y       r   u   n   n   i
0011020    n   g   "  \r  \t   ]  \r  \t   i   f       a   l   u   f    
0011040    n   e       0       t   h   e   n  \r  \t           i   f    
0011060    (   n   o   t       l   l   )       &       (   f   1   x    
0011100    n   e       f   1   M   A   R   G   E   T   S   )       &  \r
0011120   \t               (   (   l   t   a   l   u   m   a   s   k    
0011140    l   s   h   i   f   t     376 001  \0 321 367   a   l   u   f
0011160        g   e       0   )       %       (   n   o   t       l   t
0011200    )   )       t   h   e   n  \r  \t                   r   e   s
0011220    u   l   t   i   s       "   A   L   U       o   u   t   p   u
0011240    t       d   i   s   c   a   r   d   e   d   "  \r  \t   s   w
0011260    i   t   c   h   o   n       f   2   x       i   n   t   o  \r
0011300   \t   [       c   a   s   e       f   2   D   N   S   :  \r  \t
0011320            [       i   f       b   s       n   e       b   s   L
0011340    O   A   D   R       t   h   e   n  \r  \t                    
0011360        r   e   s   u   l   t   i   s       "   D   N   S       w
0011400    i   t   h       B   S   #   R   _   "  \r  \t                
0011420    e   n   d   c   a   s   e  \r  \t           ]  \r  \t        
0011440    c   a   s   e       f   2   S   T   O   R   E   :  \r  \t    
0011460        [       i   f       (   f   1   x       e   q       f   1
0011500    M   A   R   G   E   T   S   )       &       E   x   t   e   n
0011520    d   e   d   M   e   m   o   r   y       e   n   d   c   a   s
0011540    e  \t   /   /       n   o   t       a       r 376 001  \0 267
0011560    z   e   a   l       s   t   o   r   e  \r  \t                
0011600    i   f       s   t   o   r   e   n   m   s   !   m   s   t   a
0011620    t   e       e   q       -   1       t   h   e   n  \r  \t    
0011640                        r   e   s   u   l   t   i   s       "   M
0011660    D   _       a   t       w   r   o   n   g       t   i   m   e
0011700    "  \r  \t                   n   m   s       =       s   t   o
0011720    r   e   n   m   s  \r  \t                   e   n   d   c   a
0011740    s   e  \r  \t           ]  \r  \t   ]  \r  \r  \t   /   /    
0011760    M   o   d   i   f   y       l   o   w       b   i   t   s    
0012000    o   f       r   s   e   l  \r  \t   l   e   t       r   s   e
0012020    l   1       =       s   e   l   e   c   t   o   n       f   2
0012040    x       i   n   t   o  \r  \t   [       c   a   s   e       f
0012060    2   A   C   S   O   U   R   C   E   :       (   r   s   e   l
0012100    %   3   )   -   i   r   <   <   I   R   .   a   c   s  \r  \t
0012120            c   a   s   e       f   2   A   C   D   E   S   T   :
0012140   \r  \t           c   a   s   e       f   2   D   N   S   :    
0012160    ( 376 001  \0 303   e   r   s   e   l   %   3   )   -   i   r
0012200    <   <   I   R   .   a   c   d  \r  \t           d   e   f   a
0012220    u   l   t   :       r   s   e   l  \r  \t   ]  \r  \r  \t   /
0012240    /       C   o   m   p   u   t   e       s   h   i   f   t   e
0012260    r       o   u   t   p   u   t       a   n   d       e   m   u
0012300    l   a   t   o   r       c   a   r   r   y   i   n  \r  \t   l
0012320    e   t       c   a   r   r   y   i   n       =       n   i   l
0012340   \r  \t   l   e   t       e   c   y       =       (   f   2   x
0012360        n   e       f   2   D   N   S   ?       a   l   u   c   y
0012400    ,       v   a   l   o   f  \r  \t   [       c   a   r   r   y
0012420    i   n       =       c   a   r   r   y       x   o   r       s
0012440    e   l   e   c   t   o   n       i   r   <   <   I   R   .   c
0012460    a   r   r   y       i   n   t   o  \r  \t           [       c
0012500    a   s   e       1   :       0  \r  \t                   c   a
0012520    s   e       2   :       1  \r  \t                   c   a   s
0012540    e       3   :       1   -   a   l   u   c   y  \r  \t        
0012560            d   e   f   a 376 001  \0 265 017   u   l   t   :    
0012600    a   l   u   c   y  \r  \t           ]  \r  \t           r   e
0012620    s   u   l   t   i   s       s   e   l   e   c   t   o   n    
0012640    f   1   x       i   n   t   o  \r  \t           [       c   a
0012660    s   e       f   1   L   L   S   H   1   :       l       r   s
0012700    h   i   f   t       1   5  \r  \t                   c   a   s
0012720    e       f   1   L   R   S   H   1   :       l       &       1
0012740   \r  \t                   d   e   f   a   u   l   t   :       c
0012760    a   r   r   y   i   n  \r  \t           ]  \r  \t   ]       )
0013000   \r  \t   s   h       =       s   e   l   e   c   t   o   n    
0013020    f   1   x       i   n   t   o  \r  \t   [       c   a   s   e
0013040        f   1   L   L   C   Y   8   :       l       l   s   h   i
0013060    f   t       8       +       l       r   s   h   i   f   t    
0013100    8  \r  \t           c   a   s   e       f   1   L   L   S   H
0013120    1   :       l       l   s   h   i   f   t       1       +  \r
0013140   \t                   s   e   l   e   c   t   o   n       f   2
0013160    x       i   n   t   o  \r  \t             376 001  \0   7 241
0013200        [       c   a   s   e       f   2   M   A   G   I   C   :
0013220        t       r   s   h   i   f   t       1   5  \r  \t        
0013240                    c   a   s   e       f   2   D   N   S   :    
0013260    c   a   r   r   y   i   n  \r  \t                           d
0013300    e   f   a   u   l   t   :       0  \r  \t                   ]
0013320   \r  \t           c   a   s   e       f   1   L   R   S   H   1
0013340    :       l       r   s   h   i   f   t       1       +  \r  \t
0013360                    s   e   l   e   c   t   o   n       f   2   x
0013400        i   n   t   o  \r  \t                   [       c   a   s
0013420    e       f   2   M   A   G   I   C   :       t       l   s   h
0013440    i   f   t       1   5  \r  \t                           c   a
0013460    s   e       f   2   D   N   S   :       c   a   r   r   y   i
0013500    n       l   s   h   i   f   t       1   5  \r  \t            
0013520                d   e   f   a   u   l   t   :       0  \r  \t    
0013540                ]  \r  \t           d   e   f   a   u   l   t   :
0013560        l  \r  \t   ]  \r  \r  \t   /   /       C   o   m   p   u
0013600  376 001  \0 003 200   t   e       b   u   s       v   a   l   u
0013620    e  \r  \t   t   e   s   t       (   f   1   x       e   q    
0013640    f   1   C   O   N   S   T   )       %       (   f   2   x    
0013660    e   q       f   2   C   O   N   S   T   )  \r  \t   i   f   s
0013700    o       b   u   s       =       R   e   a   d   C   O   N   (
0013720    c   s   e   l   )  \r  \t   i   f   n   o   t  \r       [  \t
0013740    s   w   i   t   c   h   o   n       b   s       i   n   t   o
0013760   \r  \t   [       c   a   s   e       b   s   L   O   A   D   2
0014000    R   :  \r  \t           [       i   f       r   s   e   l    
0014020    e   q       0       t   h   e   n       r   e   s   u   l   t
0014040    i   s       "   A   t   t   e   m   p   t       t   o       l
0014060    o   a   d       R   4   0   "  \r  \t                   s   w
0014100    i   t   c   h   o   n       f   1   x       i   n   t   o  \r
0014120   \t                   [       c   a   s   e       f   1   L   L
0014140    S   H   1   :  \r  \t                           c   a   s   e
0014160        f   1   L   R   S   H   1   :  \r  \t                    
0014200        c   a   s   e 376 001  \0   h 005       f   1   L   L   C
0014220    Y   8   :  \r  \t                                   r   e   s
0014240    u   l   t   i   s       "   A   t   t   e   m   p   t       t
0014260    o       s   h   i   f   t       i   n   t   o       2   n   d
0014300        R       b   a   n   k   "  \r  \t                   ]  \r
0014320   \t                   p   l   a   n   (   W   r   i   t   e   R
0014340    ,       r   s   e   l   +   #   4   0   ,       l   )  \r  \t
0014360                    b   u   s       =       R   e   a   d   C   O
0014400    N   (   c   s   e   l   )  \r  \t                   e   n   d
0014420    c   a   s   e  \r  \t           ]  \r  \t           c   a   s
0014440    e       b   s   L   O   A   D   R   :  \r  \t           [    
0014460    i   f       l   u       t   h   e   n       r   e   s   u   l
0014500    t   i   s       "   L       u   n   d   e   f   i   n   e   d
0014520    "  \r  \t                   i   f       (   f   2   x       n
0014540    e       f   2   D   N   S   )       %       (   i   r   <   <
0014560    I   R   .   n   o   l   o   a   d       e   q       0   )    
0014600    t   h   e   n  \r  \t                 376 001  \0   0 337    
0014620        p   l   a   n   (   W   r   i   t   e   R   ,       r   s
0014640    e   l   1   ,       s   h   )  \r  \t                   b   u
0014660    s       =       0  \r  \t                   e   n   d   c   a
0014700    s   e  \r  \t           ]  \r  \t           c   a   s   e    
0014720    b   s   R   E   A   D   2   R   :  \r  \t           [       t
0014740    e   s   t       r   s   e   l       e   q       0  \r  \t    
0014760                i   f   s   o  \r  \t                   [       i
0015000    f       l   u       t   h   e   n       r   e   s   u   l   t
0015020    i   s       "   L       u   n   d   e   f   i   n   e   d   "
0015040   \r  \t                           b   u   s       =       l  \r
0015060   \t                   ]  \r  \t                   i   f   n   o
0015100    t  \r  \t                           b   u   s       =       R
0015120    e   a   d   R   (   r   s   e   l   +   #   4   0   )  \r  \t
0015140                    e   n   d   c   a   s   e  \r  \t           ]
0015160   \r  \t           c   a   s   e       b   s   R   E   A   D   R
0015200    :  \r  \t           [       b   u   s       =       R   e 376
0015220  001  \0   o 002   a   d   R   (   r   s   e   l   1   )  \r  \t
0015240                    e   n   d   c   a   s   e  \r  \t           ]
0015260   \r  \t           c   a   s   e       b   s   M   D   :  \r  \t
0015300            [       i   f       n   m   s       n   e       i   d
0015320    l   e   n   m   s       t   h   e   n  \r  \t                
0015340            r   e   s   u   l   t   i   s       "   2       m   e
0015360    m   o   r   y       o   p   s   "  \r  \t                   i
0015400    f       (   R   e   a   d   C   O   N   (   c   s   e   l   )
0015420        n   e       -   1   )       &       (   A   l   t   o   T
0015440    y   p   e       n   e       2   )       t   h   e   n  \r  \t
0015460                            r   e   s   u   l   t   i   s       "
0015500    A   t   t   e   m   p   t       t   o       m   a   s   k    
0015520    M   D   "  \r  \t                   i   f       f   e   t   c
0015540    h   n   m   s   !   m   s   t   a   t   e       e   q       -
0015560    1       t   h   e   n  \r  \t                           r   e
0015600    s   u   l   t   i   s       "   _   M   D       a   t       w
0015620    r   o   n   g 376 001  \0 341   B       t   i   m   e   "  \r
0015640   \t                   i   f       m   d   u       t   h   e   n
0015660   \r  \t                           r   e   s   u   l   t   i   s
0015700        "   M   D       u   n   d   e   f   i   n   e   d   "  \r
0015720   \t                   i   f       (   m   s   t   a   t   e    
0015740    e   q       m   M   D   1   )       &       (   (   m   a   r
0015760    &   1   )       n   e       0   )       &       (   A   l   t
0016000    o   T   y   p   e       e   q       0   )       t   h   e   n
0016020   \r  \t                           r   e   s   u   l   t   i   s
0016040        "   O   d   d       d   o   u   b   l   e       f   e   t
0016060    c   h       n   o   t       c   o   m   p   a   t   i   b   l
0016100    e   "  \r  \t                   n   m   s       =       f   e
0016120    t   c   h   n   m   s  \r  \t                   b   u   s    
0016140    =       (   A   l   t   o   T   y   p   e       n   e       2
0016160    ?       r   e   a   d   m   (   m   a   r       %       m   a
0016200    r   m   o   d   )   ,       m   a   r   m   o   d       e   q
0016220        0   ?       m   d   ,       m 376 001  \0 200 327   d   x
0016240    )       &       R   e   a   d   C   O   N   (   c   s   e   l
0016260    )  \r  \t                   m   a   r   m   o   d       =    
0016300    1   -   m   a   r   m   o   d  \r  \t                   e   n
0016320    d   c   a   s   e  \r  \t           ]  \r  \t           c   a
0016340    s   e       b   s   M   O   U   S   E   D   A   T   A   :  \r
0016360   \t           [       b   u   s       =       R   e   a   d   M
0016400    E   M   (   M   O   U   S   E   L   O   C   )       &       R
0016420    e   a   d   C   O   N   (   c   s   e   l   )  \r  \t        
0016440            e   n   d   c   a   s   e  \r  \t           ]  \r  \t
0016460            c   a   s   e       b   s   D   I   S   P   :  \r  \t
0016500            [       b   u   s       =       (   i   r   <   <   I
0016520    R   .   i   d   x       e   q       0   ?       i   r   &   #
0016540    3   7   7   ,       (   i   r   &   #   1   7   7   )   -   (
0016560    i   r   &   #   2   0   0   )   )       &       R   e   a   d
0016600    C   O   N   (   c   s   e   l   )  \r  \t                   e
0016620    n   d   c   a   s   e  \r  \t           ]  \r  \t     376 001
0016640   \0   8 245       d   e   f   a   u   l   t   :  \r  \t        
0016660            b   u   s       =       -   1  \r  \t   ]  \r       ]
0016700   \r  \t   i   f       w   a   i   t   i   n   g       e   q    
0016720    f   1   R   D   R   A   M       t   h   e   n  \r  \t        
0016740    b   u   s       =       b   u   s       &       R   e   a   d
0016760    R   A   M   (   r   a   m   a   d   r   )  \r  \r  \t   /   /
0017000        C   o   m   p   u   t   e       A   L   U       o   u   t
0017020    p   u   t  \r  \t   c   y       =       0  \r  \t   i   f    
0017040    a   l   u   f       g   e       #   1   6       t   h   e   n
0017060        r   e   s   u   l   t   i   s       "   B   a   d       A
0017100    L   U   F   "  \r  \t   a   l   u       =       s   e   l   e
0017120    c   t   o   n       a   l   u   f       i   n   t   o  \r  \t
0017140    [       c   a   s   e       1   :       t  \r  \t           c
0017160    a   s   e       2   :       b   u   s       %       t  \r  \t
0017200            c   a   s   e       3   :       b   u   s       &    
0017220    t  \r  \t           c   a   s   e       4   :       b   u   s
0017240        x   o 376 001  \0 265   #   r       t  \r  \t           c
0017260    a   s   e       5   :       a   d   d   3   (   b   u   s   ,
0017300        1   ,       0   )  \r  \t           c   a   s   e       6
0017320    :       a   d   d   3   (   b   u   s   ,       -   1   ,    
0017340    0   )  \r  \t           c   a   s   e       7   :       a   d
0017360    d   3   (   b   u   s   ,       t   ,       0   )  \t   /   /
0017400        B   U   S   +   T  \r  \t           c   a   s   e       #
0017420    1   0   :       a   d   d   3   (   b   u   s   ,       n   o
0017440    t       t   ,       1   )  \t   /   /       B   U   S   -   T
0017460   \r  \t           c   a   s   e       #   1   1   :       a   d
0017500    d   3   (   b   u   s   ,       n   o   t       t   ,       0
0017520    )  \t   /   /       B   U   S   -   T   -   1  \r  \t        
0017540    c   a   s   e       #   1   2   :       a   d   d   3   (   b
0017560    u   s   ,       t   ,       1   )  \t   /   /       B   U   S
0017600    +   T   +   1  \r  \t           c   a   s   e       #   1   3
0017620    :       a   d   d   3   (   b   u   s   ,       s   k   i   p
0017640    ,       0   )  \r  \t         376 001  \0   l   @   c   a   s
0017660    e       #   1   4   :       b   u   s       &       t  \r  \t
0017700            c   a   s   e       #   1   5   :       b   u   s    
0017720    &       n   o   t       t  \r  \t           d   e   f   a   u
0017740    l   t   :       b   u   s  \r  \t   ]  \r  \r  \t   /   /    
0017760    D   o       r   e   m   a   i   n   i   n   g       F   1   '
0020000    s  \r  \t   s   w   i   t   c   h   o   n       f   1   x    
0020020    i   n   t   o  \r  \t   [       c   a   s   e       f   1   N
0020040    O   N   E   :  \r  \t           c   a   s   e       f   1   L
0020060    L   S   H   1   :  \r  \t           c   a   s   e       f   1
0020100    L   R   S   H   1   :  \r  \t           c   a   s   e       f
0020120    1   L   L   C   Y   8   :  \r  \t           c   a   s   e    
0020140    f   1   C   O   N   S   T   :       e   n   d   c   a   s   e
0020160   \r  \t           c   a   s   e       f   1   M   A   R   G   E
0020200    T   S   :  \r  \t           [       i   f       n   m   s    
0020220    n   e       i   d   l   e   n   m   s       t   h   e   n    
0020240    r   e   s   u   l   t   i   s       "   2       m 376 001  \0
0020260  345 245   e   m   o   r   y       o   p   s   "  \r  \t        
0020300            i   f       m   a   r   n   m   s   !   m   s   t   a
0020320    t   e       e   q       -   1       t   h   e   n  \r  \t    
0020340                        r   e   s   u   l   t   i   s       "   M
0020360    e   m   o   r   y       t   i   m   i   n   g       e   r   r
0020400    o   r   "  \r  \t                   i   f       r   s   e   l
0020420        e   q       #   3   7       t   h   e   n       r   e   s
0020440    u   l   t   i   s       "   M   A   R   _       w   i   t   h
0020460        R   3   7   "  \r  \t                   n   m   s   ,    
0020500    m   a   r   ,       a   l   t   b   a   n   k       =       m
0020520    a   r   n   m   s   ,       a   l   u   ,       f   2   x    
0020540    e   q       f   2   S   T   O   R   E  \r  \t                
0020560    m   a   r   m   o   d   ,       m   d   u       =       0   ,
0020600        f   a   l   s   e  \r  \t                   i   f       A
0020620    l   t   o   T   y   p   e       e   q       2       t   h   e
0020640    n  \r  \t                           m   d   ,       m   d   x
0020660        = 376 001  \0   ^   R       r   e   a   d   m   (   m   a
0020700    r   )   ,       r   e   a   d   m   (   m   a   r       x   o
0020720    r       1   )  \r  \t                   e   n   d   c   a   s
0020740    e  \r  \t           ]  \r  \t           c   a   s   e       f
0020760    1   W   R   T   R   A   M   :  \r  \t           c   a   s   e
0021000        f   1   R   D   R   A   M   :  \r  \t           c   a   s
0021020    e       f   1   T   A   S   K   :  \r  \t           c   a   s
0021040    e       f   1   S   W   M   O   D   E   :       [       n   w
0021060    a   i   t       =       f   1   x   ;       e   n   d   c   a
0021100    s   e       ]  \r  \t           c   a   s   e       f   1   S
0021120    T   A   R   T   I   O   :       r   e   s   u   l   t   i   s
0021140        "   S   T   A   R   T   I   O   "  \r  \t           d   e
0021160    f   a   u   l   t   :       r   e   s   u   l   t   i   s    
0021200    "   B   a   d       F   1   "  \r  \t   ]  \r  \r  \t   /   /
0021220        D   o       r   e   m   a   i   n   i   n   g       F   2
0021240    '   s  \r  \t   i   f       b   a   d   f   2   m   a   s   k
0021260        l   s   h   i   f   t 376 001  \0   ] 336       f   2   x
0021300        l   s       0       t   h   e   n  \r  \t           r   e
0021320    s   u   l   t   i   s       "   B   a   d       F   2   "  \r
0021340   \t   n   m   o   d       =       s   e   l   e   c   t   o   n
0021360        f   2   x       i   n   t   o  \r  \t   [           c   a
0021400    s   e       f   2   D   N   S   :       v   a   l   o   f  \r
0021420   \t           [       i   f       i   r   <   <   I   R   .   n
0021440    o   l   o   a   d       e   q       0       t   h   e   n  \r
0021460   \t                           c   a   r   r   y       =       e
0021500    c   y  \r  \t                   s   k   i   p       =       i
0021520    r   <   <   I   R   .   s   k   p       x   o   r       s   e
0021540    l   e   c   t   o   n       i   r   <   <   I   R   .   s   k
0021560    c       i   n   t   o  \r  \t                   [       c   a
0021600    s   e       1   :       1   -   e   c   y  \r  \t            
0021620                c   a   s   e       2   :       (   s   h       e
0021640    q       0   ?       1   ,       0   )  \r  \t                
0021660            c   a   s   e       3   :       (   s 376 001  \0 310
0021700  342   h       e   q       0   ?       1   ,       1   -   e   c
0021720    y   )  \r  \t                           d   e   f   a   u   l
0021740    t   :       0  \r  \t                   ]  \r  \t            
0021760        r   e   s   u   l   t   i   s       0  \r  \t           ]
0022000   \r  \t           c   a   s   e       f   2   S   T   O   R   E
0022020    :       v   a   l   o   f  \r  \t           [       i   f    
0022040    f   1   x       e   q       f   1   M   A   R   G   E   T   S
0022060        r   e   s   u   l   t   i   s       0  \t   /   /       n
0022100    o   t       a       r   e   a   l       s   t   o   r   e  \r
0022120   \t                   n   m   s       =       s   t   o   r   e
0022140    n   m   s  \r  \t                   p   l   a   n   (   w   r
0022160    i   t   e   m   ,       (   A   l   t   o   T   y   p   e    
0022200    e   q       2   ?       m   a   r       x   o   r       m   a
0022220    r   m   o   d   ,       m   a   r       %       m   a   r   m
0022240    o   d   )   ,       b   u   s   )  \r  \t                   m
0022260    a   r   m   o   d       =       1   -   m   a   r   m   o   d
0022300   \r 376 001  \0 376 031  \t                   r   e   s   u   l
0022320    t   i   s       0  \r  \t           ]  \r  \t           c   a
0022340    s   e       f   2   B   U   S   E   Q   0   :       (   b   u
0022360    s       e   q       0   ?       1   ,       0   )  \r  \t    
0022400        c   a   s   e       f   2   S   H   L   S   0   :       s
0022420    h       r   s   h   i   f   t       1   5  \r  \t           c
0022440    a   s   e       f   2   S   H   E   Q   0   :       (   s   h
0022460        e   q       0   ?       1   ,       0   )  \r  \t        
0022500    c   a   s   e       f   2   B   U   S   :       b   u   s    
0022520    &       #   1   7   7   7  \r  \t           c   a   s   e    
0022540    f   2   A   L   U   C   Y   :       a   l   u   c   y  \r  \t
0022560            c   a   s   e       f   2   B   U   S   O   D   D   :
0022600        b   u   s       &       1  \r  \t           c   a   s   e
0022620        f   2   I   R   G   E   T   S   :       v   a   l   o   f
0022640   \r  \t           [       i   r   ,       s   k   i   p       =
0022660        b   u   s   ,       0  \r  \t                   r   e   s
0022700    u   l   t   i   s     376 001  \0 367 026   i   r   <   <   I
0022720    R   .   b   i   t   0       l   s   h   i   f   t       3    
0022740    +       i   r   <   <   I   R   .   b   i   t   5   6   7  \r
0022760   \t           ]  \r  \t           c   a   s   e       f   2   I
0023000    D   I   S   P   :       s   e   l   e   c   t   o   n       i
0023020    r   <   <   I   R   .   o   p   f       i   n   t   o  \r  \t
0023040            [       c   a   s   e       1   :       4  \r  \t    
0023060                c   a   s   e       2   :       5  \r  \t        
0023100            c   a   s   e       3   :       s   e   l   e   c   t
0023120    o   n       i   r   <   <   I   R   .   a   d   r   p       i
0023140    n   t   o  \r  \t                   [       c   a   s   e    
0023160    0   :       1  \r  \t                           c   a   s   e
0023200        1   :       0  \r  \t                           c   a   s
0023220    e       6   :       1   6   b  \r  \t                        
0023240    c   a   s   e       1   6   b   :       6  \t   /   /       C
0023260    O   N   V   E   R   T  \r  \t                           d   e
0023300    f   a   u   l   t   :       i   r   <   < 376 001  \0 227 264
0023320    I   R   .   a   d   r   p  \r  \t                   ]  \r  \t
0023340                    d   e   f   a   u   l   t   :       i   r   <
0023360    <   I   R   .   f   u   n   c   t  \r  \t           ]  \r  \t
0023400            c   a   s   e       f   2   A   C   S   O   U   R   C
0023420    E   :  \r  \t               (   i   r   <   <   I   R   .   b
0023440    i   t   0   ?       3   -   i   r   <   <   I   R   .   s   h
0023460    i   f   t   ,  \r  \t                   i   r   <   <   I   R
0023500    .   o   p   f       n   e       3   ?       i   r   <   <   I
0023520    R   .   i   n   d   ,  \r  \t               s   e   l   e   c
0023540    t   o   n       i   r   <   <   I   R   .   o   p   x       i
0023560    n   t   o  \r  \t           [       c   a   s   e       0   :
0023600        2  \t   /   /       C   Y   C   L   E  \r  \t            
0023620        c   a   s   e       1   :       5  \r  \t                
0023640    c   a   s   e       2   :       3  \t   /   /       O   P   R
0023660   \r  \t                   c   a   s   e       3   :       6  \r
0023700   \t                   c   a   s   e       4   :       7  \r  \t
0023720  376 001  \0   a 244                   c   a   s   e       1   1
0023740    b   :  \t   /   /       J   S   R   I   I       (   P   C   )
0023760   \r  \t                   c   a   s   e       1   2   b   :    
0024000    4  \t   /   /       J   S   R   I   I       (   A   C   2   )
0024020   \r  \t                   c   a   s   e       1   6   b   :    
0024040    1  \t   /   /       C   O   N   V   E   R   T  \r  \t        
0024060            c   a   s   e       3   7   b   :       1   7   b  \t
0024100    /   /       S   W   A   T  \r  \t                   d   e   f
0024120    a   u   l   t   :       1   6   b  \t   /   /       o   t   h
0024140    e   r       t   r   a   p   s  \r  \t           ]       )  \r
0024160   \t           d   e   f   a   u   l   t   :       0  \r  \t   ]
0024200   \r  \r  \t   /   /       L   o   a   d       L       a   n   d
0024220        T  \r  \t   l   e   t       o   l   d   r   a   m   a   d
0024240    r   ,       o   l   d   l       =       r   a   m   a   d   r
0024260    ,       l  \r  \t   i   f       l   t       t   h   e   n    
0024300    t   ,       t   u   ,       r   a   m   a   d   r       =  \r
0024320   \t           (   l 376 001  \0  \n   3   t   a   l   u   m   a
0024340    s   k       l   s   h   i   f   t       a   l   u   f       l
0024360    s       0   ?       a   l   u   ,       b   u   s   )   ,    
0024400    f   a   l   s   e   ,       a   l   u  \r  \t   i   f       l
0024420    l       t   h   e   n       l   ,       a   l   u   c   y   ,
0024440        l   u       =       a   l   u   ,       c   y   ,       f
0024460    a   l   s   e  \r  \r  \t   /   /       E   n   d       o   f
0024500        i   n   s   t   r   u   c   t   i   o   n  \r  \t   m   s
0024520    t   a   t   e       =       n   m   s   !   m   s   t   a   t
0024540    e  \r  \t   w   h   i   l   e       w   l   i   s   t       n
0024560    e       w   p   t   r       d   o  \r  \t   [       (   w   l
0024600    i   s   t   !   0   )   (   w   l   i   s   t   !   1   ,    
0024620    w   l   i   s   t   !   2   )  \r  \t           w   l   i   s
0024640    t       =       w   l   i   s   t   +   3  \r  \t   ]  \r  \t
0024660    l   e   t       h   i   n   e   x   t       =       p   c    
0024700    &       n   o   t       #   1   7   7   7  \r  \t   s   w   i
0024720    t   c   h   o   n       w   a   i   t 376 001  \0 301   l   i
0024740    n   g       i   n   t   o  \r  \t   [       c   a   s   e    
0024760    f   1   T   A   S   K   :       [       l   u   ,       t   u
0025000    ,       m   d   u       =       t   r   u   e   ,       t   r
0025020    u   e   ,       t   r   u   e   ;       e   n   d   c   a   s
0025040    e       ]  \r  \t           c   a   s   e       f   1   W   R
0025060    T   R   A   M   :  \r  \t           [       W   r   i   t   e
0025100    R   A   M   (   (   o   l   d   r   a   m   a   d   r       &
0025120        #   1   7   7   7   )   +   #   2   0   0   0   ,       o
0025140    l   d   l   )  \r  \t                   W   r   i   t   e   R
0025160    A   M   (   o   l   d   r   a   m   a   d   r       &       #
0025200    1   7   7   7   ,       a   l   u   )  \r  \t                
0025220    e   n   d   c   a   s   e  \r  \t           ]  \r  \t        
0025240    c   a   s   e       f   1   S   W   M   O   D   E   :  \r  \t
0025260                    h   i   n   e   x   t       =       (   n   o
0025300    t       E   x   t   r   a   R   O   M   ?       h   i   n   e
0025320    x   t       x   o   r       #   4   0   0   0   ,  \r  \t 376
0025340  001  \0 260   T                           (   n   e   x   t   &
0025360    #   4   0   0   )       e   q       0   ?       (   h   i   n
0025400    e   x   t       e   q       #   4   0   0   0   ?       0   ,
0025420        #   4   0   0   0   )   ,  \r  \t                        
0025440    h   i   n   e   x   t       e   q       #   1   4   0   0   0
0025460    ?       0   ,       #   1   4   0   0   0   )  \r  \t        
0025500            e   n   d   c   a   s   e  \r  \t   ]  \r  \t   p   c
0025520    ,       w   a   i   t   i   n   g       =       h   i   n   e
0025540    x   t   +   n   e   x   t   ,       n   w   a   i   t  \r  \t
0025560    r   e   s   u   l   t   i   s       0  \r   ]  \r  \r   a   n
0025600    d       a   d   d   3   (   x   ,       y   ,       c   )    
0025620    =       v   a   l   o   f  \t   /   /       a   d   d       x
0025640    +   y   +   c   ,       s   e   t       c   y       t   o    
0025660    c   a   r   r   y  \r   [  \t   l   e   t       u       =    
0025700    (   x   &   1   )       +       (   y   &   1   )       +    
0025720    c  \r  \t   c   y       =       (   x       r   s   h   i   f
0025740    t       1     376 001  \0   c 315   +       y       r   s   h
0025760    i   f   t       1       +       u       r   s   h   i   f   t
0026000        1   )       r   s   h   i   f   t       1   5  \r  \t   r
0026020    e   s   u   l   t   i   s       x   +   y   +   c  \r   ]  \r
0026040   \r   a   n   d       p   l   a   n   (   p   r   o   c   ,    
0026060    a   r   g   1   ,       a   r   g   2   )       b   e  \r   [
0026100   \t   w   p   t   r   !   0   ,       w   p   t   r   !   1   ,
0026120        w   p   t   r   !   2       =       p   r   o   c   ,    
0026140    a   r   g   1   ,       a   r   g   2  \r  \t   w   p   t   r
0026160        =       w   p   t   r   +   3  \r   ]  \r  \r   a   n   d
0026200        r   e   a   d   m   (   a   d   d   r   )       =  \r   (
0026220    n   o   t       E   x   t   e   n   d   e   d   M   e   m   o
0026240    r   y   ?       R   e   a   d   M   E   M   (   a   d   d   r
0026260    )   ,  \r  \t   R   e   a   d   M   E   M   (   a   d   d   r
0026300    ,  \r  \t           (   R   e   a   d   M   E   M   (   E   M
0026320    B   A   N   K   S   )       r   s   h   i   f   t       (   a
0026340    l   t   b   a   n   k   ?       0 376  \0 243 353   W   ,    
0026360    2   )   )       &       3   )  \r   )  \r  \r   a   n   d    
0026400    w   r   i   t   e   m   (   a   d   d   r   ,       w   d   )
0026420        b   e  \r   [  \t   t   e   s   t       E   x   t   e   n
0026440    d   e   d   M   e   m   o   r   y  \r  \t   i   f   n   o   t
0026460        W   r   i   t   e   M   E   M   (   a   d   d   r   ,    
0026500    w   d   )  \r  \t   i   f   s   o       W   r   i   t   e   M
0026520    E   M   (   a   d   d   r   ,       w   d   ,  \r  \t        
0026540    (   R   e   a   d   M   E   M   (   E   M   B   A   N   K   S
0026560    )       r   s   h   i   f   t       (   a   l   t   b   a   n
0026600    k   ?       0   ,       2   )   )       &       3   )  \r   ]
0026620   \r 377  \0  \0   a   s   i   m   .   d  \0 376 001  \0 263 303
0026640    /   /  \r   /   /       E   x   t   e   r   n   a   l       d
0026660    e   f   i   n   i   t   i   o   n   s       f   o   r       A
0026700    s   i   m  \r   /   /       l   a   s   t       e   d   i   t
0026720    e   d           S   e   p   t   e   m   b   e   r       2   8
0026740    ,       1   9   7   8           1   2   :   3   3       P   M
0026760   \r   /   /  \r   /   /       C   o   p   y   r   i   g   h   t
0027000        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0027020    o   n       1   9   7   9  \r  \r  \r   e   x   t   e   r   n
0027040    a   l  \t   /   /       e   n   t   r   y       p   o   i   n
0027060    t   s  \r   [  \t   I   n   i   t   A   s   i   m  \t   /   /
0027100        (   a   l   t   o   t   y   p   e       [   1   ]   ,    
0027120    e   x   t   r   a   r   o   m       [   f   a   l   s   e   ]
0027140    ,       e   x   t   r   a   m   e   m   o   r   y       [   f
0027160    a   l   s   e   ]   ,       d   o   u   b   l   e   s   t   o
0027200    r   e   [   f   a   l   s   e   ]   )  \r  \t   A   s   i   m
0027220   \t   /   /       (   )       -   >       0   /   e   r   r   o
0027240  376 001  \0 376   P   r   s   t   r   i   n   g  \r   ]  \r  \r
0027260    e   x   t   e   r   n   a   l  \t   /   /       t   h   e    
0027300    m   i   c   r   o   p   r   o   c   e   s   s   o   r       s
0027320    t   a   t   e  \r   [  \t   @   t  \t   /   /       T  \r  \t
0027340    @   t   u  \t   /   /       T       u   n   d   e   f   i   n
0027360    e   d       f   l   a   g       (   t   r   u   e       o   r
0027400        f   a   l   s   e   )  \r  \t   @   l  \t   /   /       L
0027420   \r  \t   @   l   u  \t   /   /       L       u   n   d   e   f
0027440    i   n   e   d       f   l   a   g       (   t   r   u   e    
0027460    o   r       f   a   l   s   e   )  \r  \t   @   i   r  \t   /
0027500    /       I   R  \r  \t   @   c   a   r   r   y  \t   /   /    
0027520    e   m   u   l   a   t   o   r       c   a   r   r   y       (
0027540    0       o   r       1   )  \r  \t   @   b   u   s  \t   /   /
0027560        t   e   m   p   .       f   o   r       b   u   s       d
0027600    a   t   a  \r  \t   @   a   l   u  \t   /   /       t   e   m
0027620    p   .       f   o   r       A   L   U       o   u   t   p   u
0027640    t  \r  \t   @   s 376 001  \0 347   g   h  \t   /   /       t
0027660    e   m   p   .       f   o   r       s   h   i   f   t   e   r
0027700        o   u   t   p   u   t  \r  \t   @   s   k   i   p  \t   /
0027720    /       S   K   I   P       (   0       o   r       1   )  \r
0027740   \t   @   a   l   u   c   y  \t   /   /       l   a   s   t    
0027760    A   L   U       c   a   r   r   y       (   0       o   r    
0030000    1   )  \r  \t   @   m   a   r  \t   /   /       l   a   s   t
0030020        m   e   m   o   r   y       a   d   d   r   e   s   s  \r
0030040   \t   @   a   l   t   b   a   n   k  \t   /   /       (   X   M
0030060    )       t   r   u   e       i   f   f       l   a   s   t    
0030100    M   A   R   _       s   e   l   e   c   t   e   d       a   l
0030120    t   e   r   n   a   t   e       b   a   n   k  \r  \t   @   m
0030140    s   t   a   t   e  \t   /   /       m   e   m   o   r   y    
0030160    s   t   a   t   e  \r  \t   @   m   a   r   m   o   d  \t   /
0030200    /       0       o   r       1       t   o       O   R       (
0030220    A   l   t   o       I   )       o   r       X   O   R       (
0030240    A   l   t   o       I   I   )       w 376 001  \0 016 177   i
0030260    t   h       M   a   r       f   o   r       n   e   x   t    
0030300    r   e   f   e   r   e   n   c   e  \r  \t   @   m   d  \t   /
0030320    /       (   A   l   t   o       I   I   )       m   e   m   o
0030340    r   y       d   a   t   a       a   d   d   r   e   s   s   e
0030360    d       b   y       M   A   R  \r  \t   @   m   d   x  \t   /
0030400    /       (   A   l   t   o       I   I   )       m   e   m   o
0030420    r   y       d   a   t   a       a   d   d   r   e   s   s   e
0030440    d       b   y       M   A   R       X   O   R       1  \r  \t
0030460    @   m   d   u  \t   /   /       (   A   l   t   o       I   I
0030500    )       M   D       u   n   d   e   f   i   n   e   d       f
0030520    l   a   g       (   t   r   u   e       o   r       f   a   l
0030540    s   e   )  \r  \t   @   n   m   o   d  \t   /   /       m   o
0030560    d   i   f   i   e   r   s       f   o   r       N   E   X   T
0030600   \r  \t   @   p   c  \t   /   /       (   m   i   c   r   o   i
0030620    n   s   t   r   u   c   t   i   o   n   )       P   C  \r  \t
0030640    @   w   a   i   t   i   n   g   /   /       T   A   S   K 376
0030660   \0   @ 316 303   ,       R   D   R   A   M   ,       W   R   T
0030700    R   A   M   ,       S   W   M   O   D   E       w   a   i   t
0030720    i   n   g       o   r       -   1  \r  \t   @   r   a   m   a
0030740    d   r  \t   /   /       R   A   M       a   d   d   r   e   s
0030760    s  \r   ]  \r 377  \0  \0   a   m   i   .   d  \0 376 001  \0
0031000    1 217   /   /  \r   /   /       D   e   f   i   n   i   t   i
0031020    o   n   s       f   o   r       t   h   e       A   l   t   o
0031040        m   i   c   r   o   p   r   o   c   e   s   s   o   r  \r
0031060    /   /       l   a   s   t       e   d   i   t   e   d        
0031100    O   c   t   o   b   e   r       6   ,       1   9   7   7    
0031120        1   0   :   2   3       A   M  \r   /   /  \r   /   /    
0031140    C   o   p   y   r   i   g   h   t       X   e   r   o   x    
0031160    C   o   r   p   o   r   a   t   i   o   n       1   9   7   9
0031200   \r  \r  \r   s   t   r   u   c   t   u   r   e       M   I   :
0031220   \t   /   /       t   h   e       A   l   t   o       m   i   c
0031240    r   o   i   n   s   t   r   u   c   t   i   o   n  \r   [  \t
0031260    r   s   e   l       b   i   t       5   ;       a   l   u   f
0031300        b   i   t       4   ;       b   s       b   i   t       3
0031320    ;       f   1   x       b   i   t       4  \r  \t   f   2   x
0031340        b   i   t       4   ;       l   o   a   d   t       b   i
0031360    t       1   ;       l   o   a   d   l   x       b   i   t    
0031400    1   ; 376 001  \0 241   N       n   e   x   t       b   i   t
0031420        1   0  \r   ]  \r  \r   m   a   n   i   f   e   s   t  \t
0031440    /   /       b   i   t   s       f   o   r       m   a   s   k
0031460    s  \r   [  \t   b   0   =   #   1   0   0   0   0   0   ;    
0031500    b   1   =   #   4   0   0   0   0   ;       b   2   =   #   2
0031520    0   0   0   0   ;       b   3   =   #   1   0   0   0   0  \r
0031540   \t   b   4   =   #   4   0   0   0   ;       b   5   =   #   2
0031560    0   0   0   ;       b   6   =   #   1   0   0   0   ;       b
0031600    7   =   #   4   0   0  \r  \t   b   1   0   =   #   2   0   0
0031620    ;       b   1   1   =   #   1   0   0   ;       b   1   2   =
0031640    #   4   0   ;       b   1   3   =   #   2   0  \r  \t   b   1
0031660    4   =   #   1   0   ;       b   1   5   =   4   ;       b   1
0031700    6   =   2   ;       b   1   7   =   1  \r   ]  \r  \r   m   a
0031720    n   i   f   e   s   t  \r   [  \t   l   t   a   l   u   m   a
0031740    s   k       =       b   2   +   b   5   +   b   6   +   b   1
0031760    2   +   b   1   3   +   b   1   4  \t   /   /       A   L   U
0032000    F   '   s       w   h   i 376 001  \0   x 275   c   h       l
0032020    o   a   d       T  \r  \t   t   d   e   f   a   l   u   m   a
0032040    s   k       =       n   o   t       (   b   0   +   b   5   +
0032060    b   6   +   b   1   3   +   b   1   5   )  \t   /   /       A
0032100    L   U   F   '   s       w   h   i   c   h       u   s   e    
0032120    T  \r   ]  \r  \r   m   a   n   i   f   e   s   t  \t   /   /
0032140        b   u   s       s   o   u   r   c   e   s  \r   [  \t   b
0032160    s   R   E   A   D   R   =   0   ;       b   s   L   O   A   D
0032200    R   =   1   ;       b   s   N   O   N   E   =   2   ;       b
0032220    s   R   E   A   D   2   R   =   3  \r  \t   b   s   L   O   A
0032240    D   2   R   =   4   ;       b   s   M   D   =   5   ;       b
0032260    s   M   O   U   S   E   D   A   T   A   =   6   ;       b   s
0032300    D   I   S   P   =   7  \r   ]  \r  \r   m   a   n   i   f   e
0032320    s   t  \t   /   /       F   1   '   s   ,       h   i       b
0032340    i   t       i   n   v   e   r   t   e   d  \r   [  \t   f   1
0032360    N   O   N   E   =   #   1   0   ;       f   1   M   A   R   G
0032400    E   T   S   =   #   1   1   ;       f   1   T 376 001  \0 374
0032420    _   A   S   K   =   #   1   2   ;       f   1   B   L   O   C
0032440    K   =   #   1   3  \r  \t   f   1   L   L   S   H   1   =   #
0032460    1   4   ;       f   1   L   R   S   H   1   =   #   1   5   ;
0032500        f   1   L   L   C   Y   8   =   #   1   6   ;       f   1
0032520    C   O   N   S   T   =   #   1   7  \r  \t   f   1   S   W   M
0032540    O   D   E   =   0   ;       f   1   W   R   T   R   A   M   =
0032560    1   ;       f   1   R   D   R   A   M   =   2  \r  \t   f   1
0032600    S   T   A   R   T   I   O   =   7  \r   ]  \r   m   a   n   i
0032620    f   e   s   t  \r   [  \t   b   a   d   f   1   m   a   s   k
0032640        =       b   3   +   b   4   +   b   5   +   b   6  \t   /
0032660    /       i   l   l   e   g   a   l       F   1   '   s  \r  \t
0032700    b   u   s   f   1   m   a   s   k       =       b   1   +   b
0032720    7  \t   /   /       F   1   '   s       w   h   i   c   h    
0032740    r   e   a   d       t   h   e       b   u   s  \r  \t   w   a
0032760    i   t   f   1   m   a   s   k       =       b   0   +   b   1
0033000    +   b   2   +   b   1   1   +   b   1   2  \t   /   /       F
0033020    1 376 001  \0 264   V   '   s       w   i   t   h       d   e
0033040    f   e   r   r   e   d       e   f   f   e   c   t  \r   ]  \r
0033060   \r   m   a   n   i   f   e   s   t  \t   /   /       F   2   '
0033100    s   ,       h   i       b   i   t       i   n   v   e   r   t
0033120    e   d  \r   [  \t   f   2   N   O   N   E   =   #   1   0   ;
0033140        f   2   B   U   S   E   Q   0   =   #   1   1   ;       f
0033160    2   S   H   L   S   0   =   #   1   2   ;       f   2   S   H
0033200    E   Q   0   =   #   1   3  \r  \t   f   2   B   U   S   =   #
0033220    1   4   ;       f   2   A   L   U   C   Y   =   #   1   5   ;
0033240        f   2   S   T   O   R   E   =   #   1   6   ;       f   2
0033260    C   O   N   S   T   =   #   1   7  \r  \t   f   2   B   U   S
0033300    O   D   D   =   0   ;       f   2   M   A   G   I   C   =   1
0033320    ;       f   2   D   N   S   =   2   ;       f   2   A   C   D
0033340    E   S   T   =   3  \r  \t   f   2   I   R   G   E   T   S   =
0033360    4   ;       f   2   I   D   I   S   P   =   5   ;       f   2
0033400    A   C   S   O   U   R   C   E   =   6  \r   ]  \r   m   a   n
0033420    i   f   e   s   t  \r 376  \0 300 300   `   [  \t   b   a   d
0033440    f   2   m   a   s   k       =       b   7  \t   /   /       i
0033460    l   l   e   g   a   l       F   2   '   s  \r  \t   b   u   s
0033500    f   2   m   a   s   k       =       b   0   +   b   1   1   +
0033520    b   1   4  \t   /   /       F   2   '   s       w   h   i   c
0033540    h       r   e   a   d       t   h   e       b   u   s  \r  \t
0033560    n   m   f   2   m   a   s   k       =       n   o   t       (
0033600    b   1   +   b   2   +   b   3   +   b   7   +   b   1   0   +
0033620    b   1   6   +   b   1   7   )  \t   /   /       b   r   a   n
0033640    c   h       F   2   '   s  \r  \t   l   d   e   f   2   m   a
0033660    s   k       =       b   2   +   b   1   2   +   b   1   3   +
0033700    b   1   5  \t   /   /       F   2   '   s       w   h   i   c
0033720    h       u   s   e       L  \r   ]  \r  \r 377  \0  \0   s   e
0033740    n   d   a   s   i   m   .   c   m  \0 376  \0 245 017 002   /
0033760    /       l   a   s   t       e   d   i   t   e   d       O   c
0034000    t   o   b   e   r       6   ,       1   9   7   7           1
0034020    1   :   0   2       A   M  \r   F   t   p   /   -   S       M
0034040    a   x   c   1       C   o   n   n   e   c   t   /   C       A
0034060    l   t   o       S   t   o   r   e   /   C       a   s   i   m
0034100    .   B   R       a   s   i   m   .   d       ^  \r   C   o   n
0034120    n   e   c   t   /   C       A   l   t   o   S   o   u   r   c
0034140    e       D   u   m   p   /   C       a   s   i   m   .   D   M
0034160        a   s   i   m   .   b   c   p   l       a   s   i   m   .
0034200    d       a   m   i   .   d       s   e   n   d   a   s   i   m
0034220    .   c   m  \r 374                                            
0034225