Jun 13, 2002 ... Internet page http://www-cs-faculty.stanford.edu/~knuth/taocp.html contains ...
loadable software to simulate the MMIX computer. Copyright c© ...
!"
# $ #
Æ % & ' ( &# ' ) * +
! " #
$ % &
' ( )! " * )
+ ,# ,' ,*-
( & '
( ) + ./ 0 1)) 2
- ( )!
( )! 3 & ' * 4 5 ( )! 6&
$ 7 ( )! ! 6&
7 +8 4 $9 !# !'- ( )! "3 6& $
7
( )! , + - ( )!!
#
2 * )
: ( ! !, !. !"! !",! ",! ,"! ,. ,.! ; ! ;, ;,! . ."
/1 5 5 % (
6 7 4 + Æ ,. - ;" ;; ..
= 4
% #
% 6 7 0 6 7
1 +- 2 ( ",! $ ( 0 % E
D
F
G
+-
$ 6+ -$7 + -$ G 0
D
!"
# $
%
$
& '
+ -$3 E # $ $ $ %
$ G G $ G % F + / # $ 0 /
3
# $ /
+-
' # $ ! G
G ! G !
F
$ &%
!
F + $ $ % -#
+ -
!
)! "
H # $ / # $ /
$ $ %
+-
* % 9 + -$ G ! !
% # $
# $ / H # $ +- # $
+-
F G # F # G $ F $
+- +-
+ !.>./- # ( & I + 1.// %
+ $ $ % -#
$ M # $
%
0
9 F "
Æ 3
9 + F ! " + -
3 9 # F ! + + -
3 9 $ F / # + -
3 + # $
+-
+( )! >+-H
# )! !M % $ $
3
+" # ! -
$ # $ / / # ($ (# I D J ( 2 ($ (# / IJ # $ I9 J ( G F ($ G 2 G F ($ IB =J I J ( G M! Æ D ( M" 0 ($ F $ G %
($ 2
+-
' , ((( ' '-(
)! "
;
% + -$ 0 (
M"
!
G
!
G
G / F G ! G G F G
G
F
A
+ G -A +
A
F
A A
-A
G
+-
+-
# M % Æ ' % + G -
# M
% 9 M, M; 0 9 / + # $ ! /
+ $ 3
+" # ! -
# M
I D J ( 2 ($ (# / IJ +#
($ - # $ / . I: =J $ G # $ $ G ! H ! I9 J ( $ ! G F ($ G F ($ IB =J I J ( !
L F / ! $ / , : . # L D M # M $ $
G 2 % $ % $ B M # M I : 9 ' + 1.,- !)>"/J3
' ,
.
.
)! "
# $ # G $ GG !
+-
# $ F ($
$ /
%&
F " # $ % + $ % + # % 1 / + + G # G $ + G # G $ + G # G $ + G # G $ + # $ % / ! 1 M % F GG # G $ # $ / + ! I( : 4
+ +- + - % O F /O5$6
O 5$6
+-
/ E O% F / O% F O / / $ / +- /O5$6
O5$6 / /$ $ F / /$ # / # F $ # / / ! $ F 9 O++
/// // / // / // / / //
/ / / / // / / / / / / / //
/// // / / // /// / //
/ / / / // // / // / ///
+-
O#+ H I O B * L M "# + 1)"- ).> )!J3
% +( ) -
$ # $ / $ % +- ( 8" % I D J ( ($ % IJ # $ % I: =J 3 $ G # $ 8! ! 8, 3 $ / $ 8! ! 8; % I J +# F $ G - $ $ ! 8! H % I J +# $ F !- G ($ $ G 8! H 8, : ! >!; % H
M3 $ # $
G G G G $ # $ F G G + - + - I J + ! E
6 7 2 %
% G / # 8
F + # $ # +- +-
# E # % #$ #
9
"$ ;" +- & 9 " ( ." E 0 0
5
0 -
. ' ' - ' , 3 '
/
)! "
5 N $ 2 6 7 +# )! !4- $ # 8 '
%
# $ 9 # 8 ! / "!/ +- 6 7 +- $ 3 E / /$ #
/$ / # ! @ O / / / / /// / // 2 # & # D /
/ E
$ $ # +- + -$ % / /
3 M $% F / $% F $5$6 F
$
F / $5$6
/ $5 $65$6
$5#6 / + /$
/ $ /$
# % / / $
/ # 2 $ % 0 / $++
F F " /// / / / / // /// // / / // / // /// +// / / // / / / // / // / / / / // / / // / / / / // // / /// 6 7 ! / " / "!/ "! ,!
,!/ , / ,"/ ," ,"!
;"! ;"/ ;" ;! ;!/
; / ;,/ ;, ;,! ;,"
+-
4 ' . -
)! "
E $ +- $ # +- +- % % +0 - ' A #
+ -$ % / / // // ! M
)!
$
$ $ # P B N*
D I ' + 11;- ;"> ;1J3
& # !
& /! ! + - ! ! " ! ! / / / # !
F F 2 G %5$6 / &5$6
$ %5$6 &5$6 F %5$6 / 2 &5$6 5$6$5 $6 5$6$$
F H $
%5$6 2 %5$6 F 5$6 &5$6 5$65 $6 2 F H F &5$6 F 5 $6 / $ / /($ /$ $
F F !
%&
L
/3 5$6$ / 5$65 $6 2 5$6# / 5 $6$ F 2 F + $5$6$ / F F
# % F / M ' F $ ( F # $ 4
P * 1). K
3
' F (5$6 / ' 5$6 2
( F '5$6 / '5$6
+-
6 2 7 %
) 7
8 .- !9 9
!
)! "
4 (( 9 4
.
.
,+-
,-)
-)
+
,+-
,
+-
+)
,+)
,-
-
+)
,+
,)
+-
)
,+
,)
-)
+-)
,+
,-
+-)
-)
,+
,
)
+-
,+)
,-)
+)
-
,-
,)
+)
+-
,)
,-
+
-)
' ( '%% F (%% F ) + - '
+ - (
+ !- 9 ! F F " % $
+ # $ 1 / + # $ % * % ' G 2 ' G 2
F F + G ( G 2 ( I(
" $" " $ +
5$6 / 5$6
F
G 2 5$6 G 2
5$6 /
F
1!,!J
5$6 / 5$6 /
5$6
G 2
5$6 G
+-
+-
E
% $ M + - ( $ % F ! ! F % 2 F
$ $ % 3
! F / G F F 2 / * $ % ! (
+-
Æ 3 E G
+ ".-
)! "
"
' D +- +- Q 3
" + * + -
+ -$ $ $ % F G $ * % " I D J ( / /
/ / ! 2 ! " IJ $ $ % " I9 J ( ! F / G F F 2 /
$ 3 & *, F / *; F / *. F / *) F / " IN J ( $ / ! F ! 2 ! F ! 8 *! " IN J # F / *, H # / ! F ! + ! -2 ! F ! ! 8 *!
" IN J ( $ / ! F ! 2 ! F ! 8 *! " IN J $ F / *. H # /
! F ! ! 2 ! F ! ! 8 *! ( ! " ) *+
# * % & $ $ % F * F !
*
F+
*($ - ($
/
E
"
F +* G - !
9
F +" G - !
+ -
F !.
#1 $ % F // // //// / / / / *#1 *$ *% F / // // //// / / // // / "#1 "$ "% F //// /// / /// #1 $ % F /// // /////// // / " F /
+ -
6
7 +->+- $ $ % / # * $ $ % ! * % + "1- $ # $ $ $ %
' ,
,
)! "
+-
+-
/
($ + G - F
($ + G - F
G F
+- +-
($ +-
+-
($ +- +-
% +- F % +- F )
2 ($ +- 2
($ +-
+ -
2
+ -
%
($ +1- F < +1 G ?/ G /+
2 1 F ,"! / Æ L C N
* M U I + 1.1- !"/>!" ))) ))) 6 )
6
# #
#
&)'
0 6 !78
!77 88 .
7
8
. !78
7
7
. !7
8
?
!78 78 78 . 7 8
8
H
# ? ? ?
?
?
#
"
D
&' < &' -< & ' +< &' ,< &' )
) )) ) )) )) ) )) )) )) ) ;
7
8
.+
6 0
. 6
& '
& '
7 8
&F * '
& ) ' 9#
! " # ! "
1
1
>
D =
$ #
#
"
0 =
= 1 %
>
) ) ) )
' " # & '< '
' F #
B
; Æ Æ 4 ) ) . . 2 -+,-,+-,-+,)+ ,)+ ,)+ . +,-,,+-+,-,, . ))
?
E
) B C
7
7
Æ
.
% 8
> #
% 8
&J " )43+'
7 8
& '
E
& '
)
#
)
)
&
9
7
)
% 8
)
)
))
)
)
) )
)
))
)
)
)
)
)
)
) ) )
))
)
'
/ 9
2- @
%
7 &' .
1 %
.
F #
&D D #P I )44' 6
1
# ; ; 6 5
?
&' . &
' F #
)'
7 &'
)
&'
= /; ))!&/'
# 7 )8 ##
'
7 &'
%
7 & '
.
7 &)
' . ? 7 &'
7 &8' 8 < 7 &' . )1 7 &' . 7 &'
)
' " # ' F #
7 &'
' >
; ' >
;
7
% 8
7 &' .
A
9 (
9
7 &'
< &
7 &'
;
6 #'
7 ' Æ . ' ( ! ' - ( 4E = . 4 4 ) D '
)! "
7
$ 8
$
& '
7 7 7
0
.
#
$
& ' 7 ?
$ $ 8 = 6 7 &' . : Æ 8 F # G : Æ 8 6 0 &' : ; ; : Æ 1 &' : Æ Æ
0 )
""
.
.
: Æ1
8 /
D 7 8 ) - &/+' 7 8 F # &' 7% 8 F # 6 " $ &! (' ! ( 7 8 D . $ &( ( ' 7
6 " ( ( ( # &' "
( ( (
Æ # I # & '
' F # & ' B C # & ' %
.
' D I # & ' "
< 7
8
7
8
42 % Æ
I #
& '
)
!
)
42
)
.
)
6 I # %
' > Æ &0 0 0 ' I #
. + D
' D I #
7 8
& D R
'
B C
3 2 @ - . . < 7 8 = & ' J
> &' = & ' . ) # ) ' ?&' @ &' J
% &. A ' ' . .' .A' A ' M &&. A ' ' . .A' M A' ' J
= &. A ' ' > &' . ?&' > &' . @ &' /
! ! ! B # # +
7
8
&> Q )4'
A ? ' # D B > . & '& ' ? ) & ' )
. . . . ) . + . 4 . ), ' F # B B
& # ' ' H 6 Q &/,' #
? ' ? % &6
!
; # B@: C # A# @
&)333' +,!+,1 &)34' +-!,-+'
7 8
2 >
6
5 2
)) .
5
) >
)
)) ))) )) )))
#
' '
= 4
9'
&)+,2)-,)2+-),2-+,-2+)-,+2' #
.-
.
F #
8 &D F )34' > B C # ) ( N # &( ? )' 7 8 &S 6; )3+4' F : 3
7
B
C E 0
@
# -
- .
!
> # - &
)
)
)
' >
&)+)))---++)---++++))-'
. ,
7 8 ,
, &
!
' # &!
" # $ % & ' ( ) *
,
+ , .
-'
S
6
0 D < . 6 &' < . ), +6 &!' 6 &"' 6 ' 6 &)' 6 &* ' 6 &+' 6 &,' 6 &-'- . &) - 4 ) ) ) )' ' F 0 . # # ' = 0 - # # ? ) #' > 0 . + < # 1 < + ? 7 8 #' $ 0 . ) 1 < ) + >
+ % % & $
+
$
$
D
#$
?
?
&$ $' &4 ' $$$$ &3'
.
;
#$
. )))) ?
. 2+)
$ $ $ $
#$
. ,- ? . )4
?
I
$
&' /
$$$
&"
)4 )4) )4 6
)4 6 $$
&' D
.
- +! & & +2)!)4
$$ % )'
.
;
.
6
$$ $$
.7 .
.
8 )
.
B C +2$'
4F E. ' -
)7 ' '
"
7 8
7 8
6
7 7 88
7 7 88
7 8
6
7 8
7 8
)
7 8
78
1
&)44' -)!--,
,
6
))!)2
#
% #
8
#7 ' Æ C7 ' Æ 9 ' 3' G 0 = '
)! "
"1
'
# )) ' J 6 D
&6
; #
&
?
?
?
?
?
?
)
# # #
?
?
.
)
?
)
6
?
?
?
444444 . ?
M
?
M ?
? M
M ?
? M
? M
.
?
?
)
1 ;
?)
.
? . ?
? ?
?
.
?
? ? ?
?
.
? &' )+)+ )31 &' )3 ),- )))1 & ' ) ,2 -2 )+1 &' +- - ) ), 21 &' ) 444444
?
?
?
) M .)
J 6 D
&
1
; ) . ) . ? ) 1& ' I 1 % & '1 ) # .
1
. 1 1 ) )1 & '1 )1 6 ; &' " . )+!+) . ? ?
. W 1
. & )' ? & )' ? # A . & ' . A ? & )' ? & )'1A ? &A ' A . &W ' #
% )'
E 7
(
> Q Q
&)43-' --2!-+-8
)
B C &> 2- ,+)'
6 : 1 )
6
? &
&)' &' .
&' . ))))))))
.
? )'
& ) ' )
? )
= &'' . &) ? ' ' &) ? ' '1&) '' %&'' . &) ? ' '= &'' &&'' . '= &'' 6 ) 7 @ DR % " &)43' 3!8 444444 . . ? . ? .
?
? &' )+)+ +,1 &' )3 4 )1 & ' ) ,2
-) 21 &' +- -4 - ) -1 &' ) 444444 444443 444442
4
4 ) A . ' !
' - '
' ' '.
.
.
. )
) 1
D
&'
1
&
.
& ? '
)
)
)
6
. ) &
&
)' .
&
1
'''
.
. ) 1 #
&
)
.
&
1
.
. 6
&
.
''' . & M M '
+& M M ' N # ! 6 I
# #
. 0
. ))))))))))))))
)
)
)
/; &,#'
.
.
'
.'
7.
' 8 &. ' '1&)
' &)
' &)
'
&. ' '
> , +
)
) 1 . ' 1&) ' ' &) . ' ' . &' ? ' '1&) ' ' &. ' ' D L . ) . M . ) '
)
@
)
+0
&'
' '
).
.'
&
7I8
6 ;
)'
'
&'
. )
& )' &@ &'
).
' ) ) &" ' 7T 8 T 6 7J 8 9 , ' .
&+'
.'1&) ? .'&) ? ' '&)
6 #
&
.'L &)? .' '&) . ' '1 ,& )'0 . 'L M &) .' ' '1 ,0 .'L &. ? ' '&) .' ' '1 ,& )'0 . ' L &) .' ' '1 20 . ' L &. ? ' '1 2& . )'0 . 'L M 1 0 . 'L &)? .' '1 2& )'0 . ' L 1 +& . )'0 .'L M &) . ' '1 2& '0 . ' LM 1 +& )'0 . 'LM &) . ' '1 20 . 'L 1 +& '0 .' L &)? ' .' ' ' '1 & '0 . 'LM 1 , +0 .' L &) .' ' '1 & '0 . ' L ,& '0 . 'LM &) .' ' '1 6 # +&) '1& ' &) ' ? & '- % ) . ? &)' 6 %
- # ; ? 0 ) 0 0 ) ? # ? ! 7 ? ! ? 8 ? 7 87 8 -
)?
? )
.
' ,
)! "
,;
'
76 8
'
? & ' . ) ' +& ? )' - 1 ' +& ? )' - &) )'1 =
)1
76 8
?
1
' ' . & '1 ' ? ) - & '
) =
.
/; &,#'
D
. & ?
? )'
)1
6 &*' &' # -
7I8
'
) )
1
; #
.
'
'
? )
) &"
)'
7T 8 T 7J 8 0 9 J+ . ? ) J,
J2 J3
9 J4 # ? ) J
S
.
7 8 ? ) J 7 8 ? ) ? )1
' ' ' ' ' ' ' ' ' ' '' '' '
)
7 8
8
8
1
? ) 6 J
S
8
$
)
? )
)
J
I %
#
"
# & -3'
#
# &Q '
6
N
N N
!
.
# N #
'
!! # ;
" &)434' --!-
1
? 6 J
7A
? )
? )
)
7
9 J
- 9 J
)
7
)
)
O
N )
)
#
6 %
# #
P & ' /# 6R
R
&)423' )+-!)+2
$ $
# Q # ;
'' 9
. - Æ
&+)-+ ,+, )-,) +) -,-' 6 # E
), 7 A #
" &)444' )2)!)38
X 1
(
(
) ) ) ) ; &' S )
' C
. ) . ' ' ' ' 4 ' 2 ' C ' 4
)! "
# #
,)
'
(
)
)
& &' I'
% % ) % ? & ' . ? & ' . ? & '?
. ( ? & )' ) J (
6
? & '
.
( . ? ) & ' +4
. + ( , &Q # . ?
( , . # #'
6 #
( ( . ( ? ( 7I8 ) . 7A 8 6 ( ( ( ? ) ( > 7T 8 T
? ? ? 7F 8 . ) ) S . ) ? ) S Z 7> &' . ?> &'
)?>
&
&
?>
)'
'
( ?> &
( '
6 ; # ; 1
; # %
;
K
&'
+ ; %
( ( 7 6 " " &' --!-+,
8 &' ? ? ; #
. ?
?
& ' . ) C . ) ( # 1 6 ( ? ) #
&' " ;
I "
. + &
?
?
& ' 6 &'
?
?
'-
9= ' ,
3 '
,
Q
( 1 # ( # 0 ? 0 ? 0 " # &' . ( ( # 0 0 1 0 ? ? . ? ? # &0 ? ' & ? ' . ? > . ( . 0 . ?0 . ? 6 &0 ? ' . ? &0 ? ' 0 . ? 0 . ? 1
&' $ I & 0 ' ? 0 ? . <
? ? 6
# %" &)4,' )-!)+1 * " # %" &)44' ,!-8 D 0 . . 1
7* / N 9 "
@
"
" 6
6 2 . 2 ? 2 + 2 - ? 0 ' ? &0 ? ' . 5 ( ? ? # . 5 ? ) . 5 ? )1 ) - ? ) . -) +-) 6 &0 ? ' 2 . 2 ? &2 ' . & 0 ' ? 2 . 5 ? ) 7 R
I
# )4,4 &0 ? ' 0 ? 0 8 > % ; E . 0 2 . 0 . 2 . 6 &0 ? ' . 2 & ' . 2 2 . 2 ? 2 . 0 ?
2
&
"
&0
?
# &*'
.
)
)
?
?
0 ' . 0
6
?
.
&*' )
.
?&
.
"
"
'7 . )8
?
6
. . 6
? . 1 . ? . ? ? . D
)
)
?
)
?
7D #P I # 1 )2!228
)
#
.
.
1
-. ! ' .D 3
' 7 &' . )1, )1 3-,3)G3+1 . ) . . . 6 E # )1 7 &' . -1, # & )'1- % 6 ;
Q #
% #
7 &' . 1
#
G- 3G), 3G) &)' &))' &)-)' 6 # -G2- &)))' &)))-+,+,+,+-)'
$
&)44,'
7> Q = I 6
),!)+38
#
= 1 *
)
&
' .
.
&
)'
&) ? '
&
$
7
+) ? = & ' ? &1 '-
.
'
?
= & ? ) ' ? 6 . ) #
&) ? ' + .
& .
)'
?
"
.
?
+
&
?
& '
'
"
&/' 7 &' . 7 &) '
+ $ & ' 1 . +) ? & '1 : Æ M 1 : Æ M 1 : M 1 : ?
M 1 : ? :
:
: : : ; Æ : ; 0 &' : ; Æ : ; Æ . ; ; : Æ &' : : . : : Æ 1 Æ Æ Æ Æ Æ Æ Æ Æ Æ : : : : . : : 1 : : & ' 0
Æ ( . ( . ( . + . )) # ? ) . ) ? . )- ? - . - ? + . -- ? , . --- ? 2 1 ? ? ) ? ? . &( ) ( )'
? ? ) . ? 6 < & ' $ &( ( ' ? # < & ? )' . < & ' > < % ) < &( ) ' 6 #0 & ' . &) ,+ -2 ' &'
& '
"
) -)
" " 8
) ) - -)
; #
) -
)
)
6 5 Æ
.
) * 1
6
) . 5
%
6
&' 6
Æ 0
&' )+2)1 )+ )++)1 )+
)+2+)1 )
)+21 ))
)++1 )--
#$ #$
.
)+2+1 )) )+,1 )-)
&" #
4-'
)+2-1 )
)+21 )-
)+,)1 )+)
)+,1 )-
)++1 )+- )--)
&)444' ,,!228
6 D 7
Q& & !'
# . !
. & 6 Q& & !' . ) ! & 1 Q& & &' . Q& & )' . ) Q& !' . Q& ) !' ! " & ! Q& & !' . # Q& ) & ' Q& ) ) ! )' 6 5 &/ I # 5 Q& ) & ' ) Q& ) ) ! )' ' > Q&' . Q& !' " # Q&' Q&)' Q&' . - , ) 2 42 ,,- ,+2) )4 -)3-,+ 34,,4 1 Q&)' -44 ) #
D
%
6 1 #
6 ; #
9'
)! "
;;
'
&' &0 0 0 ' I # & '
. 0 . 0 ? & ' &0 0 '
I #
# #
%
79 >
) &)4-' )-!)38
&' 42&' ) ) + ) - ) - -) + 2 ) )) ) ) ,
)) ) + - )) )- ) $ &0 0 ' &0
=
0 '
# N
$ &( ( '
6 -
#
5$ 6 A 1 # A - -A - & A ' - > - . -A
% 2 A
6
* "
#$
> &' . ? &) '? ? &) ' = & ' % 6 % ?&' . ? - &) ' ? &) ' 1 @ &' . ? &) ' ? &) ' &' = ; # = & ' . ) ) .
6 = &'
&'
J
42& '
A'
'0 .A' .' A' . .'
& % #
= &'
= &. A ' ' . .A'
-) - -) -
A'
-)
Q F R
I # %
= +)1&) ? D'- . & ? D ?
D '1&) ? D'
?
S
@ &' ; # # D? D'1&) ? D' . & ? D ? ? D '1&) ? D' . -
. ? ) .
&) ?
J ; >
D'
&) ? ,D ? ,D ? ,D '1&) ? %# #
,
. 1 ; &) ? 2D ? )D ? )D ? ,D '1&) ?
D'
%
&'
B 1
&' /
B
,,,,)))
0
1
'
1
& ' J 6 Q 0 ? ?
"
2
&
0
.
4
1
2
0 . & ' .
,
0 0 1 0 . 0 . 0 1 0 . 0
; # #
2
B
. . ? D
"
2
D
?
?
9' ' ' ' ' , 4/3A7): $; *9.( 3*+7, /8*
8 =;
3*23. 392 @ @$;
3/2( D+:)2 ; =;
370(),/3* "= ;
/92>+7 D32)4( )/*+/, D/; "?! ;
370*3:+7 ,)+7 #;
19*6.3* !
19*6.3* "?!" "; !" !;
32.3/,)/ ./+8)/2+7 !$; /)3/,)/ ./+8)/2+7 !$ #;
+.3*+ .()3/): "?; :97.*3:+7 63)Æ6)*.2 ; *3:+7 63)Æ6)*.2 "@ =;
+..6) 4+.(2 ! !@; )6> )*/0 @ #C;
+,):+6()/ +*2 19*6.3*2 !;
)-635/+4(6 5)*)/+.3* #$ "C"?
+*>*5 + 63:A*+.3* C ? !? ?;
!@!$ !? " #$;
;
*,2./L 3: )/*. )**+/. +*)7 !#!@ # @C;
)+, 3*+7, ),/6 "C #C; )69//)*6)2 !C # #!;
*>), 72.2 !$ ?;
)69/23* " ;
*9223* +*2 8+*.) @#;
8)/292 .)/+.3* "!"# !?;
426(9.G )0:39/ +97 =;
)69/28) 63/39.*)2 "C;
9 (+3 *5
)P)6.), /+0 63,) !=;
=;
3347)22 5)*)/+.3* = !@ !$ != #" #@;
)597+/ 237,2 ;
38J +2G J +2G7J 3 ! @ ; J 96+2 /+*O 632 ,39+/, *+.37) @$;
)*537, ,*5 + 63:A*+.3* !$ !?;
,)