$ od -c -N 50000 [eris]<LispCore>SOURCES>ADDARITH!26
0000000 ( D E F I N E - F I L E - I N F
0000020 O 247 R E A D T A B L E " I N
0000040 T E R L I S P " 247 P A C K A G
0000060 E " I N T E R L I S P " ) \r 006
0000100 001 ( F I L E C R E A T E D "
0000120 3 - N o v - 8 6 1 1 : 5 5 : 3
0000140 2 " 006 004 { E R I S } < L I S P
0000160 C O R E > S O U R C E S > A D D
0000200 A R I T H . ; 2 6 006 001 3 1 6 8
0000220 9 \r \r p r e v i
0000240 o u s d a t e % : " 2 4 - O
0000260 c t - 8 6 2 0 : 0 2 : 5 7 "
0000300 { E R I S } < L I S P C O R E >
0000320 S O U R C E S > A D D A R I T H
0000340 . ; 2 5 ) \r \r \r ( * " \r C o p
0000360 y r i g h t ( c ) 1 9 8 2 ,
0000400 1 9 8 3 , 1 9 8 4 , 1 9 8
0000420 5 , 1 9 8 6 b y X e r o x
0000440 C o r p o r a t i o n . A
0000460 l l r i g h t s r e s e r v
0000500 e d . \r " ) \r \r ( P R E T T Y C
0000520 O M P R I N T A D D A R I T H
0000540 C O M S ) \r \r ( R P A Q Q 006 002
0000560 A D D A R I T H C O M S 006 001 (
0000600 ( L O C A L V A R S . T ) \r
0000620
0000640 ( * ; " O K " ) \r
0000660
0000700 ( M A C R O S M A S
0000720 K . 1 ' S M A S K . 0 ' S B
0000740 I T T E S T B I T S E T B I
0000760 T C L E A R ) \r
0001000 ( C O
0001020 M S ( O P T I M I Z E R S L
0001040 O G N O T ) \r
0001060
0001100 ( F N S L O G N O T ) ) \r
0001120
0001140 ( C O M S ( * ;
0001160 " B Y T E h a c k i n g f u
0001200 n c t i o n s " ) \r
0001220
0001240 ( R E C O R D S B Y
0001260 T E S P E C ) \r
0001300
0001320 ( M A C R O S L O A D B
0001340 Y T E D E P O S I T B Y T E )
0001360 \r
0001400 ( * ;
0001420 " N O T O K Y E T " ) \r
0001440
0001460 ( O P T I M
0001500 I Z E R S B Y T E D P B L
0001520 D B ) \r
0001540 (
0001560 M A C R O S B Y T E S I Z E
0001600 B Y T E P O S I T I O N ) \r
0001620
0001640 ( F N S L D
0001660 B D P B B Y T E ) \r
0001700
0001720 ( F N S \ L D B
0001740 E X P A N D E R \ D P B E X P
0001760 A N D E R ) ) \r
0002000 ( C O
0002020 M S ( O P T I M I Z E R S I
0002040 M O D ) \r
0002060
0002100 ( F N S I M O D L E S S P ) \r
0002120
0002140 ( M A C R
0002160 O S I M O D P L U S I M O D
0002200 D I F F E R E N C E ) ) \r
0002220
0002240 ( C O M S ( F N S R O T
0002260 ) \r
0002300 ( M A
0002320 C R O S . R O T . ) ) \r
0002340
0002360 ( C O M S ( * ; ; " P
0002400 r i m i t i v e F u n c t i o
0002420 n s f o r e x t r a c t i n
0002440 g f i e l d s a s i n t e
0002460 g e r s " ) \r
0002500
0002520 ( M A C R O S \ X L O A D
0002540 B Y T E W O R D ) \r
0002560
0002600 ( F N S \ P U T B A
0002620 S E B I T S ) \r
0002640
0002660 ( * ; ; \r
0002700
0002720 " P r i m i t i
0002740 v e f u n c t i o n s , e s
0002760 p e c i a l l y n e e d e d
0003000 f o r C o m m o n L i s p a
0003020 r r a y p a c k a g e . " ) \r
0003040
0003060 ( D E C L
0003100 A R E % : D O N T C O P Y (
0003120 M A C R O S . H I H A L F W O
0003140 R D L O . . H I H A L F W O R
0003160 D H I . . L O H A L F W O R D
0003200 L O . \r
0003220
*
0003260 . L O H A
0003300 L F W O R D H I . ) \r
0003320
0003340 ( M A
0003360 C R O S \ G E T B A S E N I B
0003400 B L E \ P U T B A S E N I B B
0003420 L E \ G E T B A S E B I T \
0003440 P U T B A S E B I T ) ) ) \r
0003460
0003500 ( C O M S ( * ; ; \r
0003520 "
0003540 B e g i n n i n g o f r e w
0003560 r i t e o f s o m e L L A
0003600 R I T H t h i n g s , m o d
0003620 u l a r l y u s i n g t h e
0003640 m a c r o s o f t h i s
0003660 f i l e " \r
0003700
0003720 ) \r
0003740
0003760 ( D E C L A R E % : D O N T
0004000 C O P Y ( E X P O R T ( C O
0004020 N S T A N T S M A S K 0 W O R
0004040 D 1 ' S M A S K 1 W O R D 0 '
0004060 S \r
0004100
*
0004160 M A S K W O R D 1 ' S M A S
0004200 K H A L F W O R D 1 ' S \r
0004220
*
0004300 B I T S
0004320 P E R H A L F W O R D ) \r
0004340
*
0004420 ( M A C R O S E Q Z E R
0004440 O P ) \r
0004460
*
0004520 ( M A C R O
0004540 S \ M O V E T O B O X . X U
0004560 N B O X . . X L L S H . . X
0004600 L L S H 1 . \r
0004620
*
0004700 . X L R S H . . A D
0004720 D . 2 W O R D . I N T E G E R S
0004740 . \r
0004760
*
0005040 . S U B . 2 W O R D . I N T E G
0005060 E R S . . 3 2 B I T M U L . )
0005100 \r
0005120
*
0005160 ( M A C R O S .
0005200 S U M S M A L L M O D . . D I
0005220 F F E R E N C E S M A L L M O D
0005240 . ) ) \r
0005260
0005300 ( M A C R O S . A
0005320 D D . 2 W O R D . I N T E G E R
0005340 S . . S U B . 2 W O R D . I N
0005360 T E G E R S . . 3 2 B I T M U
0005400 L . ) ) ) \r
0005420 ( P R O P
0005440 F I L E T Y P E A D D A R I
0005460 T H ) ) ) \r ( D E C L A R E % :
0005500 D O E V A L @ C O M P I L E
0005520 D O N T C O P Y \r \r ( L O C A L
0005540 V A R S . T ) \r ) \r \r \r \r 006
0005560 004 ( * ; " O K " ) 006 001 \r \r (
0005600 D E C L A R E % : E V A L @ C
0005620 O M P I L E \r \r ( P U T P R O
0005640 P S M A S K . 1 ' S M A C R
0005660 O ( O P E N L A M B D A ( P
0005700 O S I T I O N S I Z E ) \r
0005720
0005740 ( L
0005760 S H ( S U B 1 ( L S H 1
0006000 S I Z E ) ) \r
0006020
0006040 P O S I
0006060 T I O N ) ) ) \r [ P U T P R O P
0006100 S M A S K . 0 ' S M A C R O
0006120 ( O P E N L A M B D A ( P O
0006140 S I T I O N S I Z E ) \r
0006160
0006200 ( L O
0006220 G N O T ( M A S K . 1 ' S P
0006240 O S I T I O N S I Z E ] \r [ P
0006260 U T P R O P S B I T T E S T
0006300 M A C R O ( ( N M A S K ) \r
0006320
0006340 ( N E Q 0
0006360 ( L O G A N D N M A S K ] \r
0006400 ( P U T P R O P S B I T S E T
0006420 M A C R O ( = . L O G O
0006440 R ) ) \r [ P U T P R O P S B I
0006460 T C L E A R M A C R O ( ( X
0006500 M A S K ) \r
0006520
0006540 ( L O G A N D X ( L O G N
0006560 O T M A S K ] \r ) \r [ D E F O
0006600 P T I M I Z E R L O G N O T
0006620 ( I N T E G E R ) \r
0006640 ` ( L O G X O R - 1 , I N
0006660 T E G E R ] \r ( D E F I N E Q \r
0006700 \r ( 006 004 L O G N O T 006 001 \r [
0006720 L A M B D A ( I N T E G E R )
0006740
*
0007000 ( * k b r
0007020 % : " 1 2 - J u l - 8 6 1 7
0007040 : 0 5 " ) \r ( L O G X O
0007060 R - 1 I N T E G E R ] ) \r )
0007100 \r \r \r \r 006 004 ( * ; " B Y T E
0007120 h a c k i n g f u n c t i o
0007140 n s " ) 006 001 \r \r ( D E C L A R E
0007160 % : E V A L @ C O M P I L E \r
0007200 \r ( T Y P E R E C O R D 006 002 B
0007220 Y T E S P E C 006 001 ( B Y T E S
0007240 P E C . S I Z E B Y T E S P E
0007260 C . P O S I T I O N ) ) \r ) \r (
0007300 D E C L A R E % : E V A L @ C
0007320 O M P I L E \r \r [ P U T P R O
0007340 P S L O A D B Y T E M A C R
0007360 O ( ( N P O S S I Z E ) \r
0007400
0007420 ( L O G A N
0007440 D ( R S H N P O S ) \r
0007460
0007500 (
0007520 M A S K . 1 ' S 0 S I Z E ]
0007540 \r [ P U T P R O P S D E P O S
0007560 I T B Y T E M A C R O ( O P
0007600 E N L A M B D A ( N P O S
0007620 S I Z E V A L ) \r
0007640
0007660 ( L O
0007700 G O R ( B I T C L E A R N
0007720 ( M A S K . 1 ' S P O S S I
0007740 Z E ) ) \r
0007760
0010000 (
0010020 L S H ( L O G A N D V A L
0010040 ( M A S K . 1 ' S 0 S I Z E
0010060 ) ) \r
0010100
*
0010140 P O S ] \r ) \r \r \r \r 006 004 ( *
0010160 ; " N O T O K Y E T " )
0010200 006 001 \r \r [ D E F O P T I M I Z E
0010220 R B Y T E ( & R E S T X )
0010240 \r ( P R O G ( (
0010260 S I Z E ( L I S P F O R M . S
0010300 I M P L I F Y ( C A R X ) \r
0010320
0010340 T ) ) \r
0010360 ( P O
0010400 S I T I O N ( L I S P F O R M
0010420 . S I M P L I F Y ( C A D R
0010440 X ) \r
0010460
0010500 T ) ) ) \r
0010520 ( R E T U R N ( C O N
0010540 D ( ( A N D ( F I X P P O
0010560 S I T I O N ) \r
0010600
0010620 ( F I X P S
0010640 I Z E ) ) \r
0010660
0010700 ( K W O T E ( c r e a t e
0010720 B Y T E S P E C B Y T E S P
0010740 E C . S I Z E _ S I Z E B
0010760 Y T E S P E C . P O S I T I O N
0011000 _ P O S I T I O N \r
0011020
*
0011060 ) ) ) \r
0011100
0011120 ( T ` ( c r e a t e
0011140 B Y T E S P E C B Y T E S P
0011160 E C . S I Z E _ , S I Z E
0011200 B Y T E S P E C . P O S I T I O
0011220 N _ \r
0011240
0011260 , P O S I T
0011300 I O N ] \r ( D E F O P T I M I Z
0011320 E R D P B ( & R E S T X )
0011340 \r ( \ D P B E X P
0011360 A N D E R X ) ) \r ( D E F O P
0011400 T I M I Z E R L D B ( & R E
0011420 S T X ) \r ( \ L
0011440 D B E X P A N D E R X ) ) \r (
0011460 D E C L A R E % : E V A L @ C
0011500 O M P I L E \r \r ( P U T P R O
0011520 P S B Y T E S I Z E M A C R
0011540 O ( ( B Y T E S P E C ) \r
0011560
0011600 ( f e t c h B
0011620 Y T E S P E C . S I Z E o f
0011640 B Y T E S P E C ) ) ) \r ( P U T
0011660 P R O P S B Y T E P O S I T I
0011700 O N M A C R O ( ( B Y T E S
0011720 P E C ) \r
0011740
0011760 ( f e t c h B Y T E S P
0012000 E C . P O S I T I O N o f B
0012020 Y T E S P E C ) ) ) \r ) \r ( D E
0012040 F I N E Q \r \r ( 006 004 L D B 006 001 \r
0012060 [ L A M B D A ( B Y T E S
0012100 P E C I N T E G E R )
0012120
0012140 ( *
0012160 k b r % : " 1 2 - J u l - 8 6
0012200 1 7 : 1 0 " ) \r ( L O
0012220 A D B Y T E I N T E G E R (
0012240 006 002 f e t c h 006 001 ( B Y T E S
0012260 P E C B Y T E S P E C . P O S
0012300 I T I O N ) 006 002 o f 006 001 B Y
0012320 T E S P E C ) \r
0012340 ( 006 002 f e t c h 006 001 ( B
0012360 Y T E S P E C B Y T E S P E C
0012400 . S I Z E ) 006 002 o f 006 001 B Y
0012420 T E S P E C ] ) \r \r ( 006 004 D P B
0012440 006 001 \r [ L A M B D A ( N E
0012460 W B Y T E B Y T E S P E C I
0012500 N T E G E R )
0012520
0012540 ( * k b r % : " 1 2 - J u l
0012560 - 8 6 1 7 : 1 8 " ) \r
0012600 ( D E P O S I T B Y T E I N T
0012620 E G E R ( 006 002 f e t c h 006 001
0012640 ( B Y T E S P E C B Y T E S P
0012660 E C . P O S I T I O N ) 006 002 o
0012700 f 006 001 B Y T E S P E C ) \r
0012720 ( 006 002 f e t c
0012740 h 006 001 ( B Y T E S P E C B Y
0012760 T E S P E C . S I Z E ) 006 002 o
0013000 f 006 001 B Y T E S P E C ) \r
0013020 N E W B Y T E
0013040 ] ) \r \r ( 006 004 B Y T E 006 001 \r
0013060 [ L A M B D A ( S I Z E P O
0013100 S I T I O N )
0013120
0013140 ( * k b
0013160 r % : " 1 4 - A u g - 8 6 1
0013200 4 : 1 8 " ) \r ( 006 002 c r
0013220 e a t e 006 001 B Y T E S P E C \r
0013240 B Y T E S
0013260 P E C . S I Z E _ S I Z E \r
0013300 B Y T E S
0013320 P E C . P O S I T I O N _ P
0013340 O S I T I O N ] ) \r ) \r ( D E F
0013360 I N E Q \r \r ( 006 004 \ L D B E X P
0013400 A N D E R 006 001 \r [ L A M B D
0013420 A ( X )
0013440
*
0013500 ( * k b r % : " 1
0013520 4 - A u g - 8 6 1 4 : 2 7 " )
0013540 \r ( P R O G ( B S W
0013560 O R D T E M N S I Z E P
0013600 O S I T I O N )
0013620 ( *
0013640 X = ( B Y T E S P E C I
0013660 N T E G E R ) * ) \r
0013700 ( S E T Q B S ( L
0013720 I S P F O R M . S I M P L I F Y
0013740 ( C A R X ) \r
0013760
0014000 T ) ) \r
0014020 ( S E T Q W O R D ( C A D
0014040 R X ) ) \r
0014060 ( R E T U R N ( C O N D \r
0014100
0014120 [ ( A N D ( S E T Q T
0014140 E M ( C A R ( E V A L U A B
0014160 L E . C O N S T A N T P B S )
0014200 ) ) \r
0014220 ( 006
0014240 002 t y p e ? 006 001 B Y T E S P E
0014260 C T E M ) ) \r
0014300 ( L
0014320 I S T ' L O A D B Y T E W O
0014340 R D ( K W O T E ( B Y T E P
0014360 O S I T I O N T E M ) ) \r
0014400
0014420 ( K W O T E
0014440 ( B Y T E S I Z E T E M ] \r
0014460
0014500 ( T ( S E T Q N
0014520 ( L I S P F O R M . S I M P L I
0014540 F Y W O R D T ) ) \r
0014560
0014600 ( C O N D \r
0014620
0014640 [ ( A N D ( L I S T
0014660 P B S ) \r
0014700
0014720 ( E Q ( C A R
0014740 B S ) \r
0014760
0015000 ' B Y T E ) )
0015020 \r
0015040 ( S E
0015060 T Q S I Z E ( C A D R B S
0015100 ) ) \r
0015120 (
0015140 S E T Q P O S I T I O N ( C
0015160 A D D R B S ) ) \r
0015200
0015220 ( C O N D \r
0015240
0015260 [ ( O R
0015300 ( E V A L U A B L E . C O N S T
0015320 A N T . F I X P N ) \r
0015340
*
0015400 ( A N D ( A R G S . C O M M U
0015420 T A B L E P N S I Z E ) \r
0015440
*
0015500 ( A R G S . C O
0015520 M M U T A B L E P N P O S I
0015540 T I O N ) \r
0015560
0015600 (
0015620 A R G S . C O M M U T A B L E P
0015640 S I Z E P O S I T I O N ) )
0015660 ) \r
0015700
0015720 ` ( L O A D B Y T E , W O
0015740 R D , P O S I T I O N , S I
0015760 Z E ] \r
0016000
0016020 ( T ` ( [ L A M B D A
0016040 ( \ B y t e s i z e \ B y t e
0016060 p o s i t i o n ) \r
0016100
*
0016140 ( 006 002 D E C L A R E 006 001 ( L O
0016160 C A L V A R S \ B y t e s i z
0016200 e \ B y t e p o s i t i o n )
0016220 ) \r
0016240
0016260 ( L O A D B Y T
0016300 E % , W O R D \ B y t e p
0016320 o s i t i o n \ B y t e s i z
0016340 e ] \r
0016360
0016400 % , S I Z E %
0016420 , P O S I T I O N ] \r
0016440
0016460 [ ( A N D ( L I
0016500 T A T O M B S ) \r
0016520
0016540 ( O R (
0016560 E V A L U A B L E . C O N S T A
0016600 N T . F I X P N ) \r
0016620
*
0016660 ( A R G S . C O M M U T A B L E
0016700 P B S N ) ) ) \r
0016720
0016740 ` ( L O A D B Y T E
0016760 % , W O R D ( B Y T E P O
0017000 S I T I O N % , B S ) \r
0017020
*
0017060 ( B Y T E S I Z E % , B
0017100 S ] \r
0017120 ( T
0017140 ` ( [ L A M B D A ( \ P o s
0017160 i t i o n S i z e ) \r
0017200
0017220 ( 006 002
0017240 D E C L A R E 006 001 ( L O C A L
0017260 V A R S \ P o s i t i o n S i
0017300 z e ) ) \r
0017320
0017340 ( L O A D B Y T E
0017360 % , W O R D ( B Y T E P O
0017400 S I T I O N \ P o s i t i o n
0017420 S i z e ) \r
0017440
0017460 (
0017500 B Y T E S I Z E \ P o s i t i
0017520 o n S i z e ] \r
0017540
0017560 % , B S ] ) \r
0017600 \r ( 006 004 \ D P B E X P A N D E R
0017620 006 001 \r [ L A M B D A ( X )
0017640
*
0017720 ( * J o n L " 2 5 - F E B -
0017740 8 3 2 0 : 4 9 " ) \r (
0017760 P R O G ( ( N E W B Y T E (
0020000 C A R X ) ) \r
0020020 ( B S ( L I S P F O R M
0020040 . S I M P L I F Y ( C A D R
0020060 X ) \r
0020100 T ) ) \r
0020120 ( W O R D ( L
0020140 I S P F O R M . S I M P L I F Y
0020160 ( C A D D R X ) \r
0020200
0020220 T ) ) \r
0020240 S I Z E P O S X Y B
0020260 a g B i t e r P N B Y T E F
0020300 O R M D E P O S I T F O R M
0020320 C B S P T E M ) \r
0020340 ( 006 002 i f 006 001 ( A N D
0020360 ( L I S T P B S ) \r
0020400 (
0020420 E Q ( C A R B S ) \r
0020440
0020460 ' C O N S ) \r
0020500 ( E Q
0020520 U A L ( C A D R B S ) \r
0020540
0020560 ' ' B Y T E S P
0020600 E C ) \r
0020620 ( L I S T P ( S
0020640 E T Q T E M ( C A D D R B
0020660 S ) ) ) \r
0020700 ( E Q ( C A R
0020720 T E M ) \r
0020740 ' L I
0020760 S T ) ) \r
0021000 006 002 t h e n 006 001 \r
0021020 \r
0021040 ( * W h a t a c r a p
0021060 p y t h i n g t o d o i
0021100 n o r d e r t o t r y t
0021120 o d e - c o m p i l e t h e
0021140 e x p a n d e d f o r m o
0021160 f \r ( B Y T
0021200 E < s i z e > < p o s i t i
0021220 o n > ) ) \r \r
0021240 ( 006 002 p o p
0021260 006 001 T E M ) \r
0021300 ( S E T Q
0021320 S I Z E ( 006 002 p o p 006 001 T
0021340 E M ) ) \r
0021360 ( S E T Q P O
0021400 S ( 006 002 p o p 006 001 T E M ) )
0021420 \r
0021440 ( S E T Q C B S P (
0021460 A N D ( E V A L U A B L E . C
0021500 O N S T A N T P S I Z E ) \r
0021520
*
0021560 ( E V A L U A B L E . C O N
0021600 S T A N T P P O S ) ) ) \r
0021620 006 002 e l s e
0021640 i f 006 001 ( A N D ( S E T Q
0021660 T E M ( C A R ( E V A L U A
0021700 B L E . C O N S T A N T P B S
0021720 ) ) ) \r
0021740 ( 006 002 t
0021760 y p e ? 006 001 B Y T E S P E C
0022000 T E M ) ) \r
0022020 006 002 t h e n 006 001 ( S E
0022040 T Q S I Z E ( K W O T E (
0022060 B Y T E S I Z E T E M ) ) ) \r
0022100
0022120 ( S E T Q P O S ( K W
0022140 O T E ( B Y T E P O S I T I O
0022160 N T E M ) ) ) \r
0022200 ( S E T
0022220 Q C B S P T ) ) \r
0022240 ( S E T Q N ( L I
0022260 S P F O R M . S I M P L I F Y
0022300 N E W B Y T E T ) ) \r
0022320 [ S E T Q B a g B
0022340 i t e r P ( O R ( N O T (
0022360 A R G S . C O M M U T A B L E P
0022400 N W O R D ) ) \r
0022420
0022440 ( A N D ( N O
0022460 T C B S P ) \r
0022500
0022520 ( N O T
0022540 ( A R G S . C O M M U T A B L E
0022560 P N B S ] \r
0022600 ( S E T Q B Y T E F O R M
0022620 ( 006 002 i f 006 001 B a g B i t e
0022640 r P \r
0022660
0022700 006 002 t h e n 006 001 ' \ N e w B y
0022720 t e \r
0022740 006 002
0022760 e l s e 006 001 N E W B Y T E ) )
0023000 \r [ S E T Q
0023020 D E P O S I T F O R M \r
0023040 ( 006 002 i f 006 001
0023060 ( A N D S I Z E P O S ) \r
0023100 006 002
0023120 t h e n 006 001
0023140
*
0023200 ( * t h e S I Z E a n d
0023220 P O S I T I O N s p e c i f i
0023240 e r s \r
0023260
*
0023340 a r e s o m e h o w e x
0023360 t r a c t a b l e . ) \r
0023400
0023420 ( 006 002 i f 006 001 ( O R C B S P
0023440 ( A N D ( A R G S . C O M M
0023460 U T A B L E P S I Z E P O S
0023500 ) \r
0023520
0023540 ( A R G S . C O
0023560 M M U T A B L E P W O R D B
0023600 S ) ) ) \r
0023620 006 002 t
0023640 h e n 006 001
0023660
0023700 ( * C a s e w i
0023720 t h a d e t e c t e d c o
0023740 n s t a n t f o r \r
0023760
*
0024040 b y t e s p e
0024060 c i f i e r ) \r
0024100
0024120 ` ( D E P O S I T B Y
0024140 T E % , W O R D % , P O
0024160 S % , S I Z E % , B Y T
0024200 E F O R M ) \r
0024220 006 002 e
0024240 l s e 006 001 ` ( [ L A M B D A
0024260 ( \ B y t e s i z e \ B y t e
0024300 p o s i t i o n ) \r
0024320
0024340 ( 006 002 D E C L
0024360 A R E 006 001 ( L O C A L V A R S
0024400 \ B y t e s i z e \ B y t e
0024420 p o s i t i o n ) ) \r
0024440
0024460 ( D E P O S
0024500 I T B Y T E % , W O R D \
0024520 B y t e p o s i t i o n \ B y
0024540 t e s i z e % , B Y T E F O
0024560 R M ] \r
0024600
0024620 % , S I Z E % , P O S )
0024640 ) \r 006
0024660 002 e l s e 006 001 ( 006 002 i f 006 001
0024700 ( A N D ( L I T A T O M B S
0024720 ) \r
0024740 ( A R
0024760 G S . C O M M U T A B L E P W
0025000 O R D B S ) ) \r
0025020 006
0025040 002 t h e n 006 001 ` ( D E P O S I
0025060 T B Y T E % , W O R D ( B
0025100 Y T E P O S I T I O N % , B
0025120 S ) \r
0025140
0025160 ( B Y T E S I Z E
0025200 % , B S ) \r
0025220
0025240 % , B Y T
0025260 E F O R M ) \r
0025300 006 002 e l s
0025320 e 006 001 ( S E T Q B a g B i t
0025340 e r P T ) \r
0025360
0025400 ` ( [ L A M B D A ( \ B y t e
0025420 S p e c ) \r
0025440
0025460 ( 006 002 D E C L A R E 006 001
0025500 ( L O C A L V A R S \ B y t e
0025520 S p e c ) ) \r
0025540
0025560 ( D E P O S I T B Y T E
0025600 % , W O R D ( B Y T E P O
0025620 S I T I O N \ B y t e S p e c
0025640 ) \r
0025660
0025700 ( B Y T E S I Z E
0025720 \ B y t e S p e c ) \r
0025740
0025760 \
0026000 N e w B y t e ] \r
0026020
0026040 % , B S ] \r
0026060 ( R E T U R N ( 006 002
0026100 i f 006 001 B a g B i t e r P \r
0026120
0026140 006 002 t h e n 006 001 ` (
0026160 [ L A M B D A ( \ N e w B y t
0026200 e ) \r
0026220
0026240 ( 006 002 D E C L A R E 006 001 (
0026260 L O C A L V A R S \ N e w B y
0026300 t e ) ) \r
0026320
0026340 % , D E P O S I T F O
0026360 R M ] \r
0026400
0026420 % , N E W B Y T E ) \r
0026440
0026460 006 002 e l s e 006 001 D E P O S I
0026500 T F O R M ] ) \r ) \r [ D E F O P
0026520 T I M I Z E R I M O D ( & R
0026540 E S T L ) \r ( P
0026560 R O G [ ( N ( C O N S T A N
0026600 T E X P R E S S I O N P ( C A
0026620 D R L ] \r
0026640 ( i f ( N U L L N ) \r
0026660
0026700 t h e n \r
0026720 ( R E T U R N '
0026740 I G N O R E M A C R O ) ) \r
0026760 ( S E T Q
0027000 N ( C A R N ) ) \r
0027020 ( R E T U R N
0027040 ( C O N D ( ( N O T ( P O
0027060 W E R O F T W O P N ) ) \r
0027100
0027120 ' I G N O R
0027140 E M A C R O ) \r
0027160
0027200 ( T ( L I S T ' L O G
0027220 A N D ( C A R L ) \r
0027240
*
0027300 ( S U B 1 N ] \r ( D E F I N E
0027320 Q \r \r ( 006 004 I M O D L E S S P 006
0027340 001 \r [ L A M B D A ( X Y
0027360 M O D U L U S )
0027400
0027420 (
0027440 * l m m " 1 2 - A p r - 8 5
0027460 1 2 : 4 3 " ) \r ( I L
0027500 E S S P ( I M O D D I F F E R
0027520 E N C E Y X M O D U L U S
0027540 ) \r ( F O
0027560 L D H I M O D U L U S 2 ] )
0027600 \r ) \r ( D E C L A R E % : E V
0027620 A L @ C O M P I L E \r \r ( P U
0027640 T P R O P S I M O D P L U S
0027660 M A C R O ( ( X Y M O D U
0027700 L U S ) \r
0027720 (
0027740 I M O D ( I P L U S X Y )
0027760 \r
0030000
0030020 M O D U L U S ) ) ) \r ( P U T
0030040 P R O P S I M O D D I F F E R
0030060 E N C E M A C R O ( ( X Y
0030100 M O D U L U S ) \r
0030120
0030140 ( I M O D
0030160 ( I D I F F E R E N C E X Y
0030200 ) \r
0030220
0030240 M O D U L U S )
0030260 ) ) \r ) \r ( D E F I N E Q \r \r (
0030300 006 004 R O T 006 001 \r [ L A M B D
0030320 A ( X N F I E L D S I Z E
0030340 )
0030360
0030400 ( * P a v e l "
0030420 7 - O c t - 8 6 1 5 : 2 6 " )
0030440 \r
0030460
*
0030520 ( * ; ; " N o r m a l
0030540 i z e N , t h e s h i f t
0030560 f a c t o r , i n t o t h
0030600 e h a l f - o p e n i n t e
0030620 r v a l o f 0 t o F I E
0030640 L D S I Z E a n d t r a n s
0030660 f o r m a n e g a t i v e
0030700 N ( r o t a t i n g r i g h
0030720 t w a r d s ) i n t o a p
0030740 o s i t i v e f o r m . " ) \r
0030760 ( L E T * ( ( N ( I
0031000 M O D N F I E L D S I Z E )
0031020 ) \r ( N .
0031040 B ( I D I F F E R E N C E F
0031060 I E L D S I Z E N ) ) ) \r
0031100 ( D E P O S I T
0031120 B Y T E ( L O A D B Y T E X
0031140 N . B N ) \r
0031160 N N . B X
0031200 ] ) \r ) \r ( D E C L A R E % :
0031220 E V A L @ C O M P I L E \r \r (
0031240 P U T P R O P S . R O T . M
0031260 A C R O ( ( X F O R M N F
0031300 I E L D S I Z E ) \r
0031320
0031340 ( ( O P E N L A M B D A ( X
0031360 ) \r
0031400
0031420 ( D E P O S I T B Y T E ( L
0031440 O A D B Y T E X ( I D I F F
0031460 E R E N C E F I E L D S I Z E
0031500 N ) \r
0031520
*
0031560 N ) \r
0031600
*
0031640 N \r
0031660
0031700 ( I D I F F E R
0031720 E N C E F I E L D S I Z E N
0031740 ) \r
0031760
0032000 X ) ) \r
0032020
0032040 X F O R M ) ) ) \r ) \r \r
0032060 \r \r 006 004 ( * ; ; " P r i m i
0032100 t i v e F u n c t i o n s f
0032120 o r e x t r a c t i n g f i
0032140 e l d s a s i n t e g e r s
0032160 " ) 006 001 \r \r ( D E C L A R E % :
0032200 E V A L @ C O M P I L E \r \r
0032220 [ P U T P R O P S \ X L O A D
0032240 B Y T E W O R D D M A C R O
0032260 ( ( N P O S S I Z E ) \r
0032300
0032320 (
0032340 * N i s c o n s t r a i n
0032360 e d t o b e a S M A L L
0032400 P ) \r
0032420
0032440 ( L O G A N D ( \ X L
0032460 R S H W O R D N P O S ) \r
0032500
*
0032540 ( M A S K . 1 ' S
0032560 0 ( I M I N B I T S P E R
0032600 W O R D S I Z E ] \r ) \r ( D E
0032620 F I N E Q \r \r ( 006 004 \ P U T B A
0032640 S E B I T S 006 001 \r [ L A M B
0032660 D A ( A D D R P O S I T I O
0032700 N S I Z E V A L )
0032720
0032740 ( * l m m " 1 2
0032760 - A p r - 8 5 1 5 : 1 8 " ) \r
0033000 ( 006 002 i f 006 001 ( G R E
0033020 A T E R P P O S I T I O N B
0033040 I T S P E R W O R D ) \r
0033060 006 002 t h e n 006 001 ( 006 002
0033100 \ P U T B A S E B I T S 006 001 (
0033120 \ A D D B A S E A D D R ( F
0033140 O L D L O P O S I T I O N B
0033160 I T S P E R W O R D ) ) \r
0033200
0033220 ( I M O D P O S I T I O N
0033240 B I T S P E R W O R D ) \r
0033260
0033300 S I Z E V A L ) \r
0033320 006 002 e l s e i f 006 001 ( G R E
0033340 A T E R P S I Z E ( D I F F
0033360 E R E N C E B I T S P E R W O
0033400 R D P O S I T I O N ) ) \r
0033420 006 002 t h e n 006 001
0033440
*
0033500 (
0033520 * m o r e t h a n o n e
0033540 w o r d ) \r
0033560 [ 006 002 \ P U T B A S E B I
0033600 T S 006 001 A D D R P O S I T I
0033620 O N ( D I F F E R E N C E B
0033640 I T S P E R W O R D P O S I T
0033660 I O N ) \r
0033700 ( R S H V A
0033720 L ( S E T Q S I Z E ( D I
0033740 F F E R E N C E S I Z E ( D
0033760 I F F E R E N C E B I T S P E
0034000 R W O R D P O S I T I O N ] \r
0034020 ( 006 002
0034040 \ P U T B A S E B I T S 006 001 (
0034060 \ A D D B A S E A D D R 1 )
0034100 \r
0034120 0 S I Z E V A L )
0034140 \r 006 002 e l s e 006 001
0034160
*
0034240 ( * a s i n g l e w o
0034260 r d ) \r (
0034300 \ P U T B A S E A D D R 0
0034320 ( D E P O S I T B Y T E ( \ G
0034340 E T B A S E A D D R 0 ) \r
0034360
*
0034420 ( D I F F E R E N C E ( S
0034440 U B 1 B I T S P E R W O R D )
0034460 \r
0034500
0034520 P O S I T
0034540 I O N ) \r
0034560
0034600 S I Z E V A L
0034620 ] ) \r ) \r \r \r \r 006 004 ( * ; ;
0034640 " P r i m i t i v e f u n c t
0034660 i o n s , e s p e c i a l l y
0034700 n e e d e d f o r C o m m
0034720 o n L i s p a r r a y p a c
0034740 k a g e . " ) 006 001 \r \r ( D E C L
0034760 A R E % : D O N T C O P Y \r
0035000 ( D E C L A R E % : E V A L @
0035020 C O M P I L E \r \r ( P U T P R
0035040 O P S . H I H A L F W O R D L
0035060 O . M A C R O ( ( X ) \r
0035100
0035120 ( L
0035140 R S H X B I T S P E R H A L
0035160 F W O R D ) ) ) \r [ P U T P R O
0035200 P S . H I H A L F W O R D H I
0035220 . M A C R O ( ( X ) \r
0035240
0035260 ( L O
0035300 G A N D X ( C O N S T A N T
0035320 ( L S H M A S K H A L F W O
0035340 R D 1 ' S B I T S P E R H A L
0035360 F W O R D ] \r ( P U T P R O P S
0035400 . L O H A L F W O R D L O .
0035420 M A C R O ( ( X ) \r
0035440
0035460 ( L O G A
0035500 N D X M A S K H A L F W O R
0035520 D 1 ' S ) ) ) \r ( P U T P R O P
0035540 S . L O H A L F W O R D H I .
0035560 M A C R O ( ( X ) \r
0035600
0035620 ( L L S
0035640 H ( L O G A N D X M A S K
0035660 H A L F W O R D 1 ' S ) \r
0035700
*
0035740 B I T S P E R H A L F W O
0035760 R D ) ) ) \r ) \r \r ( D E C L A R
0036000 E % : E V A L @ C O M P I L E
0036020 \r \r [ P U T P R O P S \ G E
0036040 T B A S E N I B B L E D M A C
0036060 R O ( O P E N L A M B D A (
0036100 B A S E O F F S T ) \r
0036120
*
0036160 ( [ L A M B D A ( \ B y
0036200 t e ) \r
0036220
*
0036260 ( D E C L A R E ( L O C
0036300 A L V A R S \ B y t e ) ) \r
0036320
*
0036360 ( i
0036400 f ( O D D P O F F S T ) \r
0036420
*
0036500 t h e n \r
0036520
*
0036560 ( L O G A N
0036600 D \ B y t e ( C O N S T A N
0036620 T ( M A S K . 1 ' S 0 B I
0036640 T S P E R N I B B L E ) \r
0036660
*
0036760 ) ) \r
0037000
*
0037040 e l s e \r
0037060
*
0037140 ( L R S H \ B y t e B
0037160 I T S P E R N I B B L E ] \r
0037200
*
0037240 ( \ G E T B A S E B
0037260 Y T E B A S E ( F O L D L O
0037300 O F F S T N I B B L E S P E
0037320 R B Y T E ] \r [ P U T P R O P S
0037340 \ P U T B A S E N I B B L E
0037360 D M A C R O \r ( O
0037400 P E N L A M B D A ( B A S E
0037420 O F F S T V A L ) \r
0037440 ( [ L A M B D
0037460 A ( \ B y t e N o ) \r
0037500
0037520 ( D E C L A R E ( L O C A
0037540 L V A R S \ B y t e N o ) ) \r
0037560
0037600 ( [ L A M B D A (
0037620 \ B y t e ) \r
0037640
0037660 ( D E C L A R E ( L
0037700 O C A L V A R S \ B y t e ) )
0037720 \r
0037740 (
0037760 \ P U T B A S E B Y T E B A S
0040000 E \ B y t e N o \r
0040020
0040040 (
0040060 i f ( O D D P O F F S T ) \r
0040100
*
0040140 t h e n \r
0040160
*
0040220 ( L O G O R ( L
0040240 O G A N D \ B y t e ( C O N
0040260 S T A N T ( M A S K . 1 ' S
0040300 B I T S P E R N I B B L E \r
0040320
*
0040420 B I
0040440 T S P E R N I B B L E ) ) ) \r
0040460
*
0040520 V
0040540 A L ) \r
0040560
0040600 e l s
0040620 e \r
0040640
0040660 ( L O G O
0040700 R ( L O G A N D \ B y t e
0040720 ( C O N S T A N T ( M A S K .
0040740 1 ' S 0 B I T S P E R N I B
0040760 B L E ) ) ) \r
0041000
*
0041040 ( L L S H V A L
0041060 B I T S P E R N I B B L E ] \r
0041100
0041120 ( \ G E T B A S E
0041140 B Y T E B A S E \ B y t e N
0041160 o ] \r
0041200 ( F O L D L O O F F S T
0041220 N I B B L E S P E R B Y T E ] \r
0041240 [ P U T P R O P S \ G E T B A
0041260 S E B I T D M A C R O ( O P
0041300 E N L A M B D A ( B A S E O
0041320 F F S T ) \r
0041340
0041360 ( [ L A M B
0041400 D A ( \ B y t e N o \ B i t
0041420 M a s k ) \r
0041440
*
0041500 ( D E C L A R E ( L O C A
0041520 L V A R S \ B y t e N o \ B
0041540 i t M a s k ) ) \r
0041560
*
0041620 ( i f ( E Q 0 (
0041640 L O G A N D \ B i t M a s k
0041660 ( \ G E T B A S E B Y T E B A
0041700 S E \ B y t e N o ) ) ) \r
0041720
*
0041760 t h
0042000 e n 0 e l s e 1 ] \r
0042020
*
0042060 ( F O L D L O O F F S T
0042100 B I T S P E R B Y T E ) \r
0042120
*
0042160 ( M A S K . 1 ' S ( I D I
0042200 F F E R E N C E ( C O N S T A
0042220 N T ( S U B 1 B I T S P E R
0042240 B Y T E ) ) \r
0042260
*
0042320 ( I M
0042340 O D O F F S T B I T S P E R
0042360 B Y T E ) ) \r
0042400
*
0042440 1 ] \r [ P U T P R O P S
0042460 \ P U T B A S E B I T D M A C
0042500 R O ( O P E N L A M B D A (
0042520 B A S E O F F S T V A L ) \r
0042540
*
0042600 ( [ L A M B D A ( \ B
0042620 y t e N o \ B i t M a s k \
0042640 B y t e ) \r
0042660
*
0042720 ( D E C L A R E ( L O C A
0042740 L V A R S \ B y t e N o \ B
0042760 i t M a s k \ B y t e ) ) \r
0043000
*
0043040 ( S E T Q
0043060 \ B y t e ( \ G E T B A S E
0043100 B Y T E B A S E \ B y t e N
0043120 o ) ) \r
0043140
*
0043200 ( i f ( i f ( E Q 0 ( L
0043220 O G A N D \ B i t M a s k \
0043240 B y t e ) ) \r
0043260
*
0043320 t h e n \r
0043340
*
0043420 ( N O T ( E Q 0 V
0043440 A L ) ) \r
0043460
*
0043520 e l s e \r
0043540
*
0043620 ( E Q 0 V A L ) ) \r
0043640
*
0043700 t h
0043720 e n \r
0043740
*
0044000 ( \ P U T B A S E B Y T E
0044020 B A S E \ B y t e N o ( L
0044040 O G X O R \ B i t M a s k \
0044060 B y t e ) ) ) \r
0044100
*
0044140 V A L ] \r
0044160
0044200 ( F
0044220 O L D L O O F F S T B I T S
0044240 P E R B Y T E ) \r
0044260
0044300 ( M
0044320 A S K . 1 ' S ( I D I F F E R
0044340 E N C E ( C O N S T A N T (
0044360 S U B 1 B I T S P E R B Y T E
0044400 ) ) \r
0044420
*
0044460 ( I M O D O
0044500 F F S T B I T S P E R B Y T E
0044520 ) ) \r
0044540
0044560 1
0044600 ] \r ) \r ) \r \r \r \r 006 004 ( * ; ;
0044620 " B e g i n n i n g o f r
0044640 e w r i t e o f s o m e L
0044660 L A R I T H t h i n g s , m
0044700 o d u l a r l y u s i n g t
0044720 h e m a c r o s o f t h i
0044740 s f i l e " ) 006 001 \r \r ( D E C
0044760 L A R E % : D O N T C O P Y
0045000 \r ( * " F O L L O W I N G D
0045020 E F I N I T I O N S E X P O R
0045040 T E D " ) \r \r ( D E C L A R E %
0045060 : E V A L @ C O M P I L E \r
0045100 \r ( R P A Q Q 006 002 M A S K 0 W
0045120 O R D 1 ' S 006 001 3 2 7 6 7 ) \r
0045140 \r ( R P A Q Q 006 002 M A S K 1 W
0045160 O R D 0 ' S 006 001 3 2 7 6 8 ) \r
0045200 \r ( R P A Q Q 006 002 M A S K W O
0045220 R D 1 ' S 006 001 6 5 5 3 5 ) \r \r
0045240 ( R P A Q Q 006 002 M A S K H A L
0045260 F W O R D 1 ' S 006 001 2 5 5 ) \r
0045300 \r ( R P A Q Q 006 002 B I T S P E
0045320 R H A L F W O R D 006 001 8 ) \r \r
0045340 ( C O N S T A N T S M A S K 0
0045360 W O R D 1 ' S M A S K 1 W O R
0045400 D 0 ' S M A S K W O R D 1 ' S
0045420 M A S K H A L F W O R D 1 ' S
0045440 B I T S P E R H A L F W O R D
0045460 ) \r ) \r ( D E C L A R E % : E
0045500 V A L @ C O M P I L E \r \r ( P
0045520 U T P R O P S E Q Z E R O P
0045540 M A C R O ( ( X ) \r
0045560
0045600 ( E Q 0 X ) ) ) \r )
0045620 \r ( D E C L A R E % : E V A L
0045640 @ C O M P I L E \r \r [ P U T P
0045660 R O P S \ M O V E T O B O X
0045700 D M A C R O ( O P E N L A M B
0045720 D A ( N D ) \r
0045740
0045760 ( S E L
0046000 E C T C ( N T Y P X N ) \r
0046020
*
0046060 ( \ S M A L L
0046100 P ( r e p l a c e ( F I X P
0046120 H I N U M ) \r
0046140
*
0046220 o f D w i t h 0 ) \r
0046240
*
0046320 ( r e p l a c e ( F I X P L
0046340 O N U M ) \r
0046360
*
0046420 o f
0046440 D w i t h N ) ) \r
0046460
*
0046520 ( \ F I X P ( r e
0046540 p l a c e ( F I X P H I N U
0046560 M ) \r
0046600
*
0046640 o f D
0046660 w i t h ( f e t c h ( F I X
0046700 P H I N U M ) \r
0046720
*
0047020 o f N ) ) \r
0047040
*
0047100 ( r e p l a
0047120 c e ( F I X P L O N U M ) \r
0047140
*
0047220 o f D w i t
0047240 h ( f e t c h ( F I X P L
0047260 O N U M ) \r
0047300
*
0047360 o
0047400 f N ) ) ) \r
0047420
*
0047460 ( \ I L L E G A L . A R G N
0047500 ] \r [ P U T P R O P S . X U N
0047520 B O X . M A C R O ( ( X H
0047540 X L X ) \r
0047560
0047600 ( u n t i l ( S E T Q L X
0047620 ( S E L E C T C ( N T Y P X
0047640 X ) \r
0047660
*
0047720 [ \ S M A L L P ( C O
0047740 N D ( ( I G E Q X 0 ) \r
0047760
*
0050060 ( S E T Q H X 0 ) \r
0050100
*
0050160 X ) \r
0050200
*
0050300 ( T ( S E T Q H X M A S K
0050320 W O R D 1 ' S ) \r
0050340
*
0050420 ( \ L O
0050440 L O C X ] \r
0050460
*
0050520 ( \ F I X P (
0050540 S E T Q H X ( f e t c h (
0050560 F I X P H I N U M ) \r
0050600
*
0050700 o f X ) ) \r
0050720
*
0051000 ( f e t c h ( F I X P
0051020 L O N U M ) \r
0051040
*
0051120 o f X ) ) \r
0051140
*
0051200 N I
0051220 L ) ) \r
0051240
0051260 d o \r
0051300
0051320 ( S E T Q X
0051340 ( L I S P E R R O R " I L L
0051360 E G A L A R G " X T ] \r [
0051400 P U T P R O P S . X L L S H .
0051420 M A C R O ( ( H I L O N
0051440 ) \r
0051460 ( i f (
0051500 I G E Q N B I T S P E R W O
0051520 R D ) \r
0051540
0051560 t h e n \r
0051600
0051620 ( * J u m p 1 6 b i
0051640 t s i n a s i n g l e b
0051660 o u n d ! ) \r
0051700
0051720 ( S E T Q H I L O )
0051740 \r
0051760 ( S
0052000 E T Q L O 0 ) \r
0052020
0052040 ( S E T Q N (
0052060 I D I F F E R E N C E N B I
0052100 T S P E R W O R D ) ) ) \r
0052120
0052140 ( i f ( I G E Q
0052160 N B I T S P E R H A L F W O R
0052200 D ) \r
0052220
0052240 t h e n \r
0052260
0052300 ( * J u m p 8 b i t s
0052320 i n a s i n g l e b o u
0052340 n d ! ) \r
0052360
0052400 ( S E T Q H I ( L O G O
0052420 R ( . L O H A L F W O R D H I
0052440 . H I ) \r
0052460
*
0052520 ( . H I H A L F W O R D L
0052540 O . L O ) ) ) \r
0052560
0052600 ( S E T Q L O (
0052620 . L O H A L F W O R D H I . L
0052640 O ) ) \r
0052660
0052700 ( S E T Q N ( I D I F F E
0052720 R E N C E N B I T S P E R H
0052740 A L F W O R D ) ) ) \r
0052760
0053000 ( i f ( I G E Q N
0053020 4 ) \r
0053040
0053060 t h e n \r
0053100
0053120 ( * J u m p 4 b i t s
0053140 i n a s i n g l e b o u
0053160 n d ! ) \r
0053200
0053220 ( S E T Q H I ( L O G O
0053240 R ( L R S H L O ( C O N S
0053260 T A N T ( I D I F F E R E N C
0053300 E B I T S P E R W O R D 4 )
0053320 ) ) \r
0053340
*
0053400 ( L L S H [ L O G A N D H I
0053420 ( C O N S T A N T ( M A S K
0053440 . 1 ' S 0 ( I D I F F E R E
0053460 N C E \r
0053500
*
0053600 B I T S P E R
0053620 W O R D 4 ] \r
0053640
*
0053700 4 ) ) ) \r
0053720
0053740 ( S E
0053760 T Q L O ( L L S H [ L O G
0054000 A N D L O ( C O N S T A N T
0054020 ( M A S K . 1 ' S 0 ( I D
0054040 I F F E R E N C E B I T S P E
0054060 R W O R D \r
0054100
*
0054200 4 ] \r
0054220
*
0054260 4 ) ) \r
0054300
0054320 ( S E T Q
0054340 N ( I D I F F E R E N C E
0054360 N 4 ) ) ) \r
0054400
0054420 [ * M A S K 0 W O R D 1 ' S
0054440 s h o u l d b e s a m e a
0054460 s ( S U B 1 ( L S H 1 (
0054500 S U B 1 B I T S P E R W O R D
0054520 ] \r
0054540 ( F R P T
0054560 Q N ( S E T Q H I ( L L
0054600 S H ( L O G A N D H I M A
0054620 S K 0 W O R D 1 ' S ) \r
0054640
*
0054700 1 ) )
0054720 \r
0054740
0054760 ( S E T Q L O ( L L S H
0055000 ( i f ( I G E Q L O M A S
0055020 K 1 W O R D 0 ' S ) \r
0055040
*
0055100 t h
0055120 e n \r
0055140
*
0055200 ( a d d H I 1 )
0055220 \r
0055240
*
0055300 ( L O G A N D L O M
0055320 A S K 0 W O R D 1 ' S ) \r
0055340
*
0055420 e l s e L O ) \r
0055440
*
0055500 1 ] \r [ P U T P
0055520 R O P S . X L L S H 1 . M A
0055540 C R O ( ( H I L O ) \r
0055560
0055600 ( S E T Q H I
0055620 ( L L S H ( L O G A N D H I
0055640 M A S K 0 W O R D 1 ' S ) \r
0055660
*
0055720 1 ) ) \r
0055740
0055760 ( S E T Q L O (
0056000 L S H ( C O N D ( ( I G E Q
0056020 L O M A S K 1 W O R D 0 ' S
0056040 ) \r
0056060
*
0056120 ( S E T Q H I ( L O G O R
0056140 H I 1 ) ) \r
0056160
*
0056220 ( L O G A N D L
0056240 O M A S K 0 W O R D 1 ' S ) )
0056260 \r
0056300
0056320 (
0056340 T L O ) ) \r
0056360
0056400 1
0056420 ] \r [ P U T P R O P S . X L R
0056440 S H . M A C R O ( ( H I L
0056460 O N ) \r
0056500 ( i
0056520 f ( I G E Q N B I T S P E
0056540 R W O R D ) \r
0056560
0056600 t h e n \r
0056620
0056640 ( * J u m p 1 0
0056660 b i t s i n a s i n g l
0056700 e b o u n d ! ) \r
0056720
0056740 ( S E T Q L O
0056760 H I ) \r
0057000
0057020 ( S E T Q H I 0 ) \r
0057040
0057060 ( S E T Q
0057100 N ( I D I F F E R E N C E N
0057120 B I T S P E R W O R D ) ) ) \r
0057140
0057160 ( i f ( I G
0057200 E Q N B I T S P E R H A L F
0057220 W O R D ) \r
0057240
0057260 t h e n \r
0057300
0057320 ( * J u m p 8 b
0057340 i t s i n a s i n g l e
0057360 b o u n d ! ) \r
0057400
0057420 ( S E T Q L O ( L
0057440 O G O R ( . H I H A L F W O R
0057460 D L O . L O ) \r
0057500
*
0057540 ( . L O H A L F W O
0057560 R D H I . H I ) ) ) \r
0057600
0057620 ( S E T Q H
0057640 I ( . H I H A L F W O R D L O
0057660 . H I ) ) \r
0057700
0057720 ( S E T Q N ( I D I
0057740 F F E R E N C E N B I T S P
0057760 E R H A L F W O R D ) ) ) \r
0060000
0060020 ( i f ( I G E Q
0060040 N 4 ) \r
0060060
0060100 t h e n \r
0060120
0060140 ( * J u m p 4 b
0060160 i t s i n a s i n g l e
0060200 b o u n d ! ) \r
0060220
0060240 ( S E T Q L O ( L
0060260 O G O R ( L L S H ( L O G A
0060300 N D H I ( C O N S T A N T
0060320 ( M A S K . 1 ' S 0 4 ) ) )
0060340 \r
0060360
*
0060420 ( C O N S T A N T ( I
0060440 D I F F E R E N C E B I T S P
0060460 E R W O R D 4 ) ) ) \r
0060500
*
0060540 ( L R S H L
0060560 O 4 ) ) ) \r
0060600
0060620 ( S E T Q H I ( L R
0060640 S H H I 4 ) ) \r
0060660
0060700 ( S E T Q N (
0060720 I D I F F E R E N C E N 4 )
0060740 ) ) \r
0060760 ( * M
0061000 A S K 1 W O R D 0 ' S s h o u
0061020 l d b e s a m e a s \ S
0061040 I G N B I T ) \r
0061060
0061100 ( F R P T Q N ( S E T Q
0061120 L O ( i f ( O D D P H I )
0061140 \r
0061160
*
0061220 t h e n \r
0061240
*
0061300 ( L O G O R ( L R S H
0061320 L O 1 ) \r
0061340
*
0061400 M A S
0061420 K 1 W O R D 0 ' S ) \r
0061440
*
0061500 e l s e \r
0061520
*
0061560 ( L
0061600 R S H L O 1 ) ) ) \r
0061620
0061640 ( S E T
0061660 Q H I ( L R S H H I 1 ]
0061700 \r [ P U T P R O P S . A D D .
0061720 2 W O R D . I N T E G E R S .
0061740 M A C R O ( ( H X L X H Y
0061760 L Y ) \r
0062000
0062020 ( * I g
0062040 n o r e s c a r r y o u t
0062060 o f h i g h - o r d e r w o
0062100 r d ) \r
0062120
0062140 ( S E T Q
0062160 H X ( . S U M S M A L L M O D
0062200 . H X H Y ) ) \r
0062220
*
0062260 ( S E T Q L X ( . S U M S M
0062300 A L L M O D . L X L Y ( S
0062320 E T Q H X \r
0062340
*
0062440 ( i f ( E Q H X \r
0062460
*
0062560 M
0062600 A X . S M A L L . I N T E G E R
0062620 ) \r
0062640
*
0062740 t h e n 0 e l s e \r
0062760
*
0063060 ( A D D 1
0063100 H X ] \r [ P U T P R O P S . S
0063120 U B . 2 W O R D . I N T E G E R
0063140 S . M A C R O ( ( H X L X
0063160 H Y L Y ) \r
0063200
0063220 ( *
0063240 I g n o r e s c a r r y o
0063260 u t o f h i g h - o r d e r
0063300 w o r d ) \r
0063320
0063340 ( S E
0063360 T Q H X ( . D I F F E R E N
0063400 C E S M A L L M O D . H X H
0063420 Y ) ) \r
0063440
0063460 ( S E T Q
0063500 L X ( . D I F F E R E N C E S
0063520 M A L L M O D . L X L Y \r
0063540
*
0063620 ( S E T Q H X ( i
0063640 f ( E Q H X 0 ) \r
0063660
*
0063740 t
0063760 h e n M A X . S M A L L . I N
0064000 T E G E R e l s e \r
0064020
*
0064100 ( S
0064120 U B 1 H X ] \r [ P U T P R O P
0064140 S . 3 2 B I T M U L . M A C
0064160 R O ( ( H R L R X Y ) \r
0064200
0064220 ( P R O
0064240 G ( H X L X H Y L Y ) \r
0064260
*
0064320 ( i f ( I L E S S P X
0064340 Y ) \r
0064360
0064400 t h e n \r
0064420
*
0064460 ( s w a p X Y ) ) \r
0064500
*
0064540 ( * Y i s t h e l e
0064560 s s e r o f t h e t w o
0064600 n o w ) \r
0064620
0064640 ( . X U N B O X .
0064660 X H X L X ) \r
0064700
0064720 ( . X U
0064740 N B O X . Y H Y L Y ) \r
0064760
*
0065020 L P \r
0065040
0065060 ( i f ( O D D P
0065100 L Y ) \r
0065120
0065140 t h e n \r
0065160
*
0065220 ( . A D D . 2 W O R D
0065240 . I N T E G E R S . H R L R
0065260 H X L X ) ) \r
0065300
0065320 ( i f (
0065340 E Q H Y 0 ) \r
0065360
0065400 t
0065420 h e n \r
0065440
0065460 ( S E T Q
0065500 L Y ( L R S H L Y 1 ) ) \r
0065520
*
0065560 ( i f ( E Q L Y
0065600 0 ) \r
0065620
0065640 t h
0065660 e n \r
0065700
0065720 ( R E
0065740 T U R N ) ) \r
0065760
0066000 e l s
0066020 e \r
0066040
0066060 ( . L R S H 1 .
0066100 H Y L Y ) ) \r
0066120
0066140 ( * T r
0066160 i m o f f h i g h e s t b
0066200 i t s , s o t h a t l e f
0066220 t - s h i f t i n g d o e s n
0066240 ' t g e n e r a t e \r
0066260
*
0066320 F I X P s ) \r
0066340
0066360 ( S E T Q
0066400 H X ( L O G A N D H X M
0066420 A S K 0 W O R D 1 ' S ) ) \r
0066440
*
0066500 ( . L L S H 1 . H X L X ) \r
0066520
*
0066560 ( G O L P ] \r ) \r ( D E C
0066600 L A R E % : E V A L @ C O M P
0066620 I L E \r \r [ P U T P R O P S
0066640 . S U M S M A L L M O D . M A
0066660 C R O ( ( X Y O V E R F L
0066700 O W F O R M ) \r
0066720
0066740 ( [ L A M B D A
0066760 ( \ S u m S m a l l M o d V a r
0067000 ) \r
0067020
0067040 ( D E C L A R
0067060 E ( L O C A L V A R S \ S u
0067100 m S m a l l M o d V a r ) ) \r
0067120
*
0067160 ( I F ( I L E Q
0067200 X \ S u m S m a l l M o d V a
0067220 r ) \r
0067240
0067260 T H
0067300 E N \r
0067320
0067340 ( I
0067360 P L U S X Y ) \r
0067400
*
0067440 E L S E O V E R F L
0067460 O W F O R M ( I D I F F E R E
0067500 N C E X ( A D D 1 \ S u m
0067520 S m a l l M o d V a r ] \r
0067540
0067560 ( I D
0067600 I F F E R E N C E M A X . S M
0067620 A L L . I N T E G E R Y ] \r [
0067640 P U T P R O P S . D I F F E R
0067660 E N C E S M A L L M O D . M A
0067700 C R O ( ( X Y B O R R O W
0067720 F O R M ) \r
0067740
0067760 ( I F
0070000 ( N O T ( I G R E A T E R P
0070020 Y X ) ) \r
0070040
*
0070100 T H E N \r
0070120
0070140 (
0070160 I D I F F E R E N C E X Y )
0070200 \r
0070220
0070240 E L S E
0070260 B O R R O W F O R M ( A D D 1
0070300 ( I D I F F E R E N C E M A
0070320 X . S M A L L . I N T E G E R \r
0070340
*
0070440 ( I D I F F E R E
0070460 N C E Y X ] \r ) \r \r ( * "
0070500 E N D E X P O R T E D D E F
0070520 I N I T I O N S " ) \r \r \r ( D E
0070540 C L A R E % : E V A L @ C O M
0070560 P I L E \r \r [ P U T P R O P S
0070600 . A D D . 2 W O R D . I N T E
0070620 G E R S . M A C R O ( ( H X
0070640 L X H Y L Y ) \r
0070660
*
0070720 ( * I g n o r e s c a r r
0070740 y o u t o f h i g h - o r
0070760 d e r w o r d ) \r
0071000
*
0071040 ( S E T Q H X ( . S U M S M
0071060 A L L M O D . H X H Y ) ) \r
0071100
*
0071140 ( S E T Q L X (
0071160 . S U M S M A L L M O D . L X
0071200 L Y ( S E T Q H X \r
0071220
*
0071320 ( i f ( E Q H
0071340 X \r
0071360
*
0071460 M A X . S M A L L . I
0071500 N T E G E R ) \r
0071520
*
0071620 t h e n 0 e l s
0071640 e \r
0071660
*
0071760 ( A D D 1 H X ] \r [ P U T P R
0072000 O P S . S U B . 2 W O R D . I
0072020 N T E G E R S . M A C R O (
0072040 ( H X L X H Y L Y ) \r
0072060
*
0072120 ( * I g n o r e s c
0072140 a r r y o u t o f h i g h
0072160 - o r d e r w o r d ) \r
0072200
*
0072240 ( S E T Q H X ( . D I
0072260 F F E R E N C E S M A L L M O D
0072300 . H X H Y ) ) \r
0072320
*
0072360 ( S E T Q L X ( . D I F F E
0072400 R E N C E S M A L L M O D . L
0072420 X L Y \r
0072440
*
0072500 ( S E T Q
0072520 H X ( i f ( E Q H X 0
0072540 ) \r
0072560
*
0072640 t h e n M A X . S M
0072660 A L L . I N T E G E R e l s e
0072700 \r
0072720
*
0073000 ( S U B 1 H X ] \r [ P
0073020 U T P R O P S . 3 2 B I T M U
0073040 L . M A C R O ( ( H R L R
0073060 X Y ) \r
0073100
0073120 ( P R O G ( H X L X H
0073140 Y L Y ) \r
0073160
0073200 ( i f ( I L E
0073220 S S P X Y ) \r
0073240
0073260 t
0073300 h e n \r
0073320
0073340 ( s w a p
0073360 X Y ) ) \r
0073400
0073420 ( * Y i s
0073440 t h e l e s s e r o f t h
0073460 e t w o n o w ) \r
0073500
0073520 ( . X
0073540 U N B O X . X H X L X ) \r
0073560
*
0073620 ( . X U N B O X . Y H Y
0073640 L Y ) \r
0073660
0073700 L P \r
0073720
0073740 ( i f
0073760 ( O D D P L Y ) \r
0074000
*
0074040 t h e n \r
0074060
0074100 ( . A D D
0074120 . 2 W O R D . I N T E G E R S .
0074140 H R L R H X L X ) ) \r
0074160
*
0074220 ( i f ( E Q H Y 0 ) \r
0074240
*
0074300 t h e n \r
0074320
*
0074360 ( S E T Q L Y ( L R S H L
0074400 Y 1 ) ) \r
0074420
0074440 ( i f
0074460 ( E Q L Y 0 ) \r
0074500
*
0074540 t h e n \r
0074560
*
0074620 ( R E T U R N ) ) \r
0074640
*
0074700 e l s e \r
0074720
0074740 ( .
0074760 L R S H 1 . H Y L Y ) ) \r
0075000
*
0075040 ( * T r i m o f f h i g
0075060 h e s t b i t s , s o t h
0075100 a t l e f t - s h i f t i n g
0075120 d o e s n ' t g e n e r a t
0075140 e \r
0075160
0075200 F I X P s ) \r
0075220
*
0075260 ( S E T Q H X ( L O G A N
0075300 D H X M A S K 0 W O R D 1 '
0075320 S ) ) \r
0075340
0075360 ( . L L S H 1 . H
0075400 X L X ) \r
0075420
0075440 ( G O L P ] \r
0075460 ) \r ) \r \r ( P U T P R O P S 006
0075500 002 A D D A R I T H F I L E T Y
0075520 P E 006 001 C L : C O M P I L E -
0075540 F I L E ) \r ( P U T P R O P S
0075560 A D D A R I T H C O P Y R I G
0075600 H T ( " X e r o x C o r p o
0075620 r a t i o n " 1 9 8 2 1 9 8
0075640 3 1 9 8 4 1 9 8 5 1 9 8 6
0075660 ) ) \r ( D E C L A R E % : D O
0075700 N T C O P Y \r ( F I L E M A
0075720 P ( N I L ( 3 5 1 1 3 6 4
0075740 8 ( L O G N O T 3 5 2 1 .
0075760 3 6 4 6 ) ) ( 5 1 4 9 5 8
0076000 6 7 ( L D B 5 1 5 9 . 5
0076020 4 0 0 ) ( D P B 5 4 0 2 .
0076040 5 6 6 6 ) ( B Y T E \r 5 6
0076060 6 8 . 5 8 6 5 ) ) ( 5 8 6
0076100 8 1 1 5 9 3 ( \ L D B E X P
0076120 A N D E R 5 8 7 8 . 8 0 6
0076140 3 ) ( \ D P B E X P A N D E R
0076160 8 0 6 5 . 1 1 5 9 1 ) )
0076200 ( 1 1 9 7 7 1 2 1 6 2 ( \r I
0076220 M O D L E S S P 1 1 9 8 7 .
0076240 1 2 1 6 0 ) ) ( 1 2 4 6 9
0076260 1 2 9 3 2 ( R O T 1 2 4 7 9
0076300 . 1 2 9 3 0 ) ) ( 1 3 7 0
0076320 9 1 4 7 4 0 ( \ P U T B A S
0076340 E B I T S 1 3 7 1 9 . 1 4
0076360 7 3 8 ) ) \r ) ) ) \r S T O P \r
0076377