source: liacs/coco/spim6_4_doc.ps@ 212

Last change on this file since 212 was 2, checked in by Rick van der Zwet, 15 years ago

Initial import of data of old repository ('data') worth keeping (e.g. tracking
means of URL access statistics)

File size: 341.0 KB
Line 
1%!PS-Adobe-2.0
2%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
3%%Title: spim.dvi
4%%Pages: 26
5%%PageOrder: Ascend
6%%BoundingBox: 0 0 596 842
7%%EndComments
8%DVIPSWebPage: (www.radicaleye.com)
9%DVIPSCommandLine: dvips spim.dvi
10%DVIPSParameters: dpi=600, compressed
11%DVIPSSource: TeX output 2002.08.14:1807
12%%BeginProcSet: texc.pro
13%!
14/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
15N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
16mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
170 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
18landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
19mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
20matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
21exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
22statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
23N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
24/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
25/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
26array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
27df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
28definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
29}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
30B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
311 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
321 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
330 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
34sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
35rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
36gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
37/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
38/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
39A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
40get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
41ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
42fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
43{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
44chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
451 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
46forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
47/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
48}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
49bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
50mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
51SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
52userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
531000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
54index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
55/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
56/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
57(LaserWriter 16/600)]{A length product length le{A length product exch 0
58exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
59end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
60grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
61imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
62exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
63fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
64delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
65B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
66p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
67rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
68
69%%EndProcSet
70%%BeginProcSet: special.pro
71%!
72TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
73/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
74/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
75/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
76/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
77X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
78/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
79/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
80{userdict/md get type/dicttype eq{userdict begin md length 10 add md
81maxlength ge{/md md dup length 20 add dict copy def}if end md begin
82/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
83atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
84itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
85transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
86curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
87pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
88if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
89-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
90get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
91yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
92neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
93noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
9490 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
95neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
961 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
972 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
98-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
99TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
100Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
101}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
102save N userdict maxlength dict begin/magscale true def normalscale
103currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
104/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
105psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
106psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
107TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
108psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
109roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
110moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
111begin/SpecialSave save N gsave normalscale currentpoint TR
112@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
113CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
114closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
115sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
116}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
117CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
118lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
119/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
120repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
121/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
122currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
123moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
124/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
1251 startangle endangle arc savematrix setmatrix}N end
126
127%%EndProcSet
128TeXDict begin 39158280 55380996 1000 600 600 (spim.dvi)
129@start
130%DVIPSBitmapFont: Fa cmitt10 10.95 1
131/Fa 1 123 df<027E137C903901FF807E0107EBC0FE4913F14913F949EBFFFC4914F814
132C349C613F049EB3FE0000115C049EB7F8015FF4A130039007003FE90380007FC4A5AEC3F
133F04A5A4A5A495B4948C7FC495A4948137C494813FC90393FE001FED97FC013FCEBFF8048
134EB0003484814F8000714079039FFC00FF048EBE01F489038F83FE04890B512C0A2D87FE3
13514800181140039FF007FFC007E6D5A007CEB0FC0272978A730>122
136D E
137%EndDVIPSBitmapFont
138%DVIPSBitmapFont: Fb cmsy8 8 1
139/Fb 1 122 df<1338137CA81338A7007C137CB512FEA3387C387C00001300A5137CB3A4
1401338AD173D7CAE20>121 D E
141%EndDVIPSBitmapFont
142%DVIPSBitmapFont: Fc cmsy10 10 2
143/Fc 2 7 df<007FB81280B912C0A26C17803204799641>0 D<15301578B3A6007FB812F8
144B912FCA26C17F8C80078C8FCB3A3007FB812F8B912FCA26C17F836367BB641>6
145D E
146%EndDVIPSBitmapFont
147%DVIPSBitmapFont: Fd cmtt9 9 4
148/Fd 4 116 df<EB0380497EA5EB1FF0EBFFFE0003EBFF804814C0001F14E09038E7DFF0
149393F87C7F8387E07C3007C13C100FCEBC0FC12F814C1A300FCEBC0F800FE1470007F1400
1501387EA3FFF7E6C13F86C13FE6CEBFF80C614C0010F13E06D13F014CFECC3F814C10038EB
151C0FC127C00FE147CA412FC00FE14F8007E13C1007FEBC3F0383F87C79038F7FFE06CB512
152C06C1480000314006C13FC38003FE0EB07C0A56D5A1E3A7CB327>36
153D<EB0FF0EB7FFE48B512804814C0000F14F0EBF81F391FE007F8393F8001FC90C7FC4814
154FE007E147EA56C14FCEB8001391FC003F8390FE007F03907FC3FE00001B5128039007FFE
155006D5A90B5FC000314C0390FF00FF0391FC003F8393F8001FC90C7FC007E147EA248143F
156A6007E147EA2007F14FE393F8001FC391FE007F8EBF81F6CB512F06C14E0000114803900
1577FFE00EB0FF020307DAE27>56 D<387FE0FFD8FFF313C090B512F0816C800003EB81FE49
158C67E49EB3F8049131F16C049130FA216E01507A6150F16C07F151F6DEB3F80157F6DEBFF
159009038FF83FEECFFFC5D5D01F313C0D9F0FEC7FC91C8FCAC387FFF80B57EA36C5B23317F
1609F27>112 D<9038FFF3800007EBFFC0121F5A5AEB803F38FC000F5AA2EC07806C90C7FC
161EA7F8013FC383FFFF06C13FC000713FF00011480D8000F13C09038003FE014070078EB03
162F000FC1301A27E14036CEB07E0EBE01F90B512C01580150000FB13FC38707FF01C207B9F
16327>115 D E
164%EndDVIPSBitmapFont
165%DVIPSBitmapFont: Fe cmtt10 10 7
166/Fe 7 119 df<EB01C0497EA6EB0FFC90387FFF8048B512E00007804880391FFBEFFC39
1673FC3E1FE903803E07F007E80127C00FC158012F8157FA300FCEC3F00A2007E91C7FC127F
168EA3FC313FBEA1FFF6C13FC6C13FF000114C06C6C7F011F13F801037F14E7ECE1FEECE07F
16981001880007E1580150F12FFA312FE151F1600007E5C007F143ED83F8313FE9038C3E1FC
170391FFBEFF86CB55A6C5C6C5CC691C7FCEB1FF8EB03E0A66D5A21417BB92C>36
171D<EB03F8EB0FFE90383FFF80497F90B57E3901FE0FF03903F803F848486C7EEBE0004848
172137EA248487FA248C7EA1F80A2003E140F007E15C0A3007C140700FC15E0AC6C140F007E
17315C0A46CEC1F80A36C6CEB3F00A26C6C137E6D13FE00075CEBF0016C6C485A3901FE0FF0
1746CB55A6D5B6D5BD90FFEC7FCEB03F823357CB32C>48 D<1307497EA2131FA2133F137F13
175FF5A1207127FB5FC13DF139FEA7C1F1200B3AE007FB512E0B612F0A36C14E01C3477B32C
176>I<EB0FF890387FFF8048B512E00007804814FC391FF80FFE393FE001FF903880007F48
177C7EA3F80007E141F00FE15C0150F6C15E01507A3127E123CC8FCA2150F16C0151F168015
1783F16005D15FE4A5A14034A5A4A5A4A5A4A5AECFF804948C7FC495A495A495AEB3FE0EB7F
1798049C8FC485A4848EB03C04848EB07E0EA1FE0485A48B6FCB7FCA36C15C023347CB32C>
180I<3801FFF0000713FE001F6D7E15E048809038C01FF81407EC01FC381F80000006C77EC8
181127EA3ECFFFE131F90B5FC1203120F48EB807E383FF800EA7FC090C7FC12FE5AA47E007F
18214FEEB8003383FE01F6CB612FC6C15FE6C14BF0001EBFE1F3A003FF007FC27247CA32C>
18397 D<EC0FF8EC3FFE91B5FC4914805B903807FC7F14F090390FE03F0014C092C7FCA600
1847FB512FEB7FCA36C5C26000FC0C7FCB3A8003FB512F04880A36C5C21337DB22C>102
185D<3A7FFF01FFFCB514FE148314016C15FC3A03E0000F80A26D131F00011500A26D5B0000
186143EA26D137E017C137CA2017E13FC013E5BA2EB3F01011F5BA21483010F5BA214C70107
1875BA214EF01035BA214FF6D90C7FCA26D5A147C27247EA32C>118
188D E
189%EndDVIPSBitmapFont
190%DVIPSBitmapFont: Ff cmbx10 10 26
191/Ff 26 122 df<ED03E04B7EA24B7EA34B7EA24B7EA34B7EA292B57EA34A8015F3020380
19215E1A202078015C0020F80ED807FA2021F80ED003F4A80023E131FA2027E80027C7F02FC
193814A7FA20101824A7F49B77EA3498202C0C7FC010F824A147FA2011F8291C8123F498201
1943E151FA2017E82017C8101FE83B500F80107B61280A4413A7DB948>65
195D<DB3FFCEB01C00203B5EAC003021FECF00791B6EAFC0F01039039FC00FF3F4901C0EB1F
196FFD91FFEC77E49481403D97FF080494880485B48177F4849153F4890C9FC181F485A180F
197123F5B1807127FA24993C7FC12FFAD127F7FF003C0123FA27F001F1707A26C6C1780180F
1986C6D16006C6D5D6C173E6C6D157ED97FF85D6D6C4A5A6DB44A5A010701C0EB0FE06D01FC
199EBFF80010090B548C7FC021F14F8020314E09126003FFEC8FC3A3B7BB945>67
200D<B87E17F817FF18C028007FF8000713F09338007FF8EF1FFE717E050313807113C0A271
20113E0F07FF0A2F03FF8A219FC181FA219FEA419FFAC19FEA419FC183FA219F8187F19F0F0
202FFE0A24D13C04D13804D1300EF1FFEEF7FFC933807FFF0B912C095C7FC17FC178040397D
203B849>I<B912C0A43A007FF800039338007FE0171F170F1707A21703A21701A318F0EE78
20400A41800A216F8A21501150791B5FCA4ECF80715011500A21678A693C8FCADB7FCA43439
2057DB83C>70 D<B500FC0203B512F0A28080C66C6D90390003F0006F6E5A81017B7F137981
20601787F6E7E6E7E6E7F6E7FA26E7F6E7F6E7F6E7F6F7E153F826F13806F13C06F13E06F13
207F06F13F88117FCEE7FFEEE3FFF7013817013C17013E18218F17013F97013FDEF7FFF8383
208A28383838383187FA2183F181F01FC160FB500FC150718031801A244397DB84B>78
209D<B712FCEEFFE017FC17FF28007FF8000F13C004017F707F717E717EA2717EA284A760A2
2104D5A604D5A4D5A04035B041F90C8FC91B612FC17E0839139F8003FFCEE0FFF707F707F82
21184A2707FA584A51A601AF084177F1901DD3FFE13E0B600FC011F130394390FFF87C071EB
212FF8005011400CBEA1FFC443A7DB848>82 D<D907FF130E013FEBE01E90B5EAF83E0003EC
213FE7E3A07FC01FFFE390FF0001F4848130F48481303491301007F140090C8FC167E5A163E
214A27F161E7F7F6D91C7FC13FC387FFFE014FEECFFF06C14FE6F7E6C816C15F06C816C81C6
21581133F010F801301D9000F1480EC007F030F13C01503818100F0157FA3163FA27E17807E
216167F6C16007E6D14FE01E0495A01F813039039FF801FF800FC90B512E0D8F83F5CD8F007
21749C7FC39E0007FF02A3B7BB935>I<B600FC011FB512C0A426007FF8C8381FC000725AB3
218B3181F013F94C7FC8060011F163E6D6C157E187C6D6C15FC6D6D495A6D6DEB07F06D01F0
219EB1FE0DA7FFEEBFFC0021FB6C8FC02075C020014F0030F1380423A7DB849>85
220D<EB3FFE0003B512E0000F14F8391FF00FFE003FEB03FF6D6C7F6E7FA26F7EA26C5A6C5A
221EA0380C8FCA2EC3FFF010FB5FC137F3901FFF87F00071380380FFE00EA3FF85B485A12FF
2225BA415FF6D5A127F263FF00713F83B1FFC1FBFFFC0390FFFFE1F0003EBF80F39003FE003
2232A257DA42E>97 D<13FFB5FCA412077EAF4AB47E020F13F0023F13FC9138FE03FFDAF000
22413804AEB7FC00280EB3FE091C713F0EE1FF8A217FC160FA217FEAA17FCA3EE1FF8A217F0
2256E133F6EEB7FE06E14C0903AFDF001FF80903AF8FC07FE009039F03FFFF8D9E00F13E0D9
226C00390C7FC2F3A7EB935>I<903801FFC0010F13FC017F13FFD9FF8013802603FE0013C0
22748485AEA0FF8121F13F0123F6E13804848EB7F00151C92C7FC12FFA9127FA27F123FED01
228E06C7E15036C6CEB07C06C6C14806C6C131FC69038C07E006DB45A010F13F00101138023
229257DA42A>I<EE7F80ED7FFFA4150381AF903801FF81010F13F1013F13FD9038FFC07F00
23003EB001FD807FC1307000F8048487F5B123FA2485AA312FFAA127FA27F123FA26C6C5B00
2310F5C6C6C5B6C6C4913C02701FF80FD13FE39007FFFF9011F13E1010313012F3A7DB935>
232I<903803FF80011F13F0017F13FC3901FF83FE3A03FE007F804848133F484814C0001FEC
2331FE05B003FEC0FF0A2485A16F8150712FFA290B6FCA301E0C8FCA4127FA36C7E1678121F
2346C6C14F86D14F000071403D801FFEB0FE06C9038C07FC06DB51200010F13FC010113E025
235257DA42C>I<161FD907FEEBFFC090387FFFE348B6EAEFE02607FE07138F260FF801131F
23648486C138F003F15CF4990387FC7C0EEC000007F81A6003F5DA26D13FF001F5D6C6C4890
237C7FC3907FE07FE48B512F86D13E0261E07FEC8FC90CAFCA2123E123F7F6C7E90B512F8ED
238FF8016E06C15F86C816C815A001F81393FC0000F48C8138048157F5A163FA36C157F6C16
239006D5C6C6C495AD81FF0EB07FCD807FEEB3FF00001B612C06C6C91C7FC010713F02B377D
240A530>103 D<EA01F0EA07FC487EA2487EA56C5AA26C5AEA01F0C8FCA913FF127FA41207
2417EB3A9B512F8A4153B7DBA1B>105 D<13FFB5FCA412077EB3B3ACB512FCA4163A7DB91B>
242108 D<01FED97FE0EB0FFC00FF902601FFFC90383FFF80020701FF90B512E0DA1F819039
24383F03FF0DA3C00903887801F000749DACF007F00034914DE6D48D97FFC6D7E4A5CA24A5C
244A291C75BB3A3B5D8FC1FB50083B512F0A44C257DA451>I<01FEEB7FC000FF903803FFF8
245020F13FE91381F03FFDA3C011380000713780003497E6D4814C05CA25CA291C7FCB3A3B5
246D8FC3F13FFA430257DA435>I<903801FFC0010F13F8017F13FFD9FF807F3A03FE003FE0
24748486D7E48486D7E48486D7EA2003F81491303007F81A300FF1680A9007F1600A3003F5D
2486D1307001F5DA26C6C495A6C6C495A6C6C495A6C6C6CB45A6C6CB5C7FC011F13FC010113
249C029257DA430>I<9039FF01FF80B5000F13F0023F13FC9138FE07FFDAF0011380000749
2506C13C06C0180EB7FE091C713F0EE3FF8A2EE1FFCA3EE0FFEAA17FC161FA217F8163F17F0
2516E137F6E14E06EEBFFC0DAF00313809139FC07FE0091383FFFF8020F13E0020390C7FC91
252C9FCACB512FCA42F357EA435>I<9038FE03F000FFEB0FFEEC3FFF91387C7F809138F8FF
253C000075B6C6C5A5CA29138807F80ED3F00150C92C7FC91C8FCB3A2B512FEA422257EA427
254>114 D<90383FF0383903FFFEF8000F13FF381FC00F383F0003007E1301007C130012FC
25515787E7E6D130013FCEBFFE06C13FCECFF806C14C06C14F06C14F81203C614FC131F9038
256007FFE140700F0130114007E157E7E157C6C14FC6C14F8EB80019038F007F090B512C000
257F8140038E01FF81F257DA426>I<130FA55BA45BA25B5BA25A1207001FEBFFE0B6FCA300
2580390C7FCB21578A815F86CEB80F014816CEBC3E090383FFFC06D1380903803FE001D357E
259B425>I<01FFEC3FC0B5EB3FFFA4000714016C80B3A35DA25DA26C5C6E4813E06CD9C03E
26013FF90387FFFFC011F13F00103138030257DA435>I<B539F001FFF8A4000390C7EA3F00
261161E6E133E6C153C6E137C6C15786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07
262010F5CECFE0F010791C7FC6E5A6D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E
2635AA22D257EA432>I<B539F001FFF8A4000390C7EA3F00161E6E133E6C153C6E137C6C15
264786E13F8017F5CECF001013F5C14F8011F495AA2ECFC07010F5CECFE0F010791C7FC6E5A
2656D131E15BE6D13BC15FC6D5BA36E5AA26E5AA26E5AA26E5AA292C8FCA25C141E003F133E
266387F803C38FFC07C147814F8EBC1F0EBC3E06C485A387D1F80D83FFFC9FCEA1FFCEA07F0
2672D357EA432>121 D E
268%EndDVIPSBitmapFont
269%DVIPSBitmapFont: Fg cmmi10 10.95 3
270/Fg 3 123 df<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A798919>58
271D<01F8EB0FF0D803FEEB3FFC3A078F80F03E3A0F0F83C01F3B0E07C7800F80001CEBCF00
27202FE80003C5B00385B495A127800705BA200F049131F011F5D00005BA2163F013F92C7FC
27391C7FC5E167E5B017E14FE5EA201FE0101EB03804914F8A203031307000103F013005B17
2740E16E000035E49153C17385F0007913801F1E0496DB45AD801C0023FC7FC31297EA737>
275110 D<02F8130ED903FE131ED90FFF131C49EB803C49EBC0784914F090397E07F1E09038
276F800FF49EB1FC049EB07800001EC0F006C48131E90C75A5D5D4A5A4A5A4A5A4AC7FC143E
27714785C495A495A495A49C8FC011E14E05B5B4913014848EB03C0485AD807F8EB078048B4
278131F3A1F87E07F00391E03FFFE486C5B00785CD870005B00F0EB7FC048011FC7FC27297D
279A72A>122 D E
280%EndDVIPSBitmapFont
281%DVIPSBitmapFont: Fh cmmi8 8 1
282/Fh 1 111 df<3907C007E0391FE03FF83918F8783E393879E01E39307B801F38707F00
283126013FEEAE0FC12C05B00815C0001143E5BA20003147E157C5B15FC0007ECF8081618EB
284C00115F0000F1538913803E0300180147016E0001F010113C015E390C7EAFF00000E143E
285251F7E9D2B>110 D E
286%EndDVIPSBitmapFont
287%DVIPSBitmapFont: Fi cmbx10 10.95 34
288/Fi 34 122 df<041E143C043F147EA34C14FE047E5CA304FE13014C5CA3030114034C5C
289A2030314074C5CA30307140F4C5CA3030F141F4C5CA2007FBB1280BC12C0A4003F1A80C8
290007EC700FCC8FCA203FE13014B5CA3020114034B5CA2020314074B5CA30207140F4B5CA2
291003FBB1280BC12C0A46C1A80C7003FC7007EC9FCA24A14FE027E5CA202FE13014A5CA201
2920114034A5CA3010314074A5CA20107140F4A5CA2010F141F4A5CA3011F143F4A91CAFCA3
2936DC7121E4A517ABE57>35 D<B612E0A91B097F9823>45 D<EA0FC0EA1FE0EA3FF0EA7FF8
294EAFFFCA6EA7FF8EA3FF0EA1FE0EA0FC00E0E798D1D>I<140F143F5C495A130F48B5FCB6
295FCA313F7EAFE071200B3B3A8007FB612F0A5243C78BB34>49 D<903803FF80013F13F890
296B512FE00036E7E4881260FF80F7F261FC0037F4848C67F486C6D7E6D6D7E487E6D6D7EA2
2976F1380A46C5A6C5A6C5A0007C7FCC8FC4B1300A25E153F5E4B5AA24B5A5E4A5B4A5B4A48
298C7FC5D4A5AEC1FE04A5A4A5A9139FF000F80EB01FC495A4948EB1F00495AEB1F8049C7FC
299017E5C5B48B7FC485D5A5A5A5A5AB7FC5EA4293C7BBB34>I<EA0FC0EA1FE0EA3FF0EA7F
300F8EAFFFCA6EA7FF8EA3FF0EA1FE0EA0FC0C7FCACEA0FC0EA1FE0EA3FF0EA7FF8EAFFFCA6
301EA7FF8EA3FF0EA1FE0EA0FC00E2879A71D>58 D<B812F8EFFF8018F018FC8426003FFCC7
302EA3FFF050F13807113C07113E08319F0A27113F8A719F05FA24D13E019C04D13804D1300
303EF3FFE933801FFF891B712E0188018F818FE02FCC7380FFF80050313C07113E07113F019
304F8F07FFCA2F03FFEA219FFA38460A419FE187FA2F0FFFC4D13F85F4D13F0053F13E0BA12
305C0190018FC18F095C7FC403E7DBD4A>66 D<B71280A526003FFEC7FCB3B3B0B71280A521
3063E7DBD28>73 D<003FB912FCA5903BFE003FFE003FD87FF0EE0FFE01C0160349160190C7
3071500197E127EA2007C183EA400FC183F48181FA5C81600B3AF010FB712F8A5403D7CBC49
308>84 D<B6D8FC03B600F090B512FEA5C601FCC7000301F0C8EA7E00017F6F177C856E6E17
309FC013F63856D6C037F4B5AA26F4A6C14036D634D7F6F18076D634D806F02EF150F6D636F
31001076E131F6D04C793C7FC050F806F02835D6D1A3E051F806F0201157E027F197C6F013F
3116E13FC023FDA3E005D057E806F017C017F13016E6105FC14FE7048013F13036E6104C1ED
312FF076E4A6D5C04C31687DCE3E06D138F6E6104E716CFDCF7C06D13DF6E96C8FC04FF16FF
3136E4A6D5BA294C77E6F5FA24C80033F5FA26F486F5AA24C153F030F5FA24C151F03075FA2
3146F486F5A673F7EBD6C>87 D<007FB6013FB512F0A5D8001F01C0D9003FC7FC6D6D147E18
315FE6D6D5C6D6D495A6D4B5A6F13076D6D5C6E6C495A4D5A6EEB803F6E01C090C8FC6E147E
316705A6E13F16EEBF9F86EEBFBF0EEFFE0806F5B5F816F7F81836F7F81834B7F4B7F5D83DB
3173F3F7FED7E1F03FE804B6C7F4A486C7F4A487E0207814B6C7F4A487E4A4880023F6E7E92
318C76C7F027E804A8201016F7F4A6E7F495A49486E7F010F6F7F4A80B600C0017F90B5FCA5
319483E7DBD4F>I<903807FFC0013F13F848B6FC48812607FE037F260FF8007F6DEB3FF048
3206C806F7EA36F7EA26C5A6C5AEA01E0C8FC153F91B5FC130F137F3901FFFE0F4813E0000F
3211380381FFE00485A5B485A12FF5BA4151F7F007F143F6D90387BFF806C6C01FB13FE391F
322FF07F36CEBFFE100031480C6EC003FD91FF890C7FC2F2B7DA933>97
323D<13FFB5FCA512077EAFEDFFE0020713FC021FEBFF80027F80DAFF8113F09139FC003FF8
32402F06D7E4A6D7E4A13074A80701380A218C082A318E0AA18C0A25E1880A218005E6E5C6E
325495A6E495A02FCEB7FF0903AFCFF01FFE0496CB55AD9F01F91C7FCD9E00713FCC7000113
326C033407DBE3A>I<EC7FF00107B5FC011F14C0017F14E09039FFF01FF0489038800FF848
327EB001F4848EB3FFC120F485AA2485AA2007FEC1FF849EB0FF0ED03C000FF91C7FCAB127F
3287FA3003F153E7F001F157E6C6C147C6C6C14FC91388001F86C9038C003F0C69038F81FE0
3296DB512C0011F14800107EBFE009038007FF0272B7DA92E>I<EE07F8ED07FFA5ED003F16
3301FAFEC7FF0903807FFFE011FEBFF9F017F14DF9039FFF01FFF48EBC00348EB00014848EB
331007F485A001F153F5B123FA2127F5BA212FFAA127FA37F123FA26C6C147F120F6D14FF6C
3326C01037F6C6D48EBFFE06CEBF03F6C6CB512BF6D143F010713FC010001E0EBE00033407D
333BE3A>I<ECFFF0010713FE011F6D7E017F809039FFE07FE0489038801FF048496C7E4848
3346D7E48486D7E121F491301003F81A2485A6F1380A212FFA290B7FCA401F0C9FCA5127FA2
3357F123FEE0F806C7E161F6C6C15006C6C5C6C6D137E6C9038E001FC6C9038F80FF8013FB5
3365A6D14C0010391C7FC9038007FF8292B7DA930>I<EC07FE91387FFF8049B512C0010714
337E090390FFE3FF0EB1FF090393FE07FF8EB7FC013FF1480A2489038003FF0ED1FE0ED0FC0
33892C7FCAAB612E0A500010180C7FCB3AC007FEBFF80A525407DBF20>I<903A03FF8007F0
339013F9038F83FF8499038FCFFFC48B712FE48018313F93A07FC007FC34848EB3FE1001FED
340F1FC4990381FF0F81700003F81A7001F5DA26D133F000F5D6C6C495A3A03FF83FF8091B5
341C7FC4814FC01BF5BD80F03138090CAFCA2487EA27F13F06CB6FC16F016FC6C15FF17806C
34216C06C16E01207001F16F0393FE000034848EB003F49EC1FF800FF150F90C81207A56C6C
343EC0FF06D141F003F16E001F0147FD81FFC903801FFC02707FF800F13006C90B55AC615F8
344013F14E0010101FCC7FC2F3D7DA834>I<13FFB5FCA512077EAFED1FF8EDFFFE02036D7E
3454A80DA0FE07F91381F007F023C805C4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A5333F7C
346BE3A>I<EA01F8487E487E487E481380A66C13006C5A6C5A6C5AC8FCA913FFB5FCA51207
3477EB3ABB512F8A515407CBF1D>I<13FFB5FCA512077EB092380FFFFEA5DB01FEC7FC4B5A
348ED07F0ED1FE04B5A4B5A4BC8FCEC03FC4A5A4A5A141F4A7EECFFFCA2818102E77F02C37F
349148102007F826F7E6F7E151F6F7E826F7F6F7F816F7FB5D8FC07EBFFC0A5323F7DBE37>
350107 D<13FFB5FCA512077EB3B3AFB512FCA5163F7CBE1D>I<01FFD91FF8ECFFC0B590B5
351010713F80203DAC01F13FE4A6E487FDA0FE09026F07F077F91261F003FEBF8010007013E
352DAF9F0806C0178ECFBC04A6DB4486C7FA24A92C7FC4A5CA34A5CB3A4B5D8FE07B5D8F03F
353EBFF80A551297CA858>I<01FFEB1FF8B5EBFFFE02036D7E4A80DA0FE07F91381F007F00
35407013C806C5B4A6D7E5CA25CA35CB3A4B5D8FE0FB512E0A533297CA83A>I<EC7FF09038
35503FFFE011FEBFFC0017F14F09039FFE03FF8489038800FFC3A03FE0003FE48486D7E000F
356168048486D13C0A2003F16E049147F007F16F0A400FF16F8AA007F16F0A46C6CECFFE0A2
357001F16C06C6C491380A26C6C4913003A03FF800FFE6C9038E03FFC6C6CB512F0011F14C0
358010791C7FC9038007FF02D2B7DA934>I<01FFEBFFE0B5000713FC021FEBFF80027F80DA
359FF8113F09139FC007FF8000701F06D7E6C496D7E4A130F4A6D7E1880A27013C0A38218E0
360AA4C13C0A318805E18005E6E5C6E495A6E495A02FCEBFFF0DAFF035B92B55A029F91C7FC
361028713FC028113C00280C9FCACB512FEA5333B7DA83A>I<DA7FE01378902607FFFC13F8
362011FEBFF01017F14819039FFF81FC3489038E007E74890388003F74890380001FF48487F
363001F157F5B003F153F5B127F161FA2485AAA127F7FA36C6C143F167F121F6C6C14FF6D5B
3646C6D5A6CEBC00F6CEBF03F6C6CB512BF6DEBFE3F010713F8010013C091C7FCAC030FB512
365E0A5333B7DA837>I<3901FE01FE00FF903807FF804A13E04A13F0EC3F1F91387C3FF800
3660713F8000313F0EBFFE0A29138C01FF0ED0FE091388007C092C7FCA391C8FCB3A2B6FCA5
36725297DA82B>I<90383FFC1E48B512BE000714FE5A381FF00F383F800148C7FC007E147E
368A200FE143EA27E7F6D90C7FC13F8EBFFE06C13FF15C06C14F06C806C806C806C80C61580
369131F1300020713C014000078147F00F8143F151F7EA27E16806C143F6D140001E013FF90
37038F803FE90B55A15F0D8F87F13C026E00FFEC7FC222B7DA929>I<EB07C0A5130FA4131F
371A3133F137FA213FF5A1207001FEBFFFEB6FCA40001EBC000B3151FA96CEBE03EA2017F13
3727EECF8FC90383FFFF86D13F0010713E001001380203B7EB929>I<D9FF80EB0FF8B5EB0F
373FFA50007EC007F6C153FB3A5167FA316FF6C5C4B7F6C903AC007DFFFE09138F01F9F6DB5
374121F6D13FE010F13F8010101E0EBE000332A7CA83A>I<B500FC90383FFFC0A5000101C0
375903803E0006E1307A26C5E6E130F017F5D6E131F013F92C7FC6E5B011F143E6E137E010F
376147C6E13FCA26D5C15816D5C15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5AA2
3776E5AA26E5AA232287EA737>I<B53CFC3FFFFC03FFFEA50003D980009039C0000F806E16
3781F6C037F15006E496C5B6C183E836E48157E017F177C6E486D13FC013F02EF5C83DAFC07
3791401011F02C75CDAFE0FEBFE03010F02835C17FFDAFF1F14076D02015C03BF148F6DD9BE
380005C18CF03FE14DF6D49017F90C7FC18FF6D496D5AA36E486D5AA26E486D5AA36E486D5A
381A26E486D5A47287EA74C>I<B500FC90383FFFC0A5000101C0903803E0006E1307A26C5E
3826E130F017F5D6E131F013F92C7FC6E5B011F143E6E137E010F147C6E13FCA26D5C15816D
3835C15C36D5C15E76D5C15FF6E5BA36E90C8FCA26E5AA26E5AA26E5AA26E5AA35D14075D00
3840E130FD83F805B387FC01FD8FFE090C9FC5C143E147E5CEBC1F8387FC3F0387E0FE06CB4
3855A6C5B6C48CAFCEA03F8323B7EA737>121 D E
386%EndDVIPSBitmapFont
387%DVIPSBitmapFont: Fj cmsy10 10.95 2
388/Fj 2 122 df<007FB812F8B912FCA26C17F83604789847>0 D<EB0780497EAA6D5AA76D
389C7FCA4007EEB01F839FFE31FFC90B5FCA2EBE31F397E0301F8000090C7FCA2497EA6497E
390B3AC6D5AB21E547BBF29>121 D E
391%EndDVIPSBitmapFont
392%DVIPSBitmapFont: Fk cmtt10 10.95 59
393/Fk 59 123 df<00101304007C131F00FEEB3F80A26C137FA248133FB2007E1400007C7F
394003C131E00101304191C75B830>34 D<903907C007C0A2496C487EA8011F131FA202C05B
395A3007FB7FCA2B81280A36C16006C5D3A007F807F80A2020090C7FCA9495BA2003F90B512
396FE4881B81280A36C1600A22701FC01FCC7FCA300031303A201F85BA76C486C5AA229387D
397B730>I<1438147C14FCA4EB03FF011F13E090B512FC4880000780481580261FFEFD13C0
3989039F0FC3FE0D83FC0131FD87F80EB0FF001001307007E15F800FE14035A1507A36CEC03
399F0A2007F91C7FC138013C0EA3FF0EA1FFE13FF6C13FF6C14E0000114F86C6C7F011F7F01
400037F0100148002FD13C09138FC7FE0151FED0FF015070018EC03F8127E1501B4FCA35AA2
4016CEC03F07E01801307ED0FE0D83FC0131F01F0EB7FC0D81FFEB512806CB612006C5C6C5C
402C614F0013F13C0D907FEC7FCEB00FCA5147C143825477BBE30>I<141E147F14FF5BEB03
403FEEB07FCEB0FF0EB1FE0EB3FC0EB7F80EBFF00485A5B12035B485A120F5BA2485AA2123F
4045BA2127F90C7FCA412FEAD127FA47F123FA27F121FA26C7EA27F12076C7E7F12017F6C7E
405EB7F80EB3FC0EB1FE0EB0FF0EB07FCEB03FEEB01FF7F147F141E184771BE30>40
406D<127812FE7E7F6C7E6C7EEA0FF06C7E6C7E6C7E6C7EEB7F80133F14C0131FEB0FE014F0
4071307A2EB03F8A214FC1301A214FE1300A4147FAD14FEA4130114FCA2130314F8A2EB07F0
408A2130F14E0EB1FC0133F1480137FEBFF00485A485A485A485AEA3FE0485A485A90C7FC5A
4091278184778BE30>I<143EA2147FAF007FB7FCA2B81280A36C1600A2C76CC8FCAF143EA2
41029297DAF30>43 D<EA03E0EA0FF0EA1FF813FCEA3FFEA213FFA27EA27E1203EA007FA213
4117E13FEEA01FC1203EA07F8EA3FF0127FEAFFE0EA7F801300123C1019708B30>I<007FB6
41212F0A2B712F8A36C15F0A225077B9E30>I<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA
4133FC0EA0F000C0C6E8B30>I<16F01501ED03F8A21507A2ED0FF0A2ED1FE0A2ED3FC0A2ED
4147F80A2EDFF00A24A5AA25D1403A24A5AA24A5AA24A5AA24A5AA24A5AA24AC7FCA2495AA2
4155C1303A2495AA2495AA2495AA2495AA2495AA249C8FCA2485AA25B1203A2485AA2485AA2
416485AA2485AA2485AA248C9FCA25AA2127CA225477BBE30>I<14FE903807FFC0497F013F
41713F8497F90B57E48EB83FF4848C6138049137F4848EB3FC04848EB1FE049130F001F15F0
418491307A24848EB03F8A290C712014815FCA400FEEC00FEAD6C14016C15FCA36D1303003F
41915F8A26D1307001F15F0A26D130F6C6CEB1FE0A26C6CEB3FC06C6CEB7F806D13FF2601FF
4208313006CEBFFFE6D5B6D5B010F13E06D5BD900FEC7FC273A7CB830>I<EB03C0497EA213
4210FA2131FA2133F137F13FF1203123FB5FCA213EF138FEA7E0F1200B3B0003FB512F84814
422FCB612FEA26C14FC6C14F81F3977B830>I<EB07FC90383FFFC090B512F00003804814FE
4234880261FF80F1380263FE00113C09038C0007F4848EB3FE090C7121FED0FF04814075A6C
42415F81503A3127E1218C8FCA2150716F0150F16E0151F16C0153FED7F8015FF4A13005DEC
42507FC4A5A4A5A4A5A4A5A4A5A4990C7FC495A495AEB0FF0EB3FE0495A495A4890C8FC4848
426EB01F04848EB03F8485AEA1FE048B6FCB7FCA37E6C15F025397BB830>I<EB03FF013F13
427E090B512F84814FE4880481580260FFE0113C09038F0007F4848EB1FE0150F16F01507A2
4286C5A6C5AC8FC150F16E0A2151FED3FC0157FEDFF8002071300903807FFFE495B5D8115FF
4296D1480D9000113C09138003FE0ED1FF0ED07F8150316FC150116FE1500A21218127EB4FC
430A2150116FC4814036C15F86C6C13076DEB1FF0D83FF0133F3A1FFE01FFE06CB612C06C15
431806CECFE00C65C013F13F001031380273A7CB830>I<EC03FC4A7E140F141FA2143F147F
432157E14FEA2EB01FCEB03F8A2EB07F0A2EB0FE0EB1FC0A2EB3F80A2EB7F0013FEA2485A48
4335AA2485AA2485A485AA2485AA248C7FC12FEB8FC1780A46C1600C8007EC7FCAA91387FFF
434FE91B6FCA46E5B29397DB830>I<000FB612804815C05AA316800180C8FCAEEB83FF019F
43513C090B512F015FC8181D9FE0313809039F0007FC049133F0180EB1FE06CC7120F000E15
436F0C81207A216F81503A31218127EA2B4FC150716F048140F6C15E06C141F6DEB3FC06D13
4377F3A3FE001FF80261FFC0F13006CB55A6C5C6C5C6C14E06C6C1380D90FFCC7FC25397BB7
43830>I<127CB712FC16FEA416FC48C7EA0FF816F0ED1FE0007CEC3FC0C8EA7F80EDFF00A2
4394A5A4A5A5D14075D140F5D4A5AA24A5AA24AC7FCA25C5C13015CA213035CA213075CA449
4405AA6131F5CA96D5A6DC8FC273A7CB830>55 D<49B4FC010F13E0013F13F890B57E488048
4418048010113803A0FFC007FC0D81FF0EB3FE04848131F49EB0FF048481307A290C7EA03F8
4425A4815FC1501A416FEA37E7E6D1303A26C6C13076C6C130F6D133FD80FFC13FF6CB6FC7E
4436C14FE6C14F9013FEBE1FC010F138190380060011400ED03F8A2150716F0150F000F15E0
444486C131F486CEB3FC0157FEDFF804A1300EC07FE391FF01FFC90B55A6C5C6C5C6C1480C6
44549C7FCEB3FF0273A7CB830>57 D<120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F
44600C7FCAF120FEA3FC0EA7FE0A2EAFFF0A4EA7FE0A2EA3FC0EA0F000C276EA630>I<16F0
4471503ED07F8151F157FEDFFF014034A13C0021F138091383FFE00ECFFF8495B010713C049
4485BD93FFEC7FC495A3801FFF0485B000F13804890C8FCEA7FFC5BEAFFE05B7FEA7FF87FEA
4491FFF6C7F000313E06C7F38007FFC6D7E90380FFF806D7F010113F06D7FEC3FFE91381FFF
45080020713C06E13F01400ED7FF8151F1507ED03F01500252F7BB230>60
451D<007FB7FCA2B81280A36C16006C5DCBFCA7003FB612FE4881B81280A36C1600A229157D
452A530>I<1278127EB4FC13C07FEA7FF813FEEA1FFF6C13C000037F6C13F86C6C7EEB1FFF
4536D7F010313E06D7F9038007FFC6E7E91380FFF806E13C0020113F080ED3FF8151F153FED
454FFF05C020713C04A138091383FFE004A5A903801FFF0495B010F13804990C7FCEB7FFC48
455485A4813E0000F5B4890C8FCEA7FFE13F8EAFFE05B90C9FC127E1278252F7BB230>I<EB
4561FFE90B512E0000314F8000F14FE4880481580267FF80313C09038C0007F48C7121F16E0
457150FA3127E151F0018EC7FC0C812FF020313804A13004A5AEC1FF84A5AEC7FC04A5A92C7
458FC495AA2495A5CA213075CA86D5A90C9FCA8EB01C0EB07F0A2497EA36D5AA2EB01C02339
4597AB830>I<91387F803C903903FFF03E49EBFC7E011F13FE49EBFFFE5B9038FFE07F48EB
460801F3903FE000F484813075B48481303A2484813015B123F491300A2127F90C8FC167C16
461005A5AAC7E7EA2167C6D14FE123FA27F121F6D13016C6C14FCA26C6CEB03F86D13076C6C
462EB0FF03901FF801F6C9038E07FE06DB512C06D14806D1400010713FC6D13F09038007FC0
463273A7CB830>67 D<003FB712804816C0B8FCA27E7ED801FCC7121FA8EE0F8093C7FCA515
4643E157FA490B6FCA69038FC007FA4153E92C8FCAE383FFFF8487FB5FCA27E6C5B2A387EB7
46530>70 D<007FB6FCB71280A46C1500260007F0C7FCB3B3A8007FB6FCB71280A46C150021
4663879B730>73 D<D83FF8ECFFE0486C4913F0486C4913F8A2007F16F06C6C4913E0000716
4670001EF14BFEC800FA39039E7C01F3FA4ECE03F01E3133EA2ECF07EA201E1137CA2ECF8FC
468A201E013F8A214FDEC7DF0A3147FEC3FE0A3EC1FC0A2EC070091C7FCADD83FFC903801FF
469E0486C4913F0B54913F8A26C486D13F06C486D13E02D387FB730>77
470D<D83FFC90381FFF80486C4913C0B54913E0A26C6D6C13C06C6E13800003913801F800EB
471F7C0A3EBF3E0A314F013F1A214F8A213F014FCA2147C147EA2143E143FA2141FA21581A2
472140F15C1A2140715E1A2140315F1A21401A215F91400A3157DA3153FEA3FFF481380B5EA
473C01FA26CEB800F6C496C5A2B387EB730>I<007FB512F0B612FE6F7E16E0826C813903F8
474003FED0FFCED03FE15016F7EA2821780163FA6167F17005EA24B5A1503ED0FFCED3FF890
475B6FC5E5E16804BC7FC15F001F8C9FCB0387FFFC0B57EA46C5B29387EB730>80
476D<003FB57E4814F0B612FC15FF6C816C812603F8017F9138003FF0151F6F7E1507150382
4771501A515035E1507150F4B5A153F4AB45A90B65A5E93C7FC5D8182D9F8007FED3FE0151F
478150F821507A817F8EEF1FCA53A3FFF8003FB4801C0EBFFF8B56C7E17F06C496C13E06C49
479EB7FC0C9EA1F002E397FB730>82 D<90390FF803C0D97FFF13E048B512C74814F74814FF
4805A381FF80F383FE001497E4848137F90C7123F5A48141FA2150FA37EED07C06C91C7FC7F
4817FEA3FF0EA1FFEEBFFF06C13FF6C14E0000114F86C80011F13FF01031480D9003F13C014
482019138007FE0151FED0FF0A2ED07F8A2007C140312FEA56C140716F07F6DEB0FE06D131F
48301F8EB3FC001FF13FF91B51280160000FD5CD8FC7F13F8D8F81F5BD878011380253A7BB8
48430>I<127CA212FEA27EA26C7EA26C7EA26C7EA26C7EA26C7EA26C7EA212017FA26C7EA2
4856D7EA26D7EA26D7EA26D7EA26D7EA26D7EA2130180A26D7EA26E7EA26E7EA26E7EA26E7E
486A26E7EA26E7EA2140181A26E7EA2ED7F80A2ED3FC0A2ED1FE0A2ED0FF0A2ED07F8A21503
487A2ED01F0150025477BBE30>92 D<007FB612F0A2B712F8A36C15F0A225077B7D30>95
488D<EB7FF80003B5FC4814C04880488048809038E01FFC9038C003FE14016E7E6C487F6CC7
4897FC8123FA491B5FC130F137F48B6FC12075A48EB803F383FF800EA7FE0138048C7FC5AA4
490157F7E6C6C13FFEBC003263FF01FEBFF8090B712C07E6C14EF000314876CD9FE01138026
491003FE0C8FC2A2A7BA830>97 D<EA3FFC487E12FFA2127F123F1200AAEC03FE91381FFF80
492027F13E091B57E90B612FC82ECFE079138F001FF4A6C13804A137F4AEB3FC091C7121F17
493E049140FA217F01607A8160FA217E07F161F6EEB3FC0A26EEB7F806E13FFDAF003130091
49438FC0FFE91B55A5E495CD97E7F13C0D93C1F90C7FC90380003FC2C3980B730>I<ECFFE0
495010713FC011F7F017F7F90B612804815C048EB807F3907FC003F485A485A49EB1F804848
496EB0F004990C7FC127F90C9FCA25A5AA87E7EA27F003FEC07C06DEB0FE06C7E6D131F6C6C
49714C0D807FE133F9039FFC0FF806C90B5FCC615006D5B011F13F801075B01011380232A7A
498A830>I<913801FFE04A7F5CA28080EC0007AAEB03FE90381FFF874913E790B6FC5A5A48
4991303380FFC00D81FF0133F49131F485A150F4848130790C7FCA25AA25AA87E6C140FA27F
500003F141F6D133F6C7E6D137F390FF801FF2607FE07EBFFC06CB712E06C16F06C14F76D01
501C713E0011F010313C0D907FCC8FC2C397DB730>I<49B4FC010713E0011F13F8017F7F90
502B57E488048018113803A07FC007FC04848133FD81FE0EB1FE0150F484814F0491307127F
50390C7FCED03F85A5AB7FCA516F048C9FC7E7EA27F003FEC01F06DEB03F86C7E6C7E6D1307
504D807FEEB1FF03A03FFC07FE06C90B5FC6C15C0013F14806DEBFE00010713F8010013C025
5052A7CA830>I<EDFF80020713E0021F13F05C4A13F891B5FC491387903803FE079138FC03
506F0903907F800C04A1300A8003FB612C04815E0B7FCA36C15C0260007F0C7FCB3A9003FB5
50712FE4880B71280A26C15006C5C25397DB830>I<D903FC13FF90261FFF8713C04913DF90
508B712E05A5A2607FE07138F903AF801FE07C048486C6CC7FCA2497F001F8149133FA56D13
5097F000F92C7FC6D5BA26C6C485AEBFE0790B55A5D485C15C001DF5BD9C3FCC8FC01C0C9FC
510A37F7F6CB512F015FF6C15C04815F0488148813A3FE0001FFE0180130148C8127F007E81
51100FE168048151FA56C153F007FED7F006D5C6C6C495A01F013076CB4EB7FFC6C90B55A6C
5125D000115C06C6C91C7FC011F13FC010113C02B3E7DA730>I<EA3FFC487E12FFA2127F12
5133F1200AAEC01FE91380FFF80023F13E091B57E90B67EA29138FE07FCECF8039138E001FE
51414C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC
5156C496C13F82F3880B730>I<14E0EB03F8A2497EA36D5AA2EB00E091C8FCA9381FFFF848
5167F5AA27E7EEA0001B3A9003FB612C04815E0B7FCA27E6C15C023397AB830>I<EC01C0EC
51707F0A2EC0FF8A3EC07F0A2EC01C091C7FCA990B512F04814F8A47EEB0003B3B3A5EC07F0
518A2123C007EEB0FE0B4131FEC3FC0147F90B512806C14005C6C5B000F13F0000313C01D4E
5197CB830>I<EA7FF8487EA4127F1200AB0203B512804A14C017E0A217C06E14809139001F
520E0004B5A4B5A4BC7FC4A5A4A5AEC0FF84A5A4A5A4A5A4A5A01FD7F90B57E8114F7ECE3F8
521ECC1FCEC81FEEC00FF497F496D7E6F7E826F7E15076F7E6F7E3B7FFFF81FFFE0B56C4813
522F017F8A217F06C496C13E02D387FB730>I<387FFFF8B57EA47EEA0001B3B3A8007FB612
523F0B712F8A46C15F025387BB730>I<02FC137E3B7FC3FF01FF80D8FFEF01877F90B500CF
5247F15DF92B57E6C010F13872607FE07EB03F801FC13FE9039F803FC01A201F013F8A301E0
52513F0B3A23C7FFE0FFF07FF80B548018F13C0A46C486C01071380322881A730>I<EC01FE
5263A3FFC0FFF80267FFE3F13E000FF90B57E90B67E7E6C9038FE07FCC6EBF8039138E001FE
52714C0EC8000A291C7FCA25BB3A23B3FFFF81FFFF8486D4813FCB500FE14FEA26C01FC14FC
5286C496C13F82F2880A730>I<49B4FC010F13E0013F13F8497F90B57E0003ECFF8014013A
52907FC007FC04848EB3FE0D81FE0EB0FF0A24848EB07F8491303007F15FC90C71201A300FE
530EC00FEA86C14016C15FCA26D1303003F15F86D13076D130F6C6CEB1FF06C6CEB3FE06D13
5317F3A07FF01FFC06C90B512806C15006C6C13FC6D5B010F13E0010190C7FC272A7CA830>
532I<EC03FE3A3FFC1FFF80267FFE7F13E000FF90B57E90B612FC6C816CEBFE07C69038F001
533FF4A6C13804A137F4AEB3FC091C7121F17E049140FA217F01607A8160FA217E07F161F6E
534EB3FC0A26EEB7F806E13FFDAF00313009138FC0FFE91B55A5E495C6E13C0021F90C7FCEC
53503FC91C9FCAD383FFFF8487FB57EA26C5B6C5B2C3C80A730>I<49B413F8010FEBC1FC01
5363F13F14913FD48B6FC5A481381390FFC007F49131F4848130F491307485A491303127F90
537C7FC15015A5AA77E7E15037FA26C6C1307150F6C6C131F6C6C133F01FC137F3907FF01FF
5386C90B5FC6C14FD6C14F9013F13F1010F13C1903803FE0190C7FCAD92B512F84A14FCA46E
53914F82E3C7DA730>I<ED07F83A3FFF803FFF486DB51280B512C302CF14C06C13DF6C9038
540FFFC3FD8001F13E09238801F809238000F004A90C7FC5C5C5CA25CA45CAF003FB512FC48
54180B7FCA26C5C6C5C2A287EA730>I<90381FFC1E48B5129F000714FF5A5A5A387FF007EB
542800100FEC7FC4880A46C143E007F91C7FC13E06CB4FC6C13FC6CEBFF806C14E0000114F8
5436C6C7F01037F9038000FFF02001380007C147F00FEEC1FC0A2150F7EA27F151F6DEB3F80
5446D137F9039FC03FF0090B6FC5D5D00FC14F0D8F83F13C026780FFEC7FC222A79A830>I<
545EB0780497E131FA9003FB612E04815F0B7FCA36C15E026001FC0C7FCB216F8ED01FCA5EC
546E003010FEB07F814F09138FC1FF06DB512E06D14C016806D14009038007FFCEC1FF02633
5477EB130>I<D83FFCEB3FFC486C497E00FF14FFA2007F147F003F143F00001400B3A41501
548A2150315076D130F903A7FC07FFFF891B612FC6D15FE7F6D4913FC6D9038F87FF8010001
549C0C7FC2F2880A630>I<3B3FFFC07FFF80486DB512C0B515E0A26C16C06C496C13803B01
550F80003F000A26D130700005DA26D130F017E5CA2017F131F6D5CA2EC803F011F91C7FCA2
5516E5A010F137EA2ECE0FE01075BA214F101035BA3903801FBF0A314FF6D5BA36E5A6E5A2B
552277EA630>I<3B3FFFC01FFFE0486D4813F0B515F8A26C16F06C496C13E0D807E0C7EA3F
55300A26D5C0003157EA56D14FE00015DEC0F80EC1FC0EC3FE0A33A00FC7FF1F8A2147DA2EC
554FDF9017C5C14F8A3017E13FBA290393FF07FE0A3ECE03FA2011F5C90390F800F802D277F
555A630>I<3A3FFF81FFFC4801C37FB580A26C5D6C01815BC648C66CC7FC137FEC80FE9038
5563F81FC90381FC3F8EB0FE3ECE7F06DB45A6D5B7F6D5B92C8FC147E147F5C497F81903803
557F7E0EB07E790380FE3F0ECC1F890381F81FC90383F80FE90387F007E017E137F01FE6D7E
55848486D7E267FFF80B5FCB500C1148014E3A214C16C0180140029277DA630>I<3B3FFFC0
5597FFF80486DB512C0B515E0A26C16C06C496C13803B01FC0003F000A2000014076D5C137E
560150F017F5C7F151FD91F805BA214C0010F49C7FCA214E00107137EA2EB03F0157C15FCEB
56101F85DA2EB00F9ECFDF0147D147FA26E5AA36E5AA35DA2143F92C8FCA25C147EA2000F13
562FE486C5AEA3FC1EBC3F81387EB8FF0EBFFE06C5B5C6C90C9FC6C5AEA01F02B3C7EA630>
563I<001FB612FC4815FE5AA316FC90C7EA0FF8ED1FF0ED3FE0ED7FC0EDFF80003E491300C7
564485A4A5A4A5A4A5A4A5A4A5A4A5A4990C7FC495A495A495A495A495A495A4948133E4890
565C7127F485A485A485A485A485A48B7FCB8FCA46C15FE28277DA630>I
566E
567%EndDVIPSBitmapFont
568%DVIPSBitmapFont: Fl cmti10 10.95 56
569/Fl 56 123 df<933807FF80043F13E09338FE00F8DB01F0133EDB07E0130E4B48131F4C
570137F031F14FF4BC7FCA218FE157E1878180015FE5DA31401A25DA414030103B712F0A218
571E0903A0003F000070207140F4B14C0A3171F020F15805DA2173F1800141F5D5F177EA214
5723F92C712FE5FA34A1301027EECF81CA3160302FEECF03C4A1538A21878187013014A0101
57313F018E0933800F1C0EF7F804948EC1F0094C7FCA35C1307A2001E5B127F130F00FF5BA2
57449CAFC12FEEAF81EEA703CEA7878EA1FF0EA07C0385383BF33>12
575D<EE07FC93393FFF87F09338FC07C7923A03F001E7E0DB07C013F792390F8007FF031F49
57613C016005DA2037E1580EF039FEF001F183F4B1500A3600201157E5DA218FE6014035D01
57703B7FC60A2903A0007F000014B130360A31707020F5D5DA2170F60141F5D171F60A2143F
57892C7123F95C7FCA34A5C027EEC7E07A317FE02FE4A5A4A150EA2181E181C13014AEC7C3C
5791838EF3C70EF1FE04948EC07C094C8FCA3495AA3001E5BEA7F0FA200FF5BA249CBFC12FE
580EAF83EEA703CEA7878EA1FF0EA07C03C5383BF35>I<ED01801507ED0F00151C5D5D5D14
581014A5A4A5A4AC7FC141E143E5C14785C1301495AA2495A5C130F49C8FCA2133EA25BA213
582FC5B12015BA212035B1207A25B120FA25BA2121FA290C9FCA25AA2123EA2127EA2127CA6
5835AAB1278A67EA47EA2120E120F7EA26C7EA26C7E6C7E1360215A73C325>40
584D<14031580A2EC01C0EC00E0A21570A215781538153CA3151EA4151FA2150FA7151FA915
5853FA2153EA3157EA2157CA215FCA215F8A21401A215F0A2140315E0A2140715C0A2EC0F80
586A2141F15005C143EA25CA25CA2495A5C1303495A5C130F49C7FC131E5B137C5B5B485A48
5875A485A48C8FC121E5A12705A5A205A7FC325>I<EA01E0EA07F8120FA2EA1FFCA4EA0FF8
588EA0798EA001813381330A21370136013E013C01201EA0380EA07001206120E5A5A5A5A5A
5890E1C7A891C>44 D<387FFFFCA3B5FCA21605799521>I<15031507150F151F151E153E15
5907EEC01FEEC03FC1407141FEB01FF90380FFBF8EB1FC3EB0E07130015F0A2140FA215E0A2
591141FA215C0A2143FA21580A2147FA21500A25CA25CA21301A25CA21303A25CA21307A25C
592A2130FA25CA2131FA25CEB7FE0B612F0A215E0203D77BC2E>49 D<171C173C177CA217FC
593A216011603A21607A24C7EA2161DA216391679167116E1A2ED01C1A2ED03811507160115
5940EA2031C7FA24B7EA25D15F05D4A5AA24A5AA24AC7FC5C140E5C021FB6FC4A81A20270C7
595127FA25C13015C495AA249C8FCA2130E131E131C133C5B01F882487ED807FEEC01FFB500
596E0017FEBFF80A25C39417BC044>65 D<49B712C018F818FE903B0003FC0001FF9438007F
597804BEC3FC0A2F01FE014074B15F0180FA2140F5D181FA2021F16E05D183F19C0023FED7F
598804B14FF19004D5A027F4A5A92C7EA07F0EF1FE0EF7F804AD903FEC7FC92B512F017FE4A
599C7EA3F800101ED1FE04A6E7E17078401036F7E5CA30107825CA3010F5E4A1407A260011F
600150F5C4D5A60013F153F4A4A5A4D5A017F4A90C7FC4C5A91C7EA0FF849EC3FF0B812C094
601C8FC16F83C3E7BBD40>I<9339FF8001C0030F13E0033F9038F803809239FF807E07913A
60203FC001F0FDA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A495A13
6030F4948157E4948157C495A13FF91C9FC4848167812035B1207491670120FA2485A95C7FC
604485AA3127F5BA312FF5BA490CCFCA2170FA2170EA2171E171C173C173817786C16706D15
605F04C5A003F5E6D1403001F4B5A6D4AC8FC000F151E6C6C5C6C6C14F86C6C495A6C6CEB07
606C090397FC03F8090261FFFFEC9FC010713F0010013803A4272BF41>I<49B712C018F818
607FE903B0003FE0003FF9438007F804BEC1FC0F00FE0F007F014074BEC03F8F001FCA2140F
6084BEC00FEA3141F4B15FFA3143F5DA3027F5D5DA219FE14FF92C81203A34917FC4A1507A2
60919F813034A150F19F0A20107EE1FE05CF03FC0A2010FEE7F804A16006060011F4B5A4A4A
6105A4D5AA2013F4B5A4AEC3FC04DC7FC017F15FEEE03FC4AEB0FF001FFEC7FE0B8128004FC
611C8FC16E0403E7BBD45>I<49B812F8A390260003FEC7121F18074B14031801F000F01407
6125DA3140F5D19E0A2141F4B1338A2EF7801023F027013C04B91C7FCA217F0027F5CED8001
6131603160F91B65AA3ED001F49EC07805CA3010392C8FC5CF003804C13070107020E14005C
61493C75A180E010F161E4A151C183CA2011F5E5C60A2013F15014A4A5A1707017F150F4D5A
6154A147F01FF913807FF80B9FCA295C7FC3D3E7BBD3E>I<49B812F0A390260003FEC7123F
616180F4B1403A2F001E014075DA3140F5D19C0A2141F5D1770EFF003023F02E013804B91C7
617FCA21601027F5CED8003A2160702FFEB1F8092B5FCA349D9003FC8FC4A7F82A20103140E
6185CA2161E0107141C5CA293C9FC130F5CA3131F5CA3133F5CA2137FA25C497EB612E0A33C
6193E7BBD3B>I<9339FF8001C0030F13E0033F9038F803809239FF807E07913A03FC001F0F
620DA0FF0EB071FDA1FC0ECBF00DA7F806DB4FC4AC77E495AD903F86E5A495A130F4948157E
6214948157C495A13FF91C9FC4848167812035B1207491670120FA2485A95C7FC485AA3127F
6225BA312FF5BA30303B512FC90C7FCA2DB000190C7FCA25FA216035FA316076C5E7FA2003F
623150F6D5D121F6D141F000F153F6C6C4A5A6C6C14F76C6CEB01E36CB4EB07C1903A7FC03F
62481C090391FFFFE00010701F890C8FC010013803A4272BF46>I<49B648B6FC495DA2D900
6250390C7000313004B5D4B5DA2180714074B5DA2180F140F4B5DA2181F141F4B5DA2183F14
6263F4B5DA2187F147F4B5DA218FF91B8FC96C7FCA292C712015B4A5DA2170313034A5DA217
6270713074A5DA2170F130F4A5DA2171F131F4A5DA2173F133F4A5DA2017F157FA24A5D496C
6284A7EB66CB67EA3483E7BBD44>I<49B6FC5BA2D9000313005D5DA314075DA3140F5DA314
6291F5DA3143F5DA3147F5DA314FF92C7FCA35B5CA313035CA313075CA3130F5CA3131F5CA3
630133F5CA2137FA25C497EB67EA3283E7BBD23>I<4AB61280A2180091C713C0167F5FA216
631FF94C7FCA35D5EA315035EA315075EA3150F5EA3151F5EA3153F5EA3157FA25EA215FFA2
63293C8FCA25CA25DA2380F8003EA3FC0D87FE05BA21407D8FFC05B140F01805B49485A12FC
6330070495A4A5A6C01FEC9FC383C01FC380F07F03807FFC0C648CAFC314079BD30>I<49B6
63412C0A25FD9000390C8FC5D5DA314075DA3140F5DA3141F5DA3143F5DA3147F5DA314FF92
635C9FCA35B5CA313035C18C0EF01E0010716C05C17031880130F4A140718005F131F4A141E
636A2173E013F5D4A14FC1601017F4A5A16074A131F01FFECFFF0B8FCA25F333E7BBD39>76
637D<49B5933807FFFC496062D90003F0FC00505ADBBF805E1A771AEF1407033F923801CFE0
638A2F1039F020FEE071F020E606F6C140E1A3F021E161C021C04385BA2F1707F143C023804
639E090C7FCF001C0629126780FE0495A02705FF00700F00E0114F002E0031C5BA2F0380301
6400116704A6C6C5D18E019070103ED01C00280DA03805BA2943807000F13070200020E5C5F
641DB03F8141F495D010E4B5CA24D133F131E011CDAF9C05CEEFB80197F013C6DB4C7FC0138
64295C8FC5E01784A5C13F8486C4A5CD807FE4C7EB500F04948B512FE16E01500563E7BBD52
643>I<902601FFFE020FB5FC496D5CA2D900016D010013C04AEE3F00193E70141C193CEC07
644BFDB3FE01438151F1978020F7FDA0E0F15708219F0EC1E07021C6D5CA203031401023C7F
645DA38015DA2701303EC7800027002805BA2047F130702F014C04A013F91C7FCA2715A0101
646141F4AECF00EA2040F131E010315F84A151C1607EFFC3C0107140391C7143817FE040113
647784915FF010E16708218F0131E011C6F5AA2173F133C01385E171F137813F8486C6F5AEA
64807FEB500F01407A295C8FC483E7BBD44>I<EEFFC0030713F892383F80FE9238FC003FDA
64903F0EB0F804A486D7EDA1F80804AC76C7E027E6E7E4A81494814004948811307495A4948
650157F133F5C49C9FC4917805B1201485AA212075B000F17FFA25B121F190048485DA44848
6514B5AA34D5AA25B4D5A12FF60171F60007F163F604D5AA24DC7FC5F003F15014C5A6D5D00
6521F4B5A4C5A6C6C4A5A4C5A6C6C4AC8FC000315FC6C6C495A6C6CEB07E0017FEB1F809026
6531FC07EC9FC903807FFF801001380394273BF46>I<49B77E18F018FC903B0003FE0003FE
654EF00FF4BEC7F80F03FC00207151F19E05DA2020F16F0A25DA2141FF03FE05DA2023F16C0
655187F4B1580A2027FEDFF00604B495A4D5A02FF4A5A4D5A92C7EA3FC04CB4C7FC4990B512
656FC17E04ACAFCA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA25CA2137FA25C
657497EB67EA33C3E7BBD3E>I<49B612FCEFFF8018F0903B0003FE000FF8EF03FE4BEB00FF
6588419800207ED3FC05DA219E0140F5DA3021FED7FC05DA2F0FF80143F4B15004D5A60027F
6594A5A4B495A4D5AEF3F8002FF02FEC7FC92380007F892B512E01780499038000FE04A6D7E
660707E707E0103814A130083A213075CA25E130F5C5F1603131F5CA3013F020714404A16E0
6615F017F160119C04A01031303496C1680B6D8800113079438FE0F009338007E1ECAEA3FFC
662EF07F03B407BBD42>82 D<92391FE00380ED7FFC913A01FFFE0700913907F01F8F91390F
663C007DF4AC66CB4FC023E6D5A4A130014FC495A4948147CA2495AA2010F15785CA3011F15
66470A46E91C7FCA2808014FE90380FFFE015FC6DEBFF8016E06D806D806D6C7F141F02037F
665EC003FED07FF1501A281A282A212075A167E120EA2001E15FE5EA25E003E14015E003F14
666034B5A486C5C150F6D495A6D49C8FCD8F9F0137C39F8FE01F839F03FFFF0D8E00F13C026
667C001FEC9FC314279BF33>I<48B9FCA25A903AFE001FF00101F89138E0007FD807E0163E
66849013F141E5B48C75BA2001E147FA2001C4B131C123C003814FFA2007892C7FC12704A15
6693C00F01738485CC716001403A25DA21407A25DA2140FA25DA2141FA25DA2143FA25DA214
6707FA25DA214FFA292C9FCA25BA25CA21303A25CEB0FFE003FB67E5AA2383D71BC41>I<00
6711FB500F090B512F0485DA226003FF0C7380FFC004AEC03F04A5D715A017F1503A24A5DA2
67201FF150795C7FC91C8FCA2485E170E5BA20003161E171C5BA20007163C17385BA2000F16
6737817705BA2001F16F05F5BA2003F1501A2495DA2007F1503A2495DA2160794C8FC48C8FC
6745E160E161E6C151C163C5E5E5E6C6C13014B5A001F4A5A6C6C011FC9FC6D133E6C6C13F8
6753903FC07F0C6B512C0013F90CAFCEB07F83C406FBD44>I<B500FE91387FFFE094B5FC19
676C00003018091380FFC0049C8EA07F000015F606095C7FC170EA25F173C17386D5DA26C5E
67716015F4C5AA24CC8FC5E160E5E805E137F5E5EA24B5AA24B5A150793C9FCECC00EA2013F
6785B153C15385DA25D14C15DECC38014E302E7CAFCEB1FEF14EE14FCA25CA25CA25C5C130F
6795CA291CBFC130E3B406DBD44>I<277FFFFE01B500FC90B512E0B5FCA200039026800007
68090C7380FFC006C90C701FCEC07F049725A04035EA26350C7FCA20407150EA2040F5D1A3C
681041F153862163B6216734F5A6D14E303014B5A6C15C303034BC8FC1683DB0703140E191E
682030E151C61031C7F61ED380161157003F04A5A15E002014B5A15C0DA03804AC9FC60DA07
68300140E60140E605C029C5D14B8D97FF85D5C715A5C4A5DA24A92CAFC5F91C7FC705A137E
6845F137C5F137801705D53406EBD5B>I<91B690383FFFFC605E020101E0010F13006E49EB
68507F84C6D5A19C06F6C495A96C7FC033F140E705B183C031F5C705B4D5A030F5C70485A4D
686C8FC0307130EEEFC1E5F03035BEEFE705F6F6C5A5FA26F90C9FC83A2707EA216FF4B7F5D
687ED079FEE1FF0150EED1C0F03387F1578EDF007DA01E07F15C09138038003DA07007F140E
688021E13014A805C02707F4A81495A4948147F01078249C8FC013F6F7E496C147F2603FFC0
68949487EB500F8011FEBFFE0A261463E7CBD44>I<027FB612FEA3913AFFF80007FC03C014
690F892C7EA0FF0D901FC141F4AEC3FE04AEC7FC04A15800103EDFF004A5B4C5A4948495A5F
69191C7485A49141F010E4A5A4C5A5F011E4AC7FC90C75A4B5A4B5A5E4B5A151F4B5A4B5A5E
69215FF4A90C8FC4A5A4A5A5D140F4A5A4A5A4A48130E4B131E02FF141C4990C7FC495A4948
693143C4A1438010F1578495A49481470494814F05C01FF4A5A4890C7FC4848140348481407
694494A5A000F151F4848143F4848ECFF804848130F90B7FCB8FC94C7FC373E79BD38>90
695D<147E49B47E903907C1C38090391F80EFC090383F00FF017E137F4914804848133F485A
696A248481400120F5B001F5C157E485AA215FE007F5C90C7FCA21401485C5AA21403EDF038
6975AA21407EDE078020F1370127C021F13F0007E013F13E0003E137FECF3E1261F01E313C0
6983A0F8781E3803A03FF00FF00D800FC133E252977A72E>97 D<EB1FC0EA0FFF5CA2EA003F
699A291C7FCA25BA2137EA213FEA25BA21201A25BA21203A25B147E3907F1FF809038F783E0
7009038EF01F013FE390FF800F8A24913FC49137C485A157E5B15FE123FA290C7FCA2481301
70115FC127EA2140300FE14F85AA2EC07F0A215E048130F15C0141F15800078EB3F00127C14
7027E003C5B383E01F8381E03E06C485A6CB4C7FCEA01F81F4076BE2A>I<EC1FC0ECFFF090
7033803F03C903807C01E90381F800E90383F000F017E133F4913FF485A485A000714FE5B00
7040F14FC48481300A2485AA3127F90C8FCA35A5AA6481403007E1407150F151E003E143C15
705786C14F0EC03E0390F800F803903E07E003801FFF838003FC0202977A72A>I<EE3F80ED
7061FFF1700A2ED007FA2167EA216FEA25EA21501A25EA21503A25EA21507A25E147E903801
707FF8F903807C1CF90391F80EFC090383F00FF017E137F5B48486D5A485AA2485A000F92C7
708FC5B001F5CA24848137EA215FE127F90C75AA214015A485CA2140316384814F0A2140716
7097891380FE070127C021F13F0007E013F5B003E137FECF3E1261F01E35B3A0F8781E38027
71003FF00FFC7FCD800FC133E294077BE2E>I<EC3F80903801FFE0903807E0F890381F803C
711EB3E0001FC131E485A485A12074848133E49133C121F4848137C15F8EC03F0397F000FE0
712ECFF809038FFFC00B512C048C8FCA45AA61506150E151E007C143C15786C14F0EC01E06C
713EB07C0390F801F003807C0FC3801FFF038007F801F2976A72A>I<167C4BB4FC923807C7
7148092380F83C0ED1F87161FED3F3FA2157EA21780EE0E004BC7FCA414015DA414035DA301
71503B512F8A390260007E0C7FCA3140F5DA5141F5DA4143F92C8FCA45C147EA414FE5CA413
716015CA4495AA4495AA4495A121E127F5C12FF49C9FCA2EAFE1EEAF83C1270EA7878EA3FE0
717EA0F802A5383BF1C>I<EC03F0EC0FFC91383E0E1C9138FC077E903901F003FE13039038
71807E001D90FC013FCEB1F80A2EB3F004914F8137E01FE1303A2484814F0A2150712034914
719E0A2150F12074914C0A2151FA216805B153F1203ED7F006D5BA200015B0000495A9038F8
7200F7E90387C1EFEEB1FF8903807E0FC90C7FC1401A25DA21403A25D001C1307007F5C4813
7210F5D4A5A4AC7FC48137E00F85B387C03F0381FFFC0D803FEC8FC273B7CA72A>I<EB01FC
72213FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCEC03F890387F
7230FFE91383E0F80D97E7813C0ECE007D9FFC013E014801400A2485A5BA25B0003140F16C0
7245BA20007141F16805BA2000F143F16005B5D001F147EEDFE074913FCA2003F0101130FED
725F80E1300161E48ECF01CA2007E1538A200FE1570020013E048EC7FC00038EC1F0028407A
726BE2E>I<1478EB01FCA21303A314F8EB00E01400AD137C48B4FC38038F80EA0707000E13
727C0121E121CEA3C0F1238A2EA781F00701380A2EAF03F140012005B137E13FE5BA212015B
728A212035B1438120713E0000F1378EBC070A214F0EB80E0A2EB81C01383148038078700EA
72903FEEA00F8163E79BC1C>I<1507ED1FC0A2153FA31680ED0E0092C7FCADEC07C0EC3FF0
730EC78F8ECE07CEB01C01303EC807EEB0700A2010E13FE5D131E131CEB3C01A201005BA214
73103A25DA21407A25DA2140FA25DA2141FA25DA2143FA292C7FCA25CA2147EA214FEA25CA2
73213015CA2121C387F03F012FF495A5C495A4848C8FCEAF83EEA707CEA3FF0EA0FC0225083
733BC1C>I<EB01FC13FF5CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8
734FCED03E049EB0FF8ED3C3C017EEB707CEDE1FC9038FE01C1EC03839038FC0703140E0001
735011C13F891383800E0494813001460000313E0EBF9C0EBF78001FEC8FC1207EBFFE0EBE7
736F8EBE0FE000F137F6E7EEBC01F81001F130F16701380A2003F15F0021F13E001001380A2
73748148116C0007EEB0F83168000FE14879138078F0048EB03FE0038EB00F826407ABE2A>
738I<EB07F0EA03FF14E0A2EA000FA214C0A2131FA21480A2133FA21400A25BA2137EA213FE
739A25BA21201A25BA21203A25BA21207A25BA2120FA25BA2121FA25BA2123FA290C7FCA25A
7401307127EA2EAFE0F130E12FCA2131E131CA2EA7C381378EA3C70EA1FE0EA0780144079BE
74117>I<D801F0D93F80137F3D07FC01FFE003FFC03D0F3E07C1F80F83F03D0E1F0F00FC1E
74201F8001E011C90387C3800001C49D97E707F003C01F05C0038157F4A5C26783FC05C1270
7434A91C7FC91C7127E00F003FE1301494A5CEA007EA20301140301FE5F495CA20303140700
7440160495C180F03075D0003051F13E0494A1480A2030FEC3F810007F001C0495CA2031F91
745383E0380120F494AEC0700A2033F150E001FEF1E1C4991C7EA0FF80007C7000EEC03E043
7462979A74A>I<D801F0EB3F803A07FC01FFE03A0F3E07C1F83A0E1F0F00FC001E011C137C
747001C49137E003C13F012385C38783FC012705C91C7FC00F015FE495CEA007EA2150101FE
7485C5BA2150300015D5B15075E0003020F13704914C0A2031F13F00007ED80E05B1681EE01
749C0120F49EC0380A2EE0700001FEC0F0E49EB07FC0007C7EA01F02C2979A733>I<EC1FC0
750ECFFF8903803F07C90380FC01FEB1F8090393F000F80017E14C0491307484814E0485A12
751075B000F15F0485AA2485AA2ED0FE0127F90C7FCA2151F4815C05AA2ED3F80A2ED7F00A2
75248147E007C5C007E13015D4A5A003E495A6C495A4A5A260F803EC7FC3807C0FC3801FFF0
75338003F80242977A72E>I<903903E001F890390FF807FE903A1E7C1E0F80903A1C3E3C07
754C0013C137801389038E003E0EB783F017001C013F0ED80019038F07F0001E015F8147E16
75503000113FEA2C75AA20101140717F05CA20103140F17E05CA20107EC1FC0A24A1480163F
756010F15005E167E5E131F4B5A6E485A4B5A90393FB80F80DA9C1FC7FCEC0FFCEC03E049C9
757FCA2137EA213FEA25BA21201A25BA21203A2387FFFE0B5FCA22D3A80A72E>I<027E1360
758903901FF81E0903807C1C390391F80E7C090383F00F7017E137F5B4848EB3F80485AA248
7595A000F15005B121F5D4848137EA3007F14FE90C75AA3481301485CA31403485CA314074A
7605A127C141F007E133F003E495A14FF381F01EF380F879F3903FF1F80EA00FC1300143F92
761C7FCA35C147EA314FE5CA21301130390B512F05AA2233A77A72A>I<D801F013FC3A07FC
76207FF803A0F3E0F03C0260E1F1C13E0001EEB380F001C1370003CEBE01F123814C0D8783F
76314C00070903880070092C7FC91C8FC12F05BEA007EA313FE5BA312015BA312035BA31207
7645BA3120F5BA3121F5B0007C9FC232979A726>I<EC7F80903801FFE0903807C0F890381F
765003C013E131C013C131E017C133E49137E15FEA2000114FCA215706D13007FEBFFC014FC
7666C13FF15806D13C06D13E0010F13F01300140F14071403120C123F387F80011403D8FF00
76713E0A300FCEB07C000F0EB0F8012700078EB1F006C133C381F01F83807FFE0C690C7FC1F
768297AA725>I<EB01C0EB03F01307A25CA2130FA25CA2131FA25CA2133FA291C7FCA2007F
769B51280B6FC1500D8007EC7FC13FEA25BA21201A25BA21203A25BA21207A25BA2120FA25B
770A2121F141C1380A2003F133C1438EB0078147014F05C495AEA1F03495A6C48C7FCEA07FC
771EA01F0193A78B81E>I<137C48B4141C26038F80137EEA0707000E7F001E15FE121CD83C
7720F5C12381501EA781F007001805BA2D8F03F1303140000005D5B017E1307A201FE5C5B15
7730F1201495CA2151F0003EDC1C0491481A2153F1683EE0380A2ED7F07000102FF13005C01
774F8EBDF0F00009038079F0E90397C0F0F1C90391FFC07F8903907F001F02A2979A731>I<
775017CEB01C048B4EB07F038038F80EA0707000E01C013F8121E001C1403EA3C0F0038EC01
776F0A2D8781F130000705BA2EAF03F91C712E012005B017E130116C013FE5B150300011580
7775BA2ED07001203495B150EA25DA25D1578000114706D5B0000495A6D485AD97E0FC7FCEB
7781FFEEB03F0252979A72A>I<017C167048B491387001FC3A038F8001F8EA0707000E01C0
77915FE001E1403001CEDF000EA3C0F0038177C1507D8781F4A133C00701380A2D8F03F130F
780020049133812005B017E011F14784C137013FE5B033F14F0000192C712E05BA217010003
7814A14C049137E17031880A2EF070015FE170E00010101141E01F86D131C0000D9039F5BD9
782FC076D5A903A3E0F07C1E0903A1FFC03FFC0902703F0007FC7FC372979A73C>I<903903
783F001F890390FFC07FE90393C1E0E0F9026780F1C138001F0EBB83FD801E013F89039C007
784F07FEA0380000714E0D9000F140048151C000E4AC7FCA2001E131FA2C75BA2143F92C8FC
785A35C147EA314FE4A131CA30101143C001E1538003F491378D87F811470018314F000FF5D
7869039077801C039FE0F7C033A7C0E3C078027783C1E1EC7FC391FF80FFC3907E003F02929
7877CA72A>I<137C48B4143826038F8013FCEA0707000E7F001E1401001C15F8EA3C0F1238
7881503D8781F14F000701380A2D8F03F1307020013E012005B017E130F16C013FE5B151F12
78901491480A2153F000315005BA25D157EA315FE5D00011301EBF8030000130790387C1FF8
790EB3FF9EB07E1EB00035DA21407000E5CEA3F80007F495AA24A5AD8FF0090C7FC143E007C
791137E00705B387801F0383803E0381E0FC06CB4C8FCEA03F8263B79A72C>I<D901F01370
792D907FC13F0010F14E090381FFE0190393FFF03C049EB838090387C0FCF9039F803FF0090
79338F0007E49133C000114386C48137890C75A4A5A4A5A4A5A4AC7FC141E5C5C5C495A495A
794495A49C8FC131E4913075B5B48485B4848131E485A01F05BD80FFE137C391F1F81F8383E
7950FFFD83C075B486C5B00705CD8F00190C7FC38E0007C24297BA725>I
796E
797%EndDVIPSBitmapFont
798%DVIPSBitmapFont: Fm cmbx12 12 50
799/Fm 50 122 df<B612F8A91D097F9A25>45 D<EA07C0EA1FF0EA3FF8EA7FFCEAFFFEA7EA
8007FFCEA3FF8EA1FF0EA07C00F0F788E1F>I<EC3FF849B5FC010F14E0013F14F890397FF0
8011FFC9039FFC007FE4890380001FF48486D1380000716C049147F000F16E049143F001F16
802F0A2003F16F8A249141F007F16FCA600FF16FEB3A3007F16FCA56C6CEC3FF8A3001F16F0
803A2000F16E06D147F000716C06D14FF6C6C4913806C6D4813006C6D485A90397FF01FFC6D
804B55A010F14E0010314809026003FF8C7FC2F427CC038>48 D<EC03C01407141F147FEB03
805FF133FB6FCA413C3EA0003B3B3ADB712FCA5264177C038>I<ECFFE0010F13FE013F6D7E
80690B612E0000315F82607FC0313FE3A0FE0007FFFD81F806D138048C7000F13C0488001C0
80715E001F07F00FF6E13F07F17F881A46C5A6C5A6C5AC9FC17F05DA217E05D17C04B13804B
8081300A2ED1FFC4B5A5E4B5A4B5A4A90C7FC4A5A4A5AEC0FF04A5AEC3F804AC7127814FE49
8095A494814F8D907E014F0495A495A49C8FC017C140149140348B7FC4816E05A5A5A5A5AB8
810FC17C0A42D417BC038>I<ECFFF0010713FF011F14C0017F14F049C66C7ED803F8EB3FFE
811D807E06D7E81D80FF86D138013FE001F16C07FA66C5A6C4815806C485BC814005D5E4B5A
8124B5A4B5A4A5B020F1380902607FFFEC7FC15F815FF16C090C713F0ED3FFCED0FFEEEFF80
813816F13C017E0A26F13F0A217F8A3EA0FC0EA3FF0487EA2487EA217F0A25D17E06C5A4949
81413C05BD83F80491380D81FF0491300D80FFEEBFFFE6CB612F800015D6C6C14C0011F49C7
815FC010113E02D427BC038>I<163FA25E5E5D5DA25D5D5D5DA25D92B5FCEC01F7EC03E714
8160715C7EC0F87EC1F07143E147E147C14F8EB01F0EB03E0130714C0EB0F80EB1F00133E5B
817A25B485A485A485A120F5B48C7FC123E5A12FCB91280A5C8000F90C7FCAC027FB61280A5
81831417DC038>I<0007150301E0143F01FFEB07FF91B6FC5E5E5E5E5E16804BC7FC5D15E0
81992C8FC01C0C9FCAAEC3FF001C1B5FC01C714C001DF14F09039FFE03FFC9138000FFE01FC
8206D7E01F06D13804915C0497F6C4815E0C8FC6F13F0A317F8A4EA0F80EA3FE0487E12FF7F
821A317F05B5D6C4815E05B007EC74813C0123E003F4A1380D81FC0491300D80FF0495AD807
822FEEBFFFC6CB612F0C65D013F1480010F01FCC7FC010113C02D427BC038>I<4AB47E021F
82313F0027F13FC49B6FC01079038807F8090390FFC001FD93FF014C04948137F4948EBFFE0
82448495A5A1400485A120FA248486D13C0EE7F80EE1E00003F92C7FCA25B127FA2EC07FC91
825381FFF8000FF017F13E091B512F89039F9F01FFC9039FBC007FE9039FF8003FF17804A6C
82613C05B6F13E0A24915F0A317F85BA4127FA5123FA217F07F121FA2000F4A13E0A26C6C15
827C06D4913806C018014006C6D485A6C9038E01FFC6DB55A011F5C010714C0010191C7FC90
82838003FF02D427BC038>I<121E121F13FC90B712FEA45A17FC17F817F017E017C0A24816
82980007EC8EA3F00007C157E5E00785D15014B5A00F84A5A484A5A5E151FC848C7FC157E5D
830A24A5A14035D14074A5AA2141F5D143FA2147F5D14FFA25BA35B92C8FCA35BA55BAA6D5A
8316D5A6D5A2F447AC238>I<EC7FF00103B5FC010F14C0013F14F090397F801FFC3A01FC00
83203FE48486D7E497F4848EC7F80163F484815C0A2001F151FA27FA27F7F01FE143F6D1580
83302C0137F02F014006C01FC5B6E485A6C9038FF83FCEDE7F86CECFFE06C5D6C92C7FC6D14
834C06D80010F14F882013F8090B7FC48013F14802607FC0F14C0260FF80314E04848C6FC49
8356D13F0003F141F48481307496D13F8150000FF157F90C8123F161F160FA21607A36D15F0
836127F160F6D15E06C6C141F6DEC3FC06C6CEC7F80D80FFE903801FF003A07FFC00FFE6C90
837B55AC615F0013F14C0010F91C7FC010013F02D427BC038>I<EC7FF0903807FFFE011F6D
8387E017F14E09039FFE03FF0489038800FF848496C7E48488048486D7E001F80003F1680A2
839484815C08117E0A212FF17F0A617F8A45D127FA3003F5CA26C7E5D6C6C5B12076C6C133E
8406CEBC07C6CEBFFF8013F5B010F01C013F00101130090C8FCA217E05DA2EA03C0D80FF015
841C0487E486C491380A217004B5A150F5E49495A6C48495A01C0EBFFE0260FF0035B6CB65A
8426C4AC7FC6C14F86C6C13E0D907FEC8FC2D427BC038>I<EE1F80A24C7EA24C7EA34C7EA2
8434B7FA34B7FA24B7FA34B7F169F031F80161F82033F80ED3E07037E80157C8203FC804B7E
84402018115F0820203814B137F0207815D173F020F814B7F021F8292C77EA24A82023E8002
8457E82027FB7FCA291B87EA2498302F0C8FCA20103834A157F0107834A153FA24948828401
8461F8491C97E4984133E017E82B6020FB612F0A54C457CC455>65 D<B9FC18F018FE727E19
847E026003FFCC700077F05017F716C7E727E727EA2721380A37213C0A74E1380A24E1300A2
8484E5A4E5A4E5A4D5B05075B94B5128091B700FCC7FC18F018FF19E002FCC7000113F8716C
8497EF01FFE727E7213801AC07213E0A27213F0A31AF8A71AF0A2601AE0604E13C0604E1380
85095B5120005075BBA12F86119C04EC7FC18E045447CC350>I<DCFFF01470031F01FF14F0
8514AB6EAE0010207EDF803023FEDFE0791B539E001FF0F4949C7EA3F9F010701F0EC0FFF49
85201C0804990C87E4948814948814948167F4849163F4849161F5A4A160F485B19074890CA
853FC19035A5BA2007F1801A34994C7FC12FFAE127F7F1AF0A2123FA27F6C18011AE06C7F19
854036C6D17C06E16077E6C6DEE0F806C6DEE1F006D6C5E6D6C167E6D6C6C5D6D6D4A5A6D01
855F0EC07F0010101FEEC1FE06D903AFFF001FF80023F90B6C7FC020715FC020115F0DA001F
8561480030001F8C8FC44467AC451>I<B9FC18F018FE727E19E026003FFEC7001F13F80501
8577F9438003FFF060F7F727F727F727F84737E737EA2737EA2737EA21B80A2851BC0A51BE0
858AD1BC0A51B8061A21B006162193F624F5A19FF624E5B06075B4E5B063F90C7FC4DB45A05
8590F13F8BA5A19C04EC8FC18F095C9FC4B447CC356>I<BA12F8A485D8001F90C71201EF00
8603F180F180318011800A2197E193EA3191EA21778A285A405F890C7FCA316011603161F92
861B5FCA5ED001F160316011600A2F101E01778A2F103C0A494C7FC1907A21A80A2190FA219
8621FA2193FF17F0061601807181F4DB5FCBBFC61A443447DC34A>I<BA1280A419C026003F
863FEC7121F1701EF007F183F181F180F180719E01803A31801A3EE01E0F000F0A419001603
864A31607160F167F91B6FCA59138FE007F160F16071603A31601A693C9FCAFB712F0A53C44
8657CC346>I<B712E0A5D8001F90C7FCB3B3B3A4B712E0A523447DC32A>73
866D<0107B7FCA590C7001F1300B3B3A9EA1FE0487E487EA2487EA44B5AA26C48495A495C6C
8674813FF6C48485B260FFC0713C06CB65A6C4AC7FCC66C13F8010F138030457DC33A>I<B7
86812F0A526003FFECAFCB3B1F00780A4180F1900A460A360A2187EA218FE17011703170717
8691F177FEE03FFB95AA539447CC343>76 D<B500FE067FB512806E95B6FCA26F5EA2D8003F
87050C7FC013D6DEE03DFA2013C6DEE079FA26E6CEE0F1FA26E6C161EA26E6C163CA36E6C16
87178A26E6C16F0A26E6DEC01E0A26E6DEC03C0A36E6DEC0780A26F6CEC0F00A26F6C141EA2
8726F6C5CA36F6C5CA26F6C5CA26F6D485AA26F6D485AA26F6D485AA3706C48C7FCA293383F
873F81EA2706C5AA2706C5AA3706C5AA2705BA2705BA2705BA2B6057FB6128071C7FCA2173E
874171C61447CC36A>I<923807FFC092B512FE0207ECFFC0021F15F091267FFE0013FC9026
87501FFF0EB1FFF01070180010313C04990C76C7FD91FFC6E6C7E49486F7E49486F7E01FF83
87648496F7E48496F1380A248496F13C0A24890C96C13E0A24819F04982003F19F8A3007F19
877FC49177FA400FF19FEAD007F19FC6D17FFA3003F19F8A26D5E6C19F0A26E5D6C19E0A26C
8786D4B13C06C19806E5D6C6D4B13006C6D4B5A6D6C4B5A6D6C4B5A6D6C4A5B6D01C001075B
8796D01F0011F5B010101FE90B5C7FC6D90B65A023F15F8020715C002004AC8FC030713C047
880467AC454>79 D<B9FC18F018FE727E19E0D8001F90C7000F7F05017F716C7E727E727E72
8811380A21AC084A21AE0A91AC0A24E1380A21A00604E5A4E5A4D485A050F5B92B712C096C7
882FC18FC18C092CBFCB3A7B712E0A543447DC34D>I<B812F8EFFFC018F818FE727ED8001F
88390C7003F13E005037F05007F727E727E727EA28684A286A762A24E90C7FCA24E5A61187F
884943801FFF005075B053F138092B7C8FC18F818E018F892C77FEF3FFF050F7F717F717FA2
885717FA2717FA785A61B0F85A2187F73131F72141EB700E06DEB803E72EBE0FC72EBFFF806
8860114F0726C13E0CC0007138050457DC354>82 D<DAFFE0131C010701FE133C013F9038FF
887807C90B6EAE0FC4815F9489038801FFF3907FC00014848EB007F4848143F4848140F4914
88807007F15035B1601160012FF177CA27FA26D153C7F7F6D92C7FC6C7EEBFFE014FE6CEBFF
889F015FF6C15E016FC6C816C6F7E6C826C826C6C81011F810107811300020F80140003077F
890ED007F82040F1380828212F082A282A27EA218007EA26C5D6C5E6D14036D5D6D140701F8
8914A5A01FFEC3FF002F8EBFFE0486CB65AD8FC1F92C7FCD8F80714FC48C614F04801071380
89231467AC43E>I<003FBA12E0A59026FE000FEB8003D87FE09338003FF049171F90C71607
893A2007E1803007C1801A300781800A400F819F8481978A5C81700B3B3A20107B8FCA54543
8947CC24E>I<B76C010FB512F8A526003FFEC93803E000B3B3A9011F17076280190F6D606F
895151F6D95C7FC6D6D5D197E6D6D5D6D6D1403DA7FFC4A5A6EB4EC3FF0020F9039F003FFE0
8966E90B61280020193C8FC6E6C14FC030F14E09226007FFEC9FC4D457CC356>I<B792B6FC
897A526003FFECAEAFC00806D606F15016D608119036D606F15076D606F150F6D6081191F6D
8986D93C7FC61027F163E6F157E023F167C8119FC6E6D5C18016E5E7013036E5E8218076E6D
8995C180F6E5E70131F6E93C8FC705B037F143E82187E033F147C7013FC6F5C17816F5C17C1
90017C36F5C17E76F5C17FF6F5CA36F91C9FCA2705AA2705AA3705AA2705AA2705AA250457E
901C355>I<903801FFE0011F13FE017F6D7E48B612E03A03FE007FF84848EB1FFC6D6D7E48
9026C6D7EA26F7FA36F7F6C5A6C5AEA00F090C7FCA40203B5FC91B6FC1307013F13F19038FF
903FC01000313E0000F1380381FFE00485A5B127F5B12FF5BA35DA26D5B6C6C5B4B13F0D83F
904FE013EEBFFC03A1FFF80FC7F0007EBFFF86CECE01FC66CEB8007D90FFCC9FC322F7DAD36
905>97 D<EB7FC0B5FCA512037EB1ED0FF892B57E02C314E002CF14F89139DFC03FFC9139FF
906000FFE02FCEB03FF4A6D13804A15C04A6D13E05CEF7FF0A218F8173FA318FCAC18F8A217
9077F18F0A3EFFFE06E15C06E5B6E491380027C491300496C495A903AFC1FC07FFC496CB512
908F0D9F00314C049C691C7FCC8EA1FF036467DC43E>I<EC3FFC49B512C0010F14F0013F14
909FC90397FF003FE9039FFC001FF0003495A48494813805B120F485AA2485A6F1300007F6E
9105AED00784991C7FCA212FFAC6C7EA3123F6DEC03C0A26C6C1407000F16806D140F6C6DEB
9111F006C6D133E6C01F05B3A007FFC03F86DB55A010F14C0010391C7FC9038003FF82A2F7C
912AD32>I<EE03FEED07FFA5ED001F160FB1EC3FE0903803FFFC010FEBFF8F013F14CF9039
913FFF807FF48EBC00148903880007F4890C7123F4848141F49140F121F485AA3127F5BA212
914FFAC127FA37F123FA26C6C141FA26C6C143F0007157F6C6C91B5FC6CD9C00314FC6C9038
915F01FEF6DB5128F011FEBFE0F010713F89026007FC0EBF80036467CC43E>I<EC3FF80103
916B57E010F14E0013F8090397FF83FF89039FFC007FC48496C7E48496C7E48486D1380485A
917001FED7FC05B003FED3FE0A2127F5B17F0161F12FFA290B7FCA401F0C9FCA5127FA27FA2
918123F17F06C7E16016C6C15E06C6C14036C6DEB07C06C6DEB0F806C01F0EB3F0090397FFE
91901FE011FB55A010714F0010114C09026001FFEC7FC2C2F7DAD33>I<EDFF80020F13E002
9207F13F049B512F849EB8FFC90390FFE0FFE90381FFC1F14F8133FEB7FF0A2ED0FFCEBFFE0
921ED03F0ED00C01600ABB612F8A5C601E0C7FCB3B0007FEBFFE0A527467DC522>I<DAFFE0
922137E010F9039FE03FF80013FEBFF8F90B812C048D9C07F133F489038001FF84848EB0FFC
9234848903907FE1F80001F9238FF0F00496D90C7FCA2003F82A8001F93C7FCA26D5B000F5D
9246C6C495A6C6C495A6C9038C07FF04890B55A1680D8078F49C8FC018013E0000F90CAFCA4
9257F7F7F90B612C016FC6CEDFF8017E06C826C16FC7E000382000F82D81FF0C77ED83FC014
926074848020113808248C9FC177FA46D15FF007F17006D5C6C6C4A5A6C6C4A5AD80FFEEC3F
927F83B07FFC001FFF0000190B612C06C6C92C7FC010F14F8D9007F90C8FC32427DAC38>I<
928EB7FC0B5FCA512037EB1ED07FE92383FFF8092B512E002C114F89139C7F03FFC9138CF80
9291F9139DF000FFE14DE14FC4A6D7E5CA25CA35CB3A7B60083B512FEA537457CC43E>I<13
9307C48B4FC4813804813C0A24813E0A56C13C0A26C13806C1300EA007C90C7FCAAEB7FC0EA
9317FFFA512037EB3AFB6FCA518467CC520>I<EB7FC0B5FCA512037EB3B3B3A3B61280A519
932457CC420>108 D<90277F8007FEEC0FFCB590263FFFC090387FFF8092B5D8F001B512E0
93302816E4880913D87F01FFC0FE03FF8913D8FC00FFE1F801FFC0003D99F009026FF3E007F
9346C019E6D013C130F02BC5D02F86D496D7EA24A5D4A5DA34A5DB3A7B60081B60003B512FE
935A5572D7CAC5E>I<90397F8007FEB590383FFF8092B512E0028114F8913987F03FFC9138
9368F801F000390399F000FFE6C139E14BC02F86D7E5CA25CA35CB3A7B60083B512FEA5372D
9377CAC3E>I<EC1FFC49B512C0010714F0011F14FC90397FF80FFF9026FFC0017F48496C7F
9384848C7EA3FE000078248486E7E49140F001F82A2003F82491407007F82A400FF1780AA00
9397F1700A46C6C4A5AA2001F5E6D141F000F5E6C6C4A5AA26C6C6CEBFFE06C6D485B27007F
940F80F90C7FC6DB55A010F14F8010114C09026001FFCC8FC312F7DAD38>I<90397FC00FF8
941B590B57E02C314E002CF14F89139DFC03FFC9139FF001FFE000301FCEB07FF6C496D1380
9424A15C04A6D13E05C7013F0A2EF7FF8A4EF3FFCACEF7FF8A318F017FFA24C13E06E15C06E
9435B6E4913806E4913006E495A9139DFC07FFC02CFB512F002C314C002C091C7FCED1FF092
944C9FCADB67EA536407DAC3E>I<90387F807FB53881FFE0028313F0028F13F8ED8FFC9138
9459F1FFE000313BE6C13BC14F8A214F0ED0FFC9138E007F8ED01E092C7FCA35CB3A5B612E0
946A5272D7DAC2E>114 D<90391FFC038090B51287000314FF120F381FF003383FC0004913
9473F48C7121F127E00FE140FA215077EA27F01E090C7FC13FE387FFFF014FF6C14C015F06C
94814FC6C800003806C15806C7E010F14C0EB003F020313E0140000F0143FA26C141F150FA2
9497EA26C15C06C141FA26DEB3F8001E0EB7F009038F803FE90B55A00FC5CD8F03F13E026E0
95007FEC7FC232F7CAD2C>I<EB01E0A51303A41307A2130FA2131FA2133F137F13FF120300
9510F90B51280B7FCA4C601E0C7FCB3A3ED01E0A9150302F013C0137F150790393FF80F8090
952391FFC1F006DB5FC6D13FC01015B9038003FE023407EBE2C>I<D97FC049B4FCB50103B5
953FCA50003EC000F6C81B3A85EA25EA25E7E6E491380017FD901F713FE9138F807E76DB512
954C7010F1407010313FE9026007FF0EBFC00372E7CAC3E>I<B6903803FFFCA5000101E090
95538003E006C163C80017F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED80
9560F6D92C7FC15C05E6DEBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15
957FF6E5BA36E5BA26E90C8FCA26E5AA26E5AA21578362C7EAB3B>I<B500FE90383FFFF0A5
958C601F0903803E0006D6C495A013F4A5A6D6C49C7FC6E5B6D6C137E6DEB807C6D6D5A6DEB
959C1F0EDE3E06DEBF7C06EB45A806E90C8FC5D6E7E6E7F6E7FA24A7F4A7F8291381F3FFCEC
9603E1F027C7F4A6C7E49486C7F01036D7F49487E02C08049486C7F49C76C7E013E6E7E017E
961141FB500E090B512FCA5362C7EAB3B>120 D<B6903803FFFCA5000101E09038003E006C
962163C80017F5D8017F8013F5D6E1301011F5D6E1303010F5D6E13076D5DED800F6D92C7FC
96315C05E6DEBE01E163E6D143CEDF07C027F1378EDF8F8023F5B15FD021F5B15FF6E5BA36E
9645BA26E90C8FCA26E5AA26E5AA21578A215F85D14015D001F1303D83F805B387FC007D8FF
965E05B140F92C9FC5C143E495A387FC1F8EB07F06CB45A6C5B000790CAFCEA01FC36407EAB
9663B>I E
967%EndDVIPSBitmapFont
968%DVIPSBitmapFont: Fn cmti9 9 15
969/Fn 15 118 df<EA0380EA0FE0121FA5EA0760120013E013C0A2120113801203EA070012
97006120E5A5A5A5A5A0B177A8718>44 D<161C163CA2167C16FCA21501821503A2ED077E15
9710F150E151CA21538A2157015F015E0EC01C0A2913803807F82EC0700A2140E141E141C5C
972A25CA25C49B6FCA25B913880003F49C7EA1F80A2130E131E131C133C13385B13F05B1201
9731203D80FF0EC3FC0D8FFFE903807FFFEA32F367BB539>65 D<DB1FF013C09238FFFC0102
97403EBFF03913A0FF00F878091393F8003CF9139FE0001EF4948EB00FFD903F01500D90FE0
97580495A49488091C8123E137E13FE485A4848153CA2485AA248481538A2485A94C7FC123F
9765BA3127F90CBFCA412FEA2EE03C0A25F127E160794C7FC5E160E007F151E6C5D5E6C6C14
9777016F06C6C495A6C6CEB07C06C6C49C8FC6C6C133E6CB413FC90387FFFF0011F13C0D903
978FEC9FC323775B437>67 D<010FB51280A216009038003FC05DA292C7FCA25CA2147EA214
979FEA25CA21301A25CA21303A25CA21307A25CA2130FA25CA2131FA25CA2133FA291C8FCA2
9805BA2137EA213FEA25B1201B512F8A25C21337BB21E>73 D<902607FFC0ED7FFC4917FF81
981D9003F4B1300611803023BED077CA2027BED0EFC610273151C1838DAF1F01439F071F014
982E118E10101ED01C36102C1EC0383EF070301031607050E5BEC80F8171C0107ED380F6102
983001470A249EDE01FDC01C090C7FC130EEE0380011E017C5C933807003E011C140EA2013C
9844A137E187C01385C5E017816FC6F485B1370ED3FC001F0EC80016000011500D807F81503
985277FFF803E90B512C0B5EB3C01151C46337BB245>77 D<0107B612C04915F883903A003F
9868001FEEE003FEF1F8092C713C0170F5C18E0147EA214FEEF1FC05CA201011680173F4A15
98700177E010315FE5F4AEB03F8EE07E00107EC3FC091B6C7FC16F802E0C9FC130FA25CA213
9881FA25CA2133FA291CAFCA25BA2137EA213FEA25B1201387FFFF0B5FCA233337CB234>80
989D<0107B512FE49ECFFC017F0903A003F8007F8EE01FCEE007E92C7127F835C1880147EA2
99014FEEF7F005CA2010115FE5F4A13015F01034A5AEE0FC04A495A04FEC7FC49B512F016C0
9919138E003E0ED01F8010F6D7E167C4A137EA2131FA25CA2013F14FEA291C7FCA24913015E
992137EEF01C001FE150318805B00011607277FFFF0001400B5ECFE0EEE7E1CC9EA1FF8EE07
993E032357BB238>82 D<913901FC018091380FFF03023F13C791387E07EF903A01F801FF00
99449487E4A7F495A4948133E131F91C7FC5B013E143CA3137E1638A293C7FC137FA26D7E14
995E014FE90381FFFC06D13F86D7F01017F6D6C7E020F7F1400153F6F7E150FA4120EA2001E
9965D121CA2151F003C92C7FCA2003E143E5D127E007F5C6D485A9038C007E039F3F80FC000
997F0B5C8FC38E03FFC38C00FF029377AB42B>I<14FCEB07FF90381F078090383E03C0EBFC
998013801F8033803F0073807E00F13C0120F391F80070091C7FC48C8FCA35A127EA312FE5A
999A4007C14C0EC01E0A2EC03C06CEB0F80EC1F006C137C380F81F03803FFC0C648C7FC1B22
100078A023>99 D<EB03F8EB0FFEEB3E0F9038F807803801F003EA03E0EA07C0120FEA1F8014
100107D83F0013005C007E133EEB03F8387FFFE04848C7FC00FCC8FCA45AA4EC0180EC03C0A2
1002007CEB0780EC1F00003C133E6C13F8380F03E03807FF80D801FCC7FC1A2277A023>101
1003D<EB0FC0EA03FFA25CEA001FA391C8FCA25BA2133EA2137EA2137CA213FCA29038F83F80
1004ECFFE03901FBE0F09038FF80F8EC007849137C485A5B5BA2484813FC5D5BA2000F13015D
10051380A2001F13035DEB0007EDC0C048ECC1E0020F13C0003E1481A2007E1483ED0380007C
10061407160000FC140E151E48EB07F80070EB01F023357BB327>104
1007D<EB0180EB07E0A2130FEB07C0EB038090C7FCABEA01F0EA03FCEA0F1E120E121C123C12
100838EA783E1270A2137EEAF07CEA60FCC65AA212015BA212035BA2000713C0EBC1E0000F13
1009C01381A21383EB038013071400130E131EEA07F8EA01F013337AB118>I<3903C00FC039
10100FF03FF0391E78F078391C7DE03C393C3FC0FC00381380EB7F00007814F8D8707E137015
101100EAF0FC12E0EA60F812001201A25BA21203A25BA21207A25BA2120FA25BA2121FA290C8
1012FC120E1E227AA020>114 D<1303EB0F80A3131FA21400A25BA2133EA2137EA2137C387F
1013FFF8A2B5FC3800F800A21201A25BA21203A25BA21207A25BA2120FA25B1460001F13F014
1014E01300130114C01303001E1380EB07005BEA0F1EEA07F8EA01E015307AAE19>116
1015D<EA01F0D803FC1307D80F1E5B000E5C121C123C00385CD8783E133E1270A2017E137ED8
1016F07C137CEA60FCC65A15FC00015C5BA2140100035C13E0166002031370EDE0F0D807C014
1017E0A20003EB07E116C09038E00FC1EC1FC3000190383FE3809038F071E73A007FE0FF0090
1018381F803C24227AA029>I E
1019%EndDVIPSBitmapFont
1020%DVIPSBitmapFont: Fo cmr6 6 4
1021/Fo 4 53 df<13E01201120712FF12F91201B3A7487EB512C0A212217AA01E>49
1022D<EA01FC3807FF80381C0FC0383003E0386001F0EB00F812F86C13FCA2147C1278003013
1023FCC7FC14F8A2EB01F0EB03E014C0EB0780EB0F00131E13385B5B3801C00CEA0380380600
1024185A5A383FFFF85AB512F0A216217CA01E>I<13FF000313C0380F03E0381C00F014F800
10253E13FC147CA2001E13FC120CC712F8A2EB01F0EB03E0EB0FC03801FF00A2380003E0EB00
1026F01478147C143E143F1230127812FCA2143E48137E0060137C003813F8381E03F0380FFF
1027C00001130018227DA01E>I<14E01301A213031307A2130D131D13391331136113E113C1
1028EA01811203EA07011206120C121C12181230127012E0B6FCA2380001E0A6EB03F0EB3FFF
1029A218227DA11E>I E
1030%EndDVIPSBitmapFont
1031%DVIPSBitmapFont: Fp cmr9 9 60
1032/Fp 60 125 df<EC1FE0ECFFFC903803F01E90390FC00780EB1F8090393F000FC0017E13
10331F5BA2485AED0F8092C7FCA9ED0FC0B7FCA33901F8001F150FB3A6486CEB1FE0267FFFC1
1034B5FCA328357FB42B>12 D<003C13F0387E01F838FF03FCA2EB83FEA2EA7F81383D80F600
1035011306A40003130EEB000CA248131C00061318000E1338000C1330001C13704813E03870
103601C00060138017177EB326>34 D<123C127EB4FCA21380A2127F123D1201A412031300A2
10375A1206120E120C121C5A5A126009177AB315>39 D<14C01301EB0380EB0F00130E5B133C
10385B5BA2485A485AA212075B120F90C7FC5AA2121E123EA3123C127CA55AB0127CA5123C12
10393EA3121E121FA27E7F12077F1203A26C7E6C7EA213787F131C7F130FEB0380EB01C01300
1040124A79B71E>I<12C07E1270123C121C7E120F6C7E6C7EA26C7E6C7EA27F1378137C133C
1041133EA2131E131FA37F1480A5EB07C0B0EB0F80A514005BA3131E133EA2133C137C137813
1042F85BA2485A485AA2485A48C7FC120E5A123C12705A5A124A7CB71E>I<123C127EB4FCA2
10431380A2127F123D1201A412031300A25A1206120E120C121C5A5A126009177A8715>44
1044D<B512F0A514057F921A>I<123C127E12FFA4127E123C08087A8715>I<EB0FE0EB7FFCEB
1045F83E3903E00F803907C007C0EB8003000F14E0391F0001F0A24814F8A2003E1300007E14
1046FCA500FE14FEB2007E14FCA56CEB01F8A36C14F0A2390F8003E03907C007C0A23903E00F
1047803900F83E00EB7FFCEB0FE01F347DB126>48 D<13075B5B137FEA07FFB5FC13BFEAF83F
10481200B3B3A2497E007FB51280A319327AB126>I<EB3FC0EBFFF0000313FC380F80FF391E
1049007F80001CEB3FC048EB1FE048130F15F00060130712FC6C14F87E1403A3007E1307123C
1050C7FC15F0A2140F15E0EC1FC0A2EC3F801500147E5C495A5C495A495A495A49C7FC133E13
10513C4913185B485A48481330485A48C7FC001C1470001FB512F05A5AB612E0A31D327CB126
1052>I<EB1FE0EBFFFC4813FF3907E03F80390F001FC0001EEB0FE0001CEB07F0123F018013
1053F8140313C01380A2381F0007C7FC15F0A2EC0FE015C0141FEC3F80EC7E00EB01F8EB7FE0
105414FCEB003FEC1FC0EC0FE0EC07F015F8140315FC140115FEA3127EB4FCA415FC48130312
1055780070EB07F86C14F0003C130F001FEB1FE0390FE03F800003B51200C613FCEB1FE01F34
10567DB126>I<000C14C0380FC00F90B5128015005C5C14F014C0D80C18C7FC90C8FCA9EB0F
1057C0EB7FF8EBF07C380FC03F9038001F80EC0FC0120E000CEB07E0A2C713F01403A215F8A4
10581218127E12FEA315F0140712F8006014E01270EC0FC06C131F003C14806CEB7F00380F80
1059FE3807FFF8000113E038003F801D347CB126>53 D<14FE903807FF80011F13E090383F00
1060F0017C13703901F801F8EBF003EA03E01207EA0FC0EC01F04848C7FCA248C8FCA35A127E
1061EB07F0EB1FFC38FE381F9038700F809038E007C039FFC003E0018013F0EC01F8130015FC
10621400A24814FEA5127EA4127F6C14FCA26C1301018013F8000F14F0EBC0030007EB07E039
106303E00FC03901F81F806CB51200EB3FFCEB0FE01F347DB126>I<EB0FE0EB7FF8EBFFFE38
106403F83F3907E00F80390FC007C0D81F8013E0EC03F0EA3F0048EB01F8127EA200FE14FC14
106500A415FEA5007E1301A2127F7E1403EA1F80000F13073807C00E3803E01C3801F0383800
10667FF090381FC0FC90C7FC1401A215F8A215F01403001F14E0383F800715C0140FEC1F8090
106738003F00001C137E381F01FC380FFFF0000313C0C690C7FC1F347DB126>57
1068D<15E0A34A7EA24A7EA34A7EA3EC0DFE140CA2EC187FA34A6C7EA202707FEC601FA202E0
10697FECC00FA2D901807F1507A249486C7EA301066D7EA2010E80010FB5FCA249800118C77E
1070A24981163FA2496E7EA3496E7EA20001821607487ED81FF04A7ED8FFFE49B512E0A33336
10717DB53A>65 D<B7FC16E016F83A03FC0003FE0001EC00FFEE7F80EE3FC0161F17E0160F17
1072F0A617E0161F17C0EE3F80EE7F0016FEED03FC90B612F05E9039FC0007FCED00FEEE3F80
1073EE1FC0EE0FE017F0160717F8160317FCA617F81607A2EE0FF0EE1FE0163FEE7FC0000391
10743803FF00B75A16F816C02E337DB236>I<DA03FE130C91393FFF801C91B512E0903A03FE
107501F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC7120348481401000315005B48
107648157C485A173C485A171C123F5B007F160CA390C9FC481600AB7E6D150CA3123F7F001F
1077161C17186C7E17386C6C15306C6C15706D15E012016C6CEC01C0D97F80EB0380D91FC0EB
10780F00D90FF0131ED903FE13FC0100B512F0023F13C0DA03FEC7FC2E377CB437>I<B812C0
1079A3D803FCC7127F0001150FEE03E01601A21600A21760A403061330A41700150EA2151E15
10807E90B512FEA39038FC007E151E150EA21506170CA3171892C7FCA41738A21770A217F016
108101160316070003157FB812E0A32E337DB234>69 D<B81280A3D803FCC7FC0001151FEE07
1082C01603A21601A21600A41760150CA31700A2151CA2153C15FC90B5FCA3EBFC00153C151C
1083A2150CA592C8FCAB487EB512FEA32B337DB232>I<DA03FE130C91393FFF801C91B512E0
1084903A03FE01F83C903A0FF0003C7CD91FC0EB0EFCD97F80130701FEC71203484814010003
108515005B4848157C485A173C485A171C123F5B007F160CA390C9FC4893C7FCAA0303B512E0
10867E7F92390003FE00705A123F7F121FA26C7E7F12076C7E7F6C6C14036C7E6D6C1307D91F
1087C0EB0E7CD90FF0EB1C3CD903FEEBF81C0100B5EAF00C023F01C0C7FCDA03FEC8FC33377C
1088B43C>I<B5D8FE03B512F8A3000190C73807FC006C486E5AB390B7FCA349C71203B3A348
10896C4A7EB5D8FE03B512F8A335337EB23A>I<B512FEA3000113006C5AB3B3A7487EB512FE
1090A317337EB21C>I<017FB5FCA39038003FE0EC1FC0B3B1127EB4FCA4EC3F805A00601400
109100705B6C13FE6C485A380F03F03803FFC0C690C7FC20357DB227>I<B500FE903807FFF8
1092A3000190C7000113006C48EC00FC17F04C5A4C5A4CC7FC160E5E5E5E5E4B5A4B5A4BC8FC
1093150E5D5D15F84A7E14034A7EEC0EFF5C4A6C7E4A6C7EECE01FD9FFC07F4A6C7E4A6C7E5B
10946F7E6F7EA26F7E707EA2707E707E160F83707E707EA283486C913807FF80B500FE013F13
1095FCA336337EB23C>I<D8FFFC923801FFF86D5DA20003EFFE00D801BFED06FCA3D99F8014
10960CA2D98FC01418A3D987E01430A2D983F01460A3D981F814C0A3D980FCEB0180A2027EEB
10970300A36E1306A26E6C5AA36E6C5AA36E6C5AA26E6C5AA36E6C5AA3913800FD80A2037FC7
1098FCA3486C133ED80FF04B7EB5011C90387FFFF8A33D337CB246>77
1099D<B612FEEDFFC016F03A03FC0007FC0001EC00FE167FEE3F80EE1FC017E0160FA217F0A6
110017E0A2EE1FC0A2EE3F80EE7F0016FEED07F890B65A168001FCC9FCB3A2487EB512F8A32C
1101337DB234>80 D<B612FCEDFF8016F03A01FE0007FC0000EC01FEED007F707E707E83160F
110283A65FA24C5AA24C5A047EC7FC4B5AED0FF090B612C093C8FC9039FE001FC0ED07F06F7E
11036F7E150082167E167FA583A5180C17C0A2043F131C486C1618B500FEEB1FE0040F133893
11043807F070C93801FFE09338003F8036357EB239>82 D<90381FE00390387FFC0748B5FC39
110507F01FCF390F8003FF48C7FC003E80814880A200788000F880A46C80A27E92C7FC127F13
1106C0EA3FF013FF6C13F06C13FF6C14C06C14F0C680013F7F01037F9038003FFF1403020013
110780157F153FED1FC0150F12C0A21507A37EA26CEC0F80A26C15006C5C6C143E6C147E01C0
11085B39F1FC03F800E0B512E0011F138026C003FEC7FC22377CB42B>I<007FB712FEA39039
11098007F001D87C00EC003E0078161E0070160EA20060160600E01607A3481603A6C71500B3
1110AB4A7E011FB512FCA330337DB237>I<B500FE90381FFFF8A3000190C813006C48153C17
111118B3AF1738017F1530A217706D6C1460011F15E06E495A010F14036D6C495A6D6C49C7FC
1112D901FC131E6DB413FC91383FFFF0020F13C0020190C8FC35357EB23A>I<B5D8F007B539
1113800FFFF0A3000390C7273FF000011300D801FC6E48EB007C1A386D140F00001930836D02
11140715706D1860A26E496C14E0013F60A26ED919FC1301011F60A26ED930FE1303010F95C7
1115FCA26ED9607F5B01071706A26E9039C03F800E0103170CA2913BFC01801FC01C01011718
1116A2913BFE03000FE03801001730A2DAFF06EB07F0027F5EA2038CEB03F8023F5EA203D8EB
111701FC021FEDFD80A203F0EB00FF020F93C8FCA24B800207157EA24B143E0203153CA24B14
11181C020115184C357FB24F>87 D<267FFFFC90B512C0A3000101E090381FF80026007F80EB
11190FC0013F6E5A6E91C7FC6D6C130E010F140C6E5B6D6C133801035C6E13606D6C13E06D6C
1120485A5EDA7F83C8FCEC3FC715C6EC1FECEC0FFC5D14076E7EA26E7E815C6F7E9138063FC0
1121140E4A6C7E9138180FF0EC380702707F91386003FCECC0010101804A6C7E49C77E498101
11220E6E7E010C6E7E131C496E7E01786E7E13FCD807FEEC1FFEB56C90B512F8A335337EB23A
1123>I<B500F8ECFFFEA300030180EC3FE06C90C8EA1F806CEE0E006D6C5C6D6C141817386D
11246C14305F6D6C14E06D6C5C16016D6C5C6D6C49C7FC5E6D6C13065E91387F801C91383FC0
112518163891381FE0306E6C5A16E06E6C5AEDF980EC03FF6E90C8FC5D1400B14A7E91B512FC
1126A337337FB23A>I<0003130C48131C000E133848137000181360003813E0003013C0EA70
11270100601380A2EAE00300C01300A400DE137800FF13FCEB83FEA2EA7F81A2383F00FC001E
11281378171774B326>92 D<EB7F803803FFF0380F80FC381C003E003F133F6D6C7E6E7EA26E
11297EEA1F00C7FCA4EB01FF131FEBFF873803FC07EA0FF0EA1FC0EA3F80127F13004815C05A
1130A3140FA26C131F6C133B3A3F8071F180391FC1E1FF2607FFC013003900FE003C22237DA1
113126>97 D<EA03F012FFA312071203AEEC3F80ECFFE09038F3C0F89038F7007E01FE7F49EB
11321F8049EB0FC05BED07E016F0A2150316F8AA16F0150716E0A2ED0FC07F6DEB1F8001ECEB
11333F0001CF137C90388381F8903801FFE0C76CC7FC25357EB32B>I<EB07F8EB3FFF9038FC
113407C03901F000E03903E003F03807C007120FEA1F80123F90380003E04890C7FCA2127E12
1135FEAA127FA26C14187F001F14386D1330000F14706C6C13E03903F001C03900FC0F809038
11363FFE00EB07F01D237EA122>I<153FEC0FFFA3EC007F81AEEB07F0EB3FFCEBFC0F3901F0
113703BF3907E001FF48487E48487F8148C7FCA25A127E12FEAA127E127FA27E6C6C5BA26C6C
11385B6C6C4813803A03F007BFFC3900F81E3FEB3FFCD90FE0130026357DB32B>I<EB0FE0EB
11397FFCEBF83F3903F00F80D807E013C0390FC007E0381F800315F0EA3F0014014814F8127E
1140A212FEA2B6FCA248C8FCA5127E127FA26C1418A26C6C1338000F14306D13706C6C13E039
114101F003C03900FC0F00EB3FFEEB07F01D237EA122>I<EB01FCEB07FF90381F078090383E
11420FC0EB7C1F13FCEA01F8A20003EB070049C7FCACB512F0A3D803F0C7FCB3A7487E387FFF
1143E0A31A357FB417>I<151F90391FC07F809039FFF8E3C03901F07FC73907E03F033A0FC0
11441F83809039800F8000001F80EB00074880A66C5CEB800F000F5CEBC01F6C6C48C7FCEBF0
11457C380EFFF8380C1FC0001CC9FCA3121EA2121F380FFFFEECFFC06C14F06C14FC4880381F
11460001003EEB007F4880ED1F8048140FA56C141F007C15006C143E6C5C390FC001F83903F0
114707E0C6B51280D91FFCC7FC22337EA126>I<EA03F012FFA312071203AEEC1FC0EC7FF090
114838F1E0FC9038F3807C9038F7007E13FE497FA25BA25BB3486CEB7F80B538C7FFFCA32634
11497EB32B>I<EA0780EA0FC0EA1FE0A4EA0FC0EA0780C7FCAAEA07E012FFA3120F1207B3A6
1150EA0FF0B5FCA310337EB215>I<EA03F012FFA312071203AF913803FFE0A36E1300EC00F8
1151EC01E05D4A5A020FC7FC141C5C5C14F0EBF3F8EBF7FC13FEEBFC7EEBF87F496C7E141F6E
11527E8114076E7E8114016E7E81486CEBFF80B500C313F0A324347EB329>107
1153D<EA07E012FFA3120F1207B3B3A7EA0FF0B5FCA310347EB315>I<2703F01FE013FF00FF
115490267FF80313C0903BF1E07C0F03E0903BF3803E1C01F02807F7003F387FD803FE147049
11556D486C7EA2495CA2495CB3486C496C487EB53BC7FFFE3FFFF0A33C217EA041>I<3903F0
11561FC000FFEB7FF09038F1E0FC9038F3807C3907F7007EEA03FE497FA25BA25BB3486CEB7F
115780B538C7FFFCA326217EA02B>I<EB07F0EB3FFE9038FC1F803901F007C03903C001E000
1158078048486C7E48C7127CA248147E003E143E007E143FA300FE1580A8007E1500A36C147E
1159A26C147C6D13FC6C6C485A00075C3903F007E03900FC1F80D93FFEC7FCEB07F021237EA1
116026>I<3903F03F8000FFEBFFE09038F3C0F89038F7007ED807FE7F6C48EB1F804914C049
1161130F16E0ED07F0A3ED03F8A9150716F0A216E0150F16C06D131F6DEB3F80160001FF13FC
11629038F381F89038F1FFE0D9F07FC7FC91C8FCAA487EB512C0A325307EA02B>I<903807F0
11630390383FFC07EBFC0F3901F8038F3807E001000F14DF48486CB4FC497F123F90C77E5AA2
11645A5AA9127FA36C6C5B121F6D5B000F5B3907E003BF3903F0073F3800F81EEB3FF8EB0FE0
116590C7FCAAED7F8091380FFFFCA326307DA029>I<3803E07C38FFE1FF9038E38F809038E7
11661FC0EA07EEEA03ECA29038FC0F8049C7FCA35BB2487EB512E0A31A217FA01E>I<EBFF06
1167000713CE381F00FE003C133E48131E140E5A1406A27EA200FE90C7FC6C7EEA7FFC383FFF
1168C014F0000F7F6C7FC67FEB0FFF1300EC3F8000C0131F140F6C1307A37E15006C5B6C130E
11696C5B38F7807838E1FFE038C07F8019237EA11E>I<1330A51370A313F0A21201A2120312
117007381FFFFEB5FCA23803F000AF1403A814073801F806A23800FC0EEB7E1CEB1FF8EB07E0
1171182F7FAD1E>I<D803F0133F00FFEB0FFFA30007EB007F000380B35DA35D12016D481380
11720000903803BFFC90387E073FEB1FFED907F8130026227EA02B>I<B5EBFFF0A3D80FF0EB
11733F800007EC1F000003140E150C6D131C00011418A26C6C5BA26D1370017E1360137F6D5B
1174A290381F8180A214C3010F90C7FCA2EB07E6A214FE6D5AA26D5AA36D5AA2146024217E9F
117529>I<B53A1FFF81FFF0A33C07F801FC003F8001F049EB1E0000030100141C816C6C017C
11761318A26D017E1338000002FE1330A290267E01FF5B159F168090263F030F5BA216C0903A
11771F8607C180A202C613E390260FCC0390C7FCA2D907FC13F6ECF80116FE6D486C5AA36D48
11781378A36D48133034217F9F37>I<3A7FFF807FF8A33A07F8001FC00003EC0F800001EC07
11790015066C6C5BA26D131C017E1318A26D5BA2EC8070011F1360ECC0E0010F5BA2903807E1
118080A214F3010390C7FC14FBEB01FEA26D5AA31478A21430A25CA214E05CA2495A1278D8FC
118103C8FCA21306130EEA701CEA7838EA1FF0EA0FC025307F9F29>121
1182D<B712F8A22502809426>123 D<BC12F0A24C0280944D>I E
1183%EndDVIPSBitmapFont
1184%DVIPSBitmapFont: Fq cmsy6 6 1
1185/Fq 1 4 df<136013701360A20040132000E0137038F861F0387E67E0381FFF803807FE
118600EA00F0EA07FE381FFF80387E67E038F861F038E060700040132000001300A213701360
118714157B9620>3 D E
1188%EndDVIPSBitmapFont
1189%DVIPSBitmapFont: Fr cmr8 8 5
1190/Fr 5 54 df<130C133C137CEA03FC12FFEAFC7C1200B3B113FE387FFFFEA2172C7AAB23
1191>49 D<EB7F803801FFF0380780FC380E003F48EB1F8048EB0FC05A0060EB07E012F000FC
119214F07E1403A3007C1307C7FCA215E0140F15C0141F1580EC3F00147E147C5C495A495A49
11935A495A011EC7FC5B5B4913305B485A4848136048C7FC000E14E0001FB5FC5A4814C0B6FC
1194A21C2C7DAB23>I<EB3FC03801FFF03807C0FC380E007E487FEC1F80003F14C0A2EB800F
11951300A2000C131FC7FC1580A2EC3F00143E5C5CEB03F0EBFFC014F0EB00FC143FEC1F8015
1196C0140F15E0A2EC07F0A21238127C12FEA3EC0FE012F8006014C00070131F6C1480001EEB
11973F00380780FC3801FFF038007FC01C2D7DAB23>I<140EA2141E143EA2147E14FEA2EB01
1198BE1303143E1306130E130C131813381330136013E013C0EA0180120313001206120E120C
11995A123812305A12E0B612FCA2C7EA3E00A9147F90381FFFFCA21E2D7EAC23>I<000CEB01
120080380FC01F90B512005C5C14F014C0D80C7EC7FC90C8FCA8EB1FC0EB7FF8380DE07C380F
1201801F01001380000E130F000CEB07C0C713E0A2140315F0A4127812FCA448EB07E012E000
12026014C00070130F6C14806CEB1F006C133E380780F83801FFE038007F801C2D7DAB23>I
1203E
1204%EndDVIPSBitmapFont
1205%DVIPSBitmapFont: Fs cmbx12 14.4 34
1206/Fs 34 122 df<913803FFC0023F13FC91B6FC010315C0010F018113F0903A1FFC003FF8
120749486D7E49486D7E49486D7E48496D138048496D13C0A24817E04890C813F0A34817F8A2
12084817FC49157FA3007F17FEA600FF17FFB3A5007F17FEA6003F17FCA26D15FFA26C17F8A3
12096C17F0A26C6D4913E0A26C6D4913C06C17806E5B6C6D4913006D6C495AD91FFCEB3FF890
12103A0FFF81FFF06D90B55A01011580D9003F01FCC7FC020313C0384F7BCD43>48
1211D<157815FC14031407141F14FF130F0007B5FCB6FCA2147F13F0EAF800C7FCB3B3B3A600
12127FB712FEA52F4E76CD43>I<EC3FFE0103B512E0010F14FC013F14FF90B712C048D9C07F
12137F2703FE000F13F8D807F801037FD80FE06D7F48486D7F48488001F01680486C6E13C07F
1214486C6E13E07FA27013F0A56C5AA26C5AEA0FF0EA03C0C914E05EA218C05E1880A24C1300
12155F4C5A4B5B5F4B5B5F4B5B4B90C7FC4B5A5E4B5AED7FE04B5A4A5B4A48C8FC4A5A5D4A48
1216EB01F04A5AEC3F804AC7FC02FEEC03E0495A495A495A495AD91F80140749C8FC013E150F
1217017FB7FC90B812C05A5A5A5A5A5A5AB9FC1880A4344E79CD43>I<91380FFFC091B512FC
12180107ECFF80011F15E090263FF8077F9026FF800113FC4848C76C7ED803F86E7E491680D8
121907FC8048B416C080486D15E0A4805CA36C17C06C5B6C90C75AD801FC1680C9FC4C13005F
1220A24C5A4B5B4B5B4B13C04B5BDBFFFEC7FC91B512F816E016FCEEFF80DA000713E0030113
1221F89238007FFE707E7013807013C018E07013F0A218F8A27013FCA218FEA2EA03E0EA0FF8
1222487E487E487EB57EA318FCA25E18F891C7FC6C17F0495C6C4816E001F04A13C06C484A13
122380D80FF84A13006CB44A5A6CD9F0075BC690B612F06D5D011F1580010302FCC7FCD9001F
12241380374F7ACD43>I<177C17FEA2160116031607160FA2161F163F167FA216FF5D5DA25D
12255DED1FBFED3F3F153E157C15FCEC01F815F0EC03E01407EC0FC01580EC1F005C147E147C
12265C1301495A495A5C495A131F49C7FC133E5B13FC485A5B485A1207485A485A90C8FC123E
1227127E5ABA12C0A5C96C48C7FCAF020FB712C0A53A4F7CCE43>I<D80380150ED807E0157E
122801FEEC03FED9FFF0137F91B65A5F5F5F5F5F94C7FC5E5E16F016C093C8FC15F801E190C9
1229FC01E0CAFCABEC0FFF027F13F001E3B512FE01E76E7E9026FFF8077FDAC0017F49C713F8
1230496E7E49143F4981496E7E6C481680C9FC18C08218E0A418F0A3EA0FE0487E487E487E48
12317EA418E0A35B6C484A13C05B491680003EC85A003F17006C6C4A5A6D5D6C6C4A5AD807F8
1232495BD803FE01075B2701FFC03F5B6C90B65A013F4AC7FC6D14F8010314C09026007FF8C8
1233FC344F79CD43>I<932601FFFCEC01C0047FD9FFC013030307B600F81307033F03FE131F
123492B8EA803F0203DAE003EBC07F020F01FCC7383FF0FF023F01E0EC0FF94A01800203B5FC
1235494848C9FC4901F8824949824949824949824949824990CA7E494883A2484983485B1B7F
1236485B481A3FA24849181FA3485B1B0FA25AA298C7FC5CA2B5FCAE7EA280A2F307C07EA36C
12377FA21B0F6C6D1980A26C1A1F6C7F1C006C6D606C6D187EA26D6C606D6D4C5A6D6D16036D
12386D4C5A6D6D4C5A6D01FC4C5A6D6DEE7F806D6C6C6C4BC7FC6E01E0EC07FE020F01FEEC1F
1239F80203903AFFE001FFF0020091B612C0033F93C8FC030715FCDB007F14E0040101FCC9FC
1240525479D261>67 D<BA7E19FCF1FF801AF01AFCD8000701F0C7000F13FF060014C0071F7F
1241070713F807017F737F747E747F747F86747F747F8886888688A2757EA31D8087A21DC0A5
12421DE0A387A963A31DC0A51D80A2631D00A3515AA2646264505B6264505B505B5090C7FCF2
1243FFFE4F5B07075B071F5B96B512C0060F91C8FCBB5A1AF01AC007FCC9FC19805B527CD167
1244>I<B812C0A5D8000701F8C7FCB3B3B3B2B812C0A52A527CD132>73
1245D<B600FC073FB512FE6F61A26F96B6FCA2D80007F5C00070EF01EFA202EF6DEF03CFA202
1246E76DEF078FA202E36DEF0F0FA202E16D171EA302E06D173CA26F6C1778A26F6C17F0A26F
12476DED01E0A26F6DED03C0A36F6DED0780A26F6DED0F00A26F6D151EA26F6D5DA3706C5DA2
1248706C5DA2706D495AA2706D495AA2706D495AA3706D49C7FCA2706D131EA2706D5BA2716C
12495BA3716C5BA271EB81E0A271EBC3C0A271EBE780A27101FFC8FCA3715BA2715BA2725AA2
1250725AA2D93FFC6F5AB74DB712FEA2725AA2725A77527CD180>77 D<93380FFFC00303B6FC
1251031F15E092B712FC0203D9FC0013FF020F01C0010F13C0023F90C7000313F0DA7FFC0200
12527F494848ED7FFE4901E0ED1FFF49496F7F49496F7F4990C96C7F49854948707F4948707F
1253A24849717E48864A83481B804A83481BC0A2481BE04A83A2481BF0A348497113F8A5B51A
1254FCAF6C1BF86E5FA46C1BF0A26E5F6C1BE0A36C6D4D13C0A26C6D4D1380A26C1B006C6D4D
12555A6E5E6C626D6C4C5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B5B6D6D4B90C7FC6D6D4B5A6D
125601FF02035B023F01E0011F13F0020F01FC90B512C0020390B7C8FC020016FC031F15E003
12570392C9FCDB001F13E0565479D265>79 D<BAFC19F819FF1AE086D8000701F0C7001F13FC
1258060113FF726C13807313C0070F13E01BF0857313F81BFCA27313FEA41BFFA81BFEA31BFC
125961A21BF84F13F04F13E0614F13C04F13004E485A061F5B92B812F01AC04FC7FC19E003F8
1260CBFCB3AEB812C0A550527CD15C>I<B912F0F0FF8019F819FF1AC0D8000701F0C714F006
12610F7F060113FE727F737F737F85737F87A2737FA387A863A2616363A24F5B4F5B4F90C8FC
12624F5A06035B060F13F095B512C092B8C9FC19F819E019F89226F0000313FE9439007FFF80
1263727F727F727F727F727F8684A28684A787A71D1C75133EA38575137E73157C7513FC7314
126401B86C6D9038F803F807039038FE07F07390B512E0736C14C0080F1400CEEA7FFC5F537C
1265D164>82 D<91260FFF80130791B500F85B010702FF5B011FEDC03F49EDF07F9026FFFC00
12666D5A4801E0EB0FFD4801800101B5FC4848C87E48488149150F001F824981123F4981007F
126782A28412FF84A27FA26D82A27F7F6D93C7FC14C06C13F014FF15F86CECFF8016FC6CEDFF
1268C017F06C16FC6C16FF6C17C06C836C836D826D82010F821303010082021F16801400030F
126915C0ED007F040714E01600173F050F13F08383A200788200F882A3187FA27EA219E07EA2
12706CEFFFC0A27F6D4B13806D17006D5D01FC4B5A01FF4B5A02C04A5A02F8EC7FF0903B1FFF
1271C003FFE0486C90B65AD8FC0393C7FC48C66C14FC48010F14F048D9007F90C8FC3C5479D2
12724B>I<B800C00103B612FCA5D8000701F8CAEBF000F31F80B3B3B11B3FA26D97C7FC8163
12737F1B7E6D6D17FE505A6E7E505A6E6D15076E4D5A6E6D4B5A6E6D4B5A6E01F84B5A6E6DDA
127403FFC8FC6E6CB46CEB0FFE6F9039F001FFF8030F90B65A030316C0DB007F92C9FC040F14
1275F8DC007F13805E537CD167>85 D<EC7FFF0107B512F0013F14FE90B77E48D9E00F7F2703
1276FE000113F0486C6D7F6EEB3FFC48826E131F83707FA36C496D7FA26C90C7FC6C5AC9FCA6
1277037FB5FC020FB6FC91B7FC01071487013FEBF0074913803901FFFC004813F0485B485B48
12785B4890C7FC5A5BA2485AA45EA26D5C007F151D163D6C6C02797F6C6D01F113F86C9026C0
127903E1EBFFE06C9026F81FC014F06C90B5487EC6ED001F011F01FC010713E0010101E090C8
1280FC3C387CB641>97 D<913801FFF8021FEBFF8091B612F0010315FC010F9038C00FFE903A
12811FFE0001FFD97FFC491380D9FFF05B4817C048495B5C5A485BA2486F138091C7FC486F13
128200705A4892C8FC5BA312FFAD127F7FA27EA2EF03E06C7F17076C6D15C07E6E140F6CEE1F
1283806C6DEC3F006C6D147ED97FFE5C6D6CEB03F8010F9038E01FF0010390B55A0100158002
12843F49C7FC020113E033387CB63C>99 D<4DB47E0407B5FCA5EE001F1707B3A4913801FFE0
1285021F13FC91B6FC010315C7010F9038E03FE74990380007F7D97FFC0101B5FC49487F4849
1286143F484980485B83485B5A91C8FC5AA3485AA412FFAC127FA36C7EA37EA26C7F5F6C6D5C
12877E6C6D5C6C6D49B5FC6D6C4914E0D93FFED90FEFEBFF80903A0FFFC07FCF6D90B5128F01
128801ECFE0FD9003F13F8020301C049C7FC41547CD24B>I<913803FFC0023F13FC49B6FC01
12890715C04901817F903A3FFC007FF849486D7E49486D7E4849130F48496D7E48178048497F
129018C0488191C7FC4817E0A248815B18F0A212FFA490B8FCA318E049CAFCA6127FA27F7EA2
129118E06CEE01F06E14037E6C6DEC07E0A26C6DEC0FC06C6D141F6C6DEC3F806D6CECFF00D9
12921FFEEB03FE903A0FFFC03FF8010390B55A010015C0021F49C7FC020113F034387CB63D>
1293I<ED3FFC0203B5FC020F14C0023F14E09139FFF81FF0499038C03FF849EB807F49903800
1294FFFC495A495AA2495AA2EE7FF8495AEE3FF0EE0FC093C7FCAEB712E0A526007FF8C8FCB3
1295B3A7007FB512FEA52E547CD329>I<DA3FFF14FF0103B5D8F00713C0010FDAFC1F13E001
12963FECFF7F90267FFC0F9038FF9FF09026FFE001EBF83F48496C13E0484990387FF01F4890
1297C7D83FF813E0489338FC0FC0F0078048486E6CC7FCA2003F82A9001F5EA26C6C4A5AA26C
12985E6C6D495A6C6D495A6C6D485BDAFC0F5B4890B6C8FCD803EF14FC01C314F02607C03F90
1299C9FC91CBFCA2120FA37FA213F813FE90B7FC6C16F817FF18C06C836C836C836D828448B9
1300FC12074848C700031480D81FF8EC003F4848150748486F13C083485A83A56D5D007F1880
13016D5D003F18006C6C4B5AD80FFEED1FFC6C6C6CEC7FF86C01E049485A6C01FE011F5B6C6C
1302B71280010F03FCC7FC010115E0D9000F01FCC8FC3C4F7CB543>I<EB3FF0B5FCA51203C6
1303FCB3A4EE1FFC93B512C0030314F0030F8092391FE07FFC92393F001FFE037C8003F07FDA
1304F1E081ECF3C0DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542537BD24B>
1305I<137F497E000313E0487FA2487FA76C5BA26C5BC613806DC7FC90C8FCADEB3FF0B5FCA5
130612017EB3B3A6B612E0A51B547BD325>I<EB3FF0B5FCA512017EB3B3B3B1B612F0A51C53
13077BD225>108 D<D93FF0D91FFCEDFFE0B591B500C0010713FE030302F0011F6D7E030F6E
1308017F8092271FE07FFCD9FF037F922A3F001FFE01F8007F0003027C9126FF03E080C602F0
13096DD90780137FDAF1E0038FC77FDAF3C0159EDAF7806D01BC143F07FC8102FFC75C4A5EA2
13104A5EA44A5EB3ACB6D8F807B6D8C03FB512FEA567367BB570>I<D93FF0EB1FFCB591B512
1311C0030314F0030F8092391FE07FFC92393F001FFE0003027C80C602F07FDAF1E081ECF3C0
1312DAF7807F8502FFC7FC5CA25CA45CB3ACB6D8F807B612C0A542367BB54B>I<913801FFE0
1313021F13FE91B612C0010315F0010F9038807FFC903A1FFC000FFED97FF86D6C7E49486D7F
131448496D7F48496D7F4A147F48834890C86C7EA24883A248486F7EA3007F1880A400FF18C0
1315AC007F1880A3003F18006D5DA26C5FA26C5F6E147F6C5F6C6D4A5A6C6D495B6C6D495B6D
13166C495BD93FFE011F90C7FC903A0FFF807FFC6D90B55A010015C0023F91C8FC020113E03A
1317387CB643>I<903A3FF001FFE0B5010F13FE033FEBFFC092B612F002F301017F913AF7F8
1318007FFE0003D9FFE0EB1FFFC602806D7F92C76C7F4A824A6E7F4A6E7FA2717FA285187F85
1319A4721380AC1A0060A36118FFA2615F616E4A5BA26E4A5B6E4A5B6F495B6F4990C7FC03F0
1320EBFFFC9126FBFE075B02F8B612E06F1480031F01FCC8FC030313C092CBFCB1B612F8A541
13214D7BB54B>I<90397FE003FEB590380FFF80033F13E04B13F09238FE1FF89139E1F83FFC
13220003D9E3E013FEC6ECC07FECE78014EF150014EE02FEEB3FFC5CEE1FF8EE0FF04A90C7FC
1323A55CB3AAB612FCA52F367CB537>114 D<903903FFF00F013FEBFE1F90B7FC120348EB00
13243FD80FF81307D81FE0130148487F4980127F90C87EA24881A27FA27F01F091C7FC13FCEB
1325FFC06C13FF15F86C14FF16C06C15F06C816C816C81C681013F1580010F15C01300020714
1326E0EC003F030713F015010078EC007F00F8153F161F7E160FA27E17E07E6D141F17C07F6D
1327EC3F8001F8EC7F0001FEEB01FE9039FFC00FFC6DB55AD8FC1F14E0D8F807148048C601F8
1328C7FC2C387CB635>I<143EA6147EA414FEA21301A313031307A2130F131F133F13FF5A00
13290F90B6FCB8FCA426003FFEC8FCB3A9EE07C0AB011FEC0F8080A26DEC1F0015806DEBC03E
13306DEBF0FC6DEBFFF86D6C5B021F5B020313802A4D7ECB34>I<D93FF8913801FFC0B50207
1331B5FCA50003ED001FC61607B3AE5FA35FA2017F5D173B177B6D6C14F3DC01E313F06D6CD9
133207C3EBFFC0903A0FFFC03F836D90B51203010114FE6D6C13F8020701E091C7FC42377BB5
13334B>I<B600F00107B5FCA5000101F8C8EA7FE06C6DED3F00A2017F163E6E157E013F167C
13346E15FC6D5E6F13016D5E8117036D5E6F13076D5E6F130F6D5E6F131F6D93C7FC815F6E6C
1335133E177E023F147C6F13FC6E5C16816E5C16C3A26EEBE3E016E76E5C16FF6E5CA26E91C8
1336FCA26F5AA36F5AA26F5AA26F5AA26F5A6F5A40367DB447>I<B600F00107B5FCA5C601F8
1337C8EA7FE06EED3F00A26D6C153E187E013F167C6E15FC6D5E6F13016D5E6F13036D5E8117
1338076D6D5C170F6D6D5C171F6D93C7FC6F5B027F143E6F137E023F147C6F13FCA26E6D5A16
1339816EEBC1F016C36E5C16E76E5C16FF6E5CA26E91C8FCA36F5AA26F5AA26F5AA26F5AA26F
13405AA35E150F5E151F93C9FC5DD81FC0133E486C137E486C137C486C13FC5D14015D14034A
13415A6C48485A49485A263FC07FCAFCEB81FE6CB45A6C13F000035BC690CBFC404D7DB447>
1342121 D E
1343%EndDVIPSBitmapFont
1344%DVIPSBitmapFont: Ft cmr12 12 33
1345/Ft 33 124 df<140C141C1438147014E0EB01C01303EB0780EB0F00A2131E5BA25B13F8
13465B12015B1203A2485AA3485AA348C7FCA35AA2123EA2127EA4127CA312FCB3A2127CA312
13477EA4123EA2123FA27EA36C7EA36C7EA36C7EA212017F12007F13787FA27F7FA2EB0780EB
134803C01301EB00E014701438141C140C166476CA26>40 D<12C07E12707E7E7E120F6C7E6C
13497EA26C7E6C7EA21378137C133C133E131E131FA2EB0F80A3EB07C0A3EB03E0A314F0A213
135001A214F8A41300A314FCB3A214F8A31301A414F0A21303A214E0A3EB07C0A3EB0F80A3EB
13511F00A2131E133E133C137C13785BA2485A485AA2485A48C7FC120E5A5A5A5A5A16647BCA
135226>I<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313
1353005A1206120E5A5A5A12600B1D78891B>44 D<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00
13540A0A78891B>46 D<14FF010713E090381F81F890383E007C01FC133F4848EB1F8049130F
13554848EB07C04848EB03E0A2000F15F0491301001F15F8A2003F15FCA390C8FC4815FEA548
135615FFB3A46C15FEA56D1301003F15FCA3001F15F8A26C6CEB03F0A36C6CEB07E0000315C0
13576D130F6C6CEB1F806C6CEB3F00013E137C90381F81F8903807FFE0010090C7FC28447CC1
135831>48 D<143014F013011303131F13FFB5FC13E713071200B3B3B0497E497E007FB6FCA3
1359204278C131>I<121CA2EA1F8090B712C0A3481680A217005E0038C8120C0030151C0070
13605D0060153016705E5E4814014B5A4BC7FCC81206150E5D151815385D156015E04A5AA24A
13615A140792C8FC5CA25C141E143EA2147E147CA214FCA21301A3495AA41307A6130FAA6D5A
1362EB01C02A457BC231>55 D<14FF010713E0011F13F890387F80FC9038FC007E48487F4848
1363EB1F804848EB0FC0000FEC07E0485AED03F0485A16F8007F140190C713FCA25AA216FE15
136400A516FFA46C5CA36C7E5D121F7F000F5C6C6C130E150C6C6C131C6C6C5BD8007C5B9038
13653F01E090390FFF80FE903801FE0090C8FC150116FCA4ED03F8A216F0D80F801307486C14
1366E0486C130F16C0ED1F80A249EB3F0049137E001EC75A001C495A000F495A3907E01FE06C
1367B51280C649C7FCEB1FF028447CC131>57 D<DB0FFE146092B500C013E0020314F0913A0F
1368FC01FC0191393FC0003E02FFC7EA0F83D903FCEC03C74948EC01E74948EC00FF4948157F
13694948153F4948151F49C9120F485A491607120348481603A248481601A248481600A2123F
1370A2491760127FA31900485AAE6C7EA21960A2123F7FA2001F18E07F000F18C0A26C6C1601
137119806C6C160312016DEE07006C6C16066D6C150E6D6C5D6D6C5D6D6C15786D6C5D6D6C4A
13725AD900FFEC0780DA3FC0011FC7FCDA0FFC13FC0203B512F0020014C0DB0FFEC8FC3B487B
1373C546>67 D<010FB512FEA3D9000313806E130080B3B3AB123F487E487EA44A5A13801300
1374006C495A00705C6C13076C5C6C495A6CEB1F802603E07FC7FC3800FFFCEB1FE027467BC3
137532>74 D<B612F8A3000101E0C9FC6C6C5A5CB3B31830A418701860A518E0A3EF01C0A217
1376031707A2170F173F177FEE01FF48486C011F1380B9FCA334447CC33D>76
1377D<B712E016FF17C000019039C0003FF86C6C48EB03FCEE00FF717E717E717E717E717EA2
137884170384A760A21707604D5AA24D5A4D5A4DC8FCEE01FEEE07F8EE3FE091B6C9FC16FC91
13793980007F80EE0FE0707EEE03FC707E160083717EA2717EA784A71A6084171FA21AE0716C
138013C02601FFE002071301B600C01680943801FC03943900FE0700CBEA3FFEF007F843467C
1381C348>82 D<003FB912F8A3903BF0001FF8001F01806D481303003EC7150048187C007818
13823CA20070181CA30060180CA5481806A5C81600B3B3A54B7EED7FFE49B77EA33F447DC346
1383>84 D<EB07FC90383FFF809038F80FE03903C003F048C66C7E000E6D7ED80FC0137E486C
1384137F6D6D7EA36F7EA26C5AEA0380C8FCA4EC0FFF49B5FC90380FFE1FEB3FC0EBFF00EA03
1385FC485A485A485A485A127F5B176048C7FCA3153FA36D137F007F14EF6D9038C7E0C0003F
138613013A1FE00783F13B07F81E03FF802701FFFC0113003A001FE0007C2B2E7CAC31>97
1387D<EA01FC12FFA3120712031201B3EC03FC91380FFF8091383C07E091387001F89039FDE0
1388007E02807F01FFEC1F8091C713C049EC0FE049140717F0A2EE03F8A217FCA2160117FEAB
138917FC1603A217F8A2EE07F0A26DEC0FE017C06D141F01FBEC3F80D9F380EB7E00D9E1C05B
13909039E0F001F89039C03C07E09039801FFF80C7D803FCC7FC2F467DC436>I<EC7F809038
139103FFF090380FC07C90383F000F01FCEB03804848EB01C00003140F4848EB1FE049133F12
13920F485AA2485AED1FC0007FEC070092C7FCA290C9FC5AAB7E7FA2123F16307F001F15706C
13936C146016E06C6C14C06C6C13010001EC03806C6CEB0700013F131E90381FC078903807FF
1394F001001380242E7DAC2B>I<167FED3FFFA315018182B3EC7F80903803FFF090380FC07C
139590383F000E017E1307496D5AD803F87F48487F5B000F81485AA2485AA2127FA290C8FC5A
1396AB7E7FA2123FA26C7EA2000F5D7F6C6C5B00035C6C6C9038077F806C6C010E13C0013F01
13971C13FE90380FC0F8903803FFE09026007F0013002F467DC436>I<EB01FE903807FFC090
1398381F03F090387E00FC49137E48487F485A4848EB1F80000F15C049130F121F484814E015
139907A2007F15F090C7FCA25AA390B6FCA290C9FCA67EA27FA2123F16306C7E1670000F1560
14006D14E06C6C14C0000314016C6CEB03806C6CEB0700013E131E90381F80F8903803FFE001
14010090C7FC242E7DAC2B>I<EE0F80D901FCEB7FE0903A0FFF81F0F090393F07E3819039FC
140201FF033A01F800FE014848017E13E00007027FC7FC497F000F8149131F001F81A9000F5D
14036D133F000792C7FC6D5B0003147E6C6C5B6D485A3903BF07E090380FFF80260701FCC8FC
140490CAFCA25AA37F6C7E7F90B512F86C14FF16E06C15F86C6C8048B67E3A07C0000FFF4848
14051300003FC8EA3F80003E151F48ED0FC0A2481507A56C150F007C1680007E151F003E1600
14066C153E6C6C5CD807E0495AD801F8EB07E0D8007FEB3F8090261FFFFEC7FC010113E02C42
14077DAC31>103 D<EA01FC12FFA3120712031201B3EC01FE913807FFC091381E07F0913838
140801F802707FECE000D9FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F13
1409FEA32F457DC436>I<EA01E0EA07F8A2487EA46C5AA2EA01E0C8FCADEA01FC12FFA31207
141012031201B3B0487EB512F8A315437DC21C>I<EA01FC12FFA3120712031201B3B3B3A548
14117EB512F8A315457DC41C>108 D<D801FC01FFEC1FE000FF010701E0EBFFFC913B0F03F8
141201E07F913C3C01FC07803F800007903C7000FE0E001FC0000349D97E1C130F2601FDC0D9
14137F38804A143001FFDA3FF06D7E91C75BA2495DA3495DB3A8486C4A6C497EB5D8F81FB500
141403B512E0A34B2C7DAB52>I<3901FC01FE00FF903807FFC091381E07F091383801F80007
141501707F0003EBE0002601FDC07F5C01FF147F91C7FCA25BA35BB3A8486CECFF80B5D8F83F
141613FEA32F2C7DAB36>I<EC7F80903803FFF090380FC0FC90383E001F496D7E496D7E4848
14176D7E48486D7E48486D7E000F81A24848147E003F157FA290C87E481680A44816C0AA6C16
141880A26D147F003F1600A2001F157E6D14FE000F5D6D130100075D6C6C495A6C6C495A6C6C
1419495A013E49C7FC90381FC0FE903807FFF89038007F802A2E7DAC31>I<3901FC03FC00FF
142090380FFF8091383C07E091387001F83A07FDE000FE00030180137FD801FFEC3F8091C7EA
14211FC04915E049140F17F0160717F8160317FCA3EE01FEABEE03FCA3EE07F8A217F0160F6D
142215E0EE1FC06D143F17806EEB7E00D9FDC05B9039FCF003F891383C0FE091381FFF80DA03
1423FCC7FC91C9FCAE487EB512F8A32F3F7DAB36>I<3903F803F000FFEB1FFCEC3C3EEC707F
14240007EBE0FF3803F9C000015B13FBEC007E153C01FF13005BA45BB3A748B4FCB512FEA320
14252C7DAB26>114 D<90383FE0183901FFFC383907E01F78390F0003F8001E130148130000
14267C1478127800F81438A21518A27EA27E6C6C13006C7E13FC383FFFE06C13FC6C13FF6C14
1427C06C14E0C614F0011F13F81300EC0FFC140300C0EB01FE1400157E7E153EA27EA36C143C
14286C147C15786C14F86CEB01F039F38003E039F1F00F8039E07FFE0038C00FF01F2E7DAC26
1429>I<1306A5130EA4131EA3133E137EA213FE12011207001FB512F0B6FCA2C648C7FCB3A4
1430150CAA017E131C017F1318A26D133890381F8030ECC070903807E0E0903801FFC0903800
14317F001E3E7EBC26>I<D801FC147F00FFEC3FFFA300071401000380000181B3A85EA35DA2
143212006D5B017E9038077F80017F010E13C06D011C13FE90380FC078903803FFF09026007F
14338013002F2D7DAB36>I<B500E0B539E03FFF80A30007903C000FFE000FFC00D803FCD903
1434F8EB03F8F001E0120103015D6D80000060A26D6E13036DD9037E91C7FCA20280017F5B01
14353FD9063F1306A2D91FC06E5AED0C1FA2D90FE06E5AED180FA2D907F06E5AED3007A2D903
1436F86E5AED6003A2902601FCE06D5AEDC00117FCD900FFECFD80ED800017FF027F92C8FC92
1437C77EA26E147E023E143EA2021E143C021C141CA2412C7EAA46>119
1438D<B539F001FFFCA3000790C7EA7FE06C48EC1F8000011600160E0000150C6D141C6D1418
1439A26E1338013F1430A26D6C5BA26E13E0010F5CA26D6C485AA2ECF803010391C7FCA29038
144001FC06A2ECFE0E0100130CA2EC7F18A215B8EC3FB0A2EC1FE0A36E5AA26E5AA36EC8FCA2
14411406A35CA25CA2123C007E5BB4FC5CA25CEAFE01387C0380D87007C9FCEA3C1EEA0FFCEA
144203F02E3F7EAA33>121 D<B9FCA23002809B31>123 D E
1443%EndDVIPSBitmapFont
1444%DVIPSBitmapFont: Fu cmr10 10.95 77
1445/Fu 77 125 df<4AB4EB0FE0021F9038E03FFC913A7F00F8FC1ED901FC90383FF03FD907
1446F090397FE07F80494801FF13FF4948485BD93F805C137F0200ED7F00EF003E01FE6D91C7
1447FC82ADB97EA3C648C76CC8FCB3AE486C4A7E007FD9FC3FEBFF80A339407FBF35>11
1448D<EC03FE91383FFF809138FE03E0903903F800F0D90FE013384948137C90393F8001FE90
1449387F00035B5BA2485A6F5AED007093C7FCAA16FEB7FCA33901FC000315011500B3AC486C
1450497EB5D8F87F13FCA32E407EBF33>I<EC03FF023F13EE9138FE01FEEB03F090380FE003
1451EB1FC0EB3F80EB7F005B5B150148481300AEB7FCA3D801FCC7FCB3AE486C497EB5D8F87F
145213FCA32E407EBF33>I<DA03FE49B4FC91273FFF801F13C0913BFE03E07F01F0903C03F0
145300F1FC0078D90FE0D97FF0131C49484948133E4948484913FF494848495A5B491500A248
1454485C03016E5A0300153896C7FCAA197FBBFCA3D801FCC738FE00018485B3AC486C496CEC
1455FF80B5D8F87FD9FC3F13FEA347407EBF4C>I<001E130F397F803FC000FF137F01C013E0
1456A201E013F0A3007F133F391E600F3000001300A401E01370491360A3000114E04913C000
145703130101001380481303000EEB070048130E0018130C0038131C003013181C1C7DBE2D>
145834 D<121EEA7F8012FF13C0A213E0A3127FEA1E601200A413E013C0A312011380120313
1459005A120E5A1218123812300B1C79BE19>39 D<1430147014E0EB01C0EB03801307EB0F00
1460131E133E133C5B13F85B12015B1203A2485AA2120F5BA2121F90C7FCA25AA3123E127EA6
1461127C12FCB2127C127EA6123E123FA37EA27F120FA27F1207A26C7EA212017F12007F1378
14627F133E131E7FEB07801303EB01C0EB00E014701430145A77C323>I<12C07E12707E7E12
14631E7E6C7E7F12036C7E7F12007F1378137CA27FA2133F7FA21480130FA214C0A3130714E0
1464A6130314F0B214E01307A614C0130FA31480A2131F1400A25B133EA25BA2137813F85B12
1465015B485A12075B48C7FC121E121C5A5A5A5A145A7BC323>I<121EEA7F8012FF13C0A213
1466E0A3127FEA1E601200A413E013C0A312011380120313005A120E5A1218123812300B1C79
14678919>44 D<B512FEA617067F961E>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E000A0A79
14688919>I<ED0180ED03C01507A21680150FA216005DA2151E153EA2153C157CA2157815F8
1469A25D1401A25D1403A25D1407A25D140FA24AC7FCA2141E143EA2143C147CA2147814F8A2
14705C1301A25C1303A25C1307A25C130FA291C8FC5BA2131E133EA25BA2137813F8A25B1201
1471A25B1203A25B1207A25B120FA290C9FC5AA2121E123EA2123C127CA2127812F8A25A1260
1472225B7BC32D>I<EB01FE90380FFFC090383F03F090387C00F849137C48487F48487F4848
1473EB0F80A2000F15C04848EB07E0A3003F15F0A290C712034815F8A64815FCB3A26C15F8A5
14746C6CEB07F0A3001F15E0A36C6CEB0FC0A26C6CEB1F80000315006C6C133E6C6C5B017C5B
147590383F03F090380FFFC0D901FEC7FC263F7DBC2D>I<EB01C013031307131F137FEA07FF
1476B5FC139FEAF81F1200B3B3ACEB7FF0B612F8A31D3D78BC2D>I<EB07FC90383FFF8090B5
147712E03903F01FF83907C007FC390F0001FE001E6D7E001C1580003CEC7FC05AED3FE01270
1478B4FC6DEB1FF07FA56C5A6CC7FC120CC813E0153FA216C0157F168015FF16004A5A5D4A5A
14794A5A5D4A5A4A5A4AC7FC147E147C5C495A495A495A495A49C71270133E133C5B4914E048
14805A485A485A48C7120148B6FCA25A4815C0B7FCA3243D7CBC2D>I<EB07FC90383FFF8090
148138F80FE03901E003F839078001FCD80F007F000E6D7E001E1580D81F80137F486C14C07F
1482A27F5BA2121F6C5AC8138015FF1600A24A5AA24A5A5DEC07E04A5A023FC7FCEB1FFCECFF
1483809038000FE0EC07F86E7E6E7E6E7E1680ED7FC0A216E0153FA216F0A2120C123F487E48
14847EA316E0A249137F6CC713C01278EDFF807E6C4913006C495A3907C007FC3903F80FF0C6
1485B55A013F1380D907F8C7FC243F7CBC2D>I<150E151E153EA2157EA215FE1401A21403EC
1486077E1406140E141CA214381470A214E0EB01C0A2EB0380EB0700A2130E5BA25B5BA25B5B
14871201485A90C7FC5A120E120C121C5AA25A5AB8FCA3C8EAFE00AC4A7E49B6FCA3283E7EBD
14882D>I<00061403D80780131F01F813FE90B5FC5D5D5D15C092C7FC14FCEB3FE090C9FCAC
1489EB01FE90380FFF8090383E03E090387001F8496C7E49137E497F90C713800006141FC813
1490C0A216E0150FA316F0A3120C127F7F12FFA416E090C7121F12FC007015C012780038EC3F
149180123C6CEC7F00001F14FE6C6C485A6C6C485A3903F80FE0C6B55A013F90C7FCEB07F824
14923F7CBC2D>I<EC1FE0ECFFF8903803F03E90380FC00F90391F000780133E017EEB1FC049
1493133F4848137F12035B12074848EB3F80ED1F00001F91C7FC5BA2123FA3485AA214FE9038
149487FF8039FF8F07E090389C01F09038B800FC01B0137E13F0497F16804914C0A2ED1FE0A3
14954914F0A5127FA6123F6D14E0A2121FED3FC0A26C6C1480A20007EC7F006C6C137E6C6C5B
14966C6C485A90387E07F06DB45A010F1380D903FCC7FC243F7CBC2D>I<1238123C123F90B6
149712FCA316F85A16F016E00078C712010070EC03C0ED078016005D48141E151C153C5DC812
14987015F04A5A5D14034A5A92C7FC5C141EA25CA2147C147814F8A213015C1303A31307A313
14990F5CA2131FA6133FAA6D5A0107C8FC26407BBD2D>I<EB03FC90381FFF8090387C07E090
150038F001F83901E0007C48487F48487F48C7FCED0F80121E16C0003E1407A4123FA26DEB0F
1501807F6C6C131F6D140001FC133E6C6C5B9038FF80786C6D5A6CEBF3E06CEBFF806C91C7FC
1502133F6D13C06D7F013F13F801787F48486C7E3903E01FFF48486C1380260F800313C04848
15037E489038007FE0003E143F007E141F007CEC0FF01507481403A31501A46C15E0007C1403
1504A2007E15C06C14076CEC0F806DEB1F006C6C133ED807F05B3901FC03F86CB512E0011F13
150580D903FCC7FC243F7CBC2D>I<EB03FCEB1FFF90387E07C09038FC03F048486C7E48486C
15067E4848137C000F147E4848137F81003F15805B007F15C0A2151F12FF16E0A516F0A5127F
1507153FA36C7EA2001F147F120F6C6C13FF6D13DF000313013900F8039F90387E0F1FD91FFE
150813E0EB07F090C7FCA2ED3FC0A41680157FD80F801400487E486C13FEA24A5A5D49485AEB
15098007391E000FE0001F495A260FC07FC7FC3803FFFE6C13F838003FC0243F7CBC2D>I<12
15101EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121EEA7F80A2EAFFC0A4EA7F80A2EA1E00
15110A2779A619>I<121EEA7F80A2EAFFC0A4EA7F80A2EA1E00C7FCB3121E127FEAFF80A213
1512C0A4127F121E1200A412011380A3120313005A1206120E120C121C5A1230A20A3979A619
1513>I<EB1FF890B5FC3903E01FC0390F0007F0001EEB03F848EB01FC4814FE140000FE14FF
15147E7FA46CC7FC123EC7EA01FEA2EC03FCEC07F815F0EC0FC0EC1F80EC3F00143E5C147814
1515F85C13015CA2495AA25CAB91C7FC90C8FCA8EB0780EB1FE0A2497EA46D5AA2EB07802040
15167BBF2B>63 D<ED7FE0913807FFFE91391F801F809139780001E0D901E0EB0078D9078014
15171E49C87E011E6F7E0138ED01C0496F7E4916700001177848488249D93F80131C28070001
1518FFF07F48902607E07C130F000E90260FC01E7F001E90263F00071480001C499038038003
1519003C01FED901C013C0003849ECFE010101EC00FF267803F8027F13E000701700495AA200
1520F018F000E01870495AA96D7E12F01270A26D7E007818E0263801FC5C01005C003C7F001C
1521017F49EB01C0001E6DEB077F000E903B0FC01E3F8380000F903B07E07C1F87006C903A01
1522FFF007FE3C0380003F8001F86D90CAFC6C7E120013707F011EEE03F06D160F6D6CED3FC0
1523D901E0913801FE00D90078EC1FF0913A1F8003FF800207B500F8C7FC9126007FFEC8FC3C
1524417BBF47>I<15074B7EA34B7EA34B7EA34B7EA34B7E15E7A2913801C7FC15C3A2913803
152581FEA34AC67EA3020E6D7EA34A6D7EA34A6D7EA34A6D7EA34A6D7EA349486D7E91B6FCA2
152649819138800001A249C87EA24982010E157FA2011E82011C153FA2013C820138151FA201
15277882170F13FC00034C7ED80FFF4B7EB500F0010FB512F8A33D417DC044>I<B712FCEEFF
15288017F00001903980000FF86C6CC7EA03FE707E701380EF7FC0EF3FE0A2EF1FF0A218F8A3
1529170F171FA318F0A2EF3FE0177F18C0EFFF804C1300EE03FCEE0FF8EE7FE091B6C7FC17E0
153091C7EA07FCEE01FE933800FF80EF7FC0EF3FE0EF1FF018F8170F18FC1707A218FEA718FC
1531170FA2EF1FF818F0173FEF7FE0EFFFC00403138048486C90380FFE00B85A17E094C7FC37
15323E7DBD40>I<DB3FF01306912603FFFE130E020F9038FF801E913A3FF007E03E9139FF80
153300F8D903FEC7EA7C7ED907F8EC1EFE4948140FD93FE0140749481403495A91C812014848
1534150012034848167E5B000F173EA24848161EA2123F5B180E127FA349160012FFAC127F7F
1535180EA2123FA27F001F171E181C6C7EA20007173C6D16386C6C1678000117706C6C16F06E
1536EC01E06D6C15C06D6C1403D90FF0EC07806D6CEC1F00D903FE143E902600FF8013F89139
15373FF007F0020FB512C0020391C7FC9138003FF037427BBF42>I<B712FCEEFF8017E00001
15389039C0001FF86C6C48EB03FEEE00FF717E717EEF0FE084717E717E170184717EA2198018
15397F19C0A3F03FE0A519F0AB19E0A5F07FC0A21980A218FF19004D5AA24D5A6017074D5A4D
15405AEF7FC04DC7FCEE03FE48486CEB1FF8B85A178004FCC8FC3C3E7DBD45>I<B912E0A300
1541019038C000016C6C48EB001FEF0FF01703A217011700A31870A418381638A41800A21678
1542A216F81501150791B5FCA3EC8007150115001678A21638A2180EA3181C93C7FCA4183C18
154338A21878A318F8EF01F0A21707170F173F48486CEB03FFB912E0A3373E7DBD3E>I<B912
154480A300019038C000036C6C48EB007FEF1FC0170F1707A21703A31701A4EF00E0A21638A3
15451800A31678A216F81501150791B5FCA3EC8007150115001678A21638A693C8FCAF3801FF
1546E0B612F0A3333E7DBD3B>I<B6D8C01FB512F8A3000101E0C7383FFC0026007F80EC0FF0
1547B3A691B7FCA30280C7120FB3A92601FFE0EC3FFCB6D8C01FB512F8A33D3E7DBD44>72
1548D<B612F0A3C6EBF000EB3FC0B3B3B2EBFFF0B612F0A31C3E7EBD21>I<011FB512FCA3D9
1549000713006E5A1401B3B3A6123FEA7F80EAFFC0A44A5A1380D87F005B007C130700385C00
15503C495A6C495A6C495A2603E07EC7FC3800FFF8EB3FC026407CBD2F>I<B600C090387FFF
1551FCA3000101E0C7000F138026007F80913807FE0018F818E0604D5A4DC7FC173E5F5F4C5A
15524C5A4C5A4C5A4CC8FC163E5E5E4B5A4B5AED07804B7E151F4B7E4B7E15FF913881EFF891
15533883C7FCEC878791388F03FE91389E01FF14BCDAF8007F4A6D7E5C4A6D7E4A6D7EA2707E
1554707EA2707E707EA2707F717E84173F717E717EA2717E848419802601FFE04A13C0B600C0
155590B6FCA3403E7DBD47>I<B612F8A3000101E0C9FC38007F80B3B0EF0380A517071800A4
15565FA35FA25F5F5F4C5A160748486C133FB8FCA3313E7DBD39>I<B500C093B512C0A30001
15576D4BEBE000D8007F1880D977F0ED03BFA3D973F8ED073FA3D971FC150EA2D970FE151CA3
1558027F1538A36E6C1470A36E6C14E0A26E6CEB01C0A36E6CEB0380A36E6CEB0700A26E6C13
15590EA36E6C5BA3037F5BA26F6C5AA36F6C5AA392380FE1C0A3923807F380A26FB4C7FCA36F
15605AA213F8486C6D5AD807FFEFFFE0B500F80178017FEBFFC0A34A3E7CBD53>I<B56C91B5
156112F88080D8007F030713006EEC01FC6E6E5A1870EB77FCEB73FEA2EB71FF01707FA26E7E
15626E7EA26E7E6E7EA26E7E6E7EA26E7E6E7FA26F7E6F7EA26F7E6F7EA26F7E6F7EA26F7E6F
15631380A2EE7FC0EE3FE0A2EE1FF0EE0FF8A2EE07FCEE03FEA2EE01FF7013F0A2177F173FA2
1564171F170FA2170701F81503487ED807FF1501B500F81400A218703D3E7DBD44>I<ED7FE0
1565913807FFFE91391FC03F8091397E0007E04948EB03F8D907F0EB00FE4948147F49486E7E
156649486E7E49C86C7E01FE6F7E00018349150300038348486F7EA248486F7EA2001F188049
1567167F003F18C0A3007F18E049163FA300FF18F0AC007F18E06D167FA4003F18C0A26C6CEE
1568FF80A36C6C4B1300A26C6C4B5A00035F6D150700015F6C6C4B5A6D5E6D6C4A5A6D6C4A5A
15696D6C4AC7FC6D6C14FED901FCEB03F8D9007FEB0FE091391FC03F80912607FFFEC8FC9138
1570007FE03C427BBF47>I<B712F8EEFF8017E000019039C0003FF86C6C48EB07FCEE01FE70
15717EEF7F80EF3FC018E0A2EF1FF0A218F8A818F0A2EF3FE0A218C0EF7F80EFFF004C5AEE07
1572FCEE3FF091B612C04CC7FC0280C9FCB3A73801FFE0B612C0A3353E7DBD3E>I<B712C016
1573FCEEFF800001D9C00013E06C6C48EB1FF0EE07FCEE01FE707E84717EA2717EA284A76017
15747F606017FF95C7FCEE01FCEE07F8EE1FE0EEFF8091B500FCC8FC16F091388001FCED003F
1575EE1FC0707E707E83160383160183A383A484A4F0C004190EA28218E0057F131E2601FFE0
1576161CB600C0EB3FF094381FF83805071370CA3801FFE09438003F803F407DBD43>82
1577D<D907FC131890391FFF8038017FEBE0783901FC03F83A03F0007CF8D807C0133F484813
15780F001F140748C7FC003E1403007E1401A2007C140012FC1678A46C1538A27EA26C6C1400
15797F7FEA3FF8EBFF806C13F86CEBFF806C14F06C14FC6C14FF6C15C0013F14E0010714F0EB
1580007F020713F89138007FFC150FED07FE15031501ED00FFA200E0157FA3163FA27EA3163E
15817E167E6C157C6C15FC6C15F86D13016DEB03F06DEB07E0D8F9FCEB0FC03AF07F803F8090
1582391FFFFE00D8E00713F839C0007FC028427BBF33>I<003FB91280A3903AF0007FE00101
15838090393FC0003F48C7ED1FC0007E1707127C00781703A300701701A548EF00E0A5C81600
1584B3B14B7E4B7E0107B612FEA33B3D7DBC42>I<B600C090B512F8A3000101E0C700071300
158526007F80EC01FC715A1870B3B3A4013F16F06E5DA21701011F5E80010F15036E4A5A0107
158693C7FC6D6C5C6D6C141E6D6C5C027F14F86E6C485A91390FF00FE00203B51280020049C8
1587FCED1FF03D407DBD44>I<B691380FFFFEA3000301E0020113E06C01809138007F806CEF
15883F00017F163E181C6E153C013F1638A26E1578011F1670A26D6C5DA26E140101075EA26E
1589140301035EA26D6C4AC7FCA2806D150EA26F131E027F141CA26F133C023F1438A26E6C5B
1590A26F13F0020F5CA2EDF80102075CA26E6C485AA2EDFE07020191C8FCA26F5A6E130EA2ED
15917F9CA216DCED3FF8A36F5AA36F5AA26F5AA36F5A3F407EBD44>I<B500FE017FB5D88007
1592B5FCA3000301C0010101E0C713F86C90C849EC3FE07148EC0F807E7215006E143F017F19
15930E84A26D6C60A24D7E6D6C60A2EFE7F86D6C60A2933801C3FC6E18F001076104037F6E02
159481140101036104077F17006D6C4D5AA2040EEB7F806D6C4DC7FCA24CEB3FC0DA7F80160E
1595A24CEB1FE003C0161E023F171C047814F0DBE070010F133C021F173804F014F84C1307DA
15960FF05EA2DBF1C0EB03FCDA07F95EA2DBFB80EB01FEDA03FF6F5AA293C8FCA26E5FA24B15
15977F020094C8FCA24B81037C153EA20378151E0338151C58407EBD5D>I<007FB5D8C003B5
159812E0A3C649C7EBFC00D93FF8EC3FE06D48EC1F806D6C92C7FC171E6D6C141C6D6C143C5F
15996D6C14706D6D13F04C5ADA7FC05B023F13036F485ADA1FF090C8FC020F5BEDF81E913807
1600FC1C163C6E6C5A913801FF7016F06E5B6F5AA26F7E6F7EA28282153FED3BFEED71FF15F1
160103E07F913801C07F0203804B6C7EEC07004A6D7E020E6D7E5C023C6D7E02386D7E14784A
16026D7E4A6D7F130149486E7E4A6E7E130749C86C7E496F7E497ED9FFC04A7E00076DEC7FFF
1603B500FC0103B512FEA33F3E7EBD44>I<486C13C00003130101001380481303000EEB0700
160448130E0018130C0038131C003013180070133800601330A300E01370481360A400CFEB67
16058039FFC07FE001E013F0A3007F133FA2003F131F01C013E0390F0007801C1C73BE2D>92
1606D<EB0FF8EBFFFE3903F01F8039078007E0000F6D7E9038E001F8D81FF07F6E7EA3157F6C
16075AEA0380C8FCA4EC1FFF0103B5FC90381FF87FEB7F803801FC00EA07F8EA0FE0485A485A
1608A248C7FCEE038012FEA315FFA3007F5BEC03BF3B3F80071F8700261FC00E13CF3A07F03C
16090FFE3A01FFF807FC3A003FC001F0292A7DA82D>97 D<EA01FC12FFA3120712031201B1EC
161003FC91381FFF8091387C07E09039FDE001F09039FFC000FC4A137E91C77E49158049141F
161117C0EE0FE0A217F0A2160717F8AA17F0A2160FA217E0161F17C06D1580EE3F006D5C6E13
1612FE9039F3C001F89039F1E003F09039E0780FC09026C03FFFC7FCC7EA07F82D407EBE33>
1613I<49B4FC010F13E090383F00F8017C131E4848131F4848137F0007ECFF80485A5B121FA2
16144848EB7F00151C007F91C7FCA290C9FC5AAB6C7EA3003FEC01C07F001F140316806C6C13
1615076C6C14000003140E6C6C131E6C6C137890383F01F090380FFFC0D901FEC7FC222A7DA8
161628>I<ED01FC15FFA3150715031501B114FF010713E190381F80F990387E003D49131FD8
161703F81307485A49130348481301121F123F5B127FA290C7FCA25AAA7E7FA2123FA26C7E00
16180F14037F000714076C6C497E6C6C497ED8007C017913F890383F01F190380FFFC1903A01
1619FE01FC002D407DBE33>I<EB01FE90380FFFC090383F03F09038FC01F848486C7E484813
16207E48487F000F158049131F001F15C04848130FA2127F16E090C7FCA25AA290B6FCA290C9
1621FCA67EA27F123F16E06C7E1501000F15C06C6C13036DEB07806C6C1400C66C131E017E5B
162290381F80F8903807FFE0010090C7FC232A7EA828>I<EC1FC0EC7FF8903801F83C903807
1623E07E90380FC0FFEB1FC1EB3F811401137FEC00FE01FE137C1500AEB6FCA3C648C7FCB3AE
1624487E007F13FFA320407EBF1C>I<167C903903F801FF903A1FFF078F8090397E0FDE1F90
162538F803F83803F001A23B07E000FC0600000F6EC7FC49137E001F147FA8000F147E6D13FE
162600075C6C6C485AA23901F803E03903FE0FC026071FFFC8FCEB03F80006CAFC120EA3120F
1627A27F7F6CB512E015FE6C6E7E6C15E06C810003813A0FC0001FFC48C7EA01FE003E140048
1628157E825A82A46C5D007C153E007E157E6C5D6C6C495A6C6C495AD803F0EB0FC0D800FE01
16297FC7FC90383FFFFC010313C0293D7EA82D>I<EA01FC12FFA3120712031201B1EC01FE91
16303807FFC091381E07E091387803F09138E001F8D9FDC07F148001FF6D7E91C7FCA25BA25B
1631B3A6486C497EB5D8F87F13FCA32E3F7DBE33>I<EA01E0EA07F8A2487EA46C5AA2EA01E0
1632C8FCACEA01FC127FA3120712031201B3AC487EB512F0A3143E7DBD1A>I<1478EB01FEA2
1633EB03FFA4EB01FEA2EB00781400AC147FEB7FFFA313017F147FB3B3A5123E127F38FF807E
163414FEA214FCEB81F8EA7F01387C03F0381E07C0380FFF803801FC00185185BD1C>I<EA01
1635FC12FFA3120712031201B292B51280A392383FFC0016E0168093C7FC153C5D5D4A5AEC07
1636C04A5A4AC8FC143E147F4A7E13FD9038FFDFC0EC9FE0140F496C7E01FC7F496C7E140181
16376E7E81826F7E151F826F7EA282486C14FEB539F07FFFE0A32B3F7EBE30>I<EA01FC12FF
1638A3120712031201B3B3B1487EB512F8A3153F7DBE1A>I<2701F801FE14FF00FF902707FF
1639C00313E0913B1E07E00F03F0913B7803F03C01F80007903BE001F87000FC2603F9C06D48
16407F000101805C01FBD900FF147F91C75B13FF4992C7FCA2495CB3A6486C496CECFF80B5D8
1641F87FD9FC3F13FEA347287DA74C>I<3901F801FE00FF903807FFC091381E07E091387803
1642F000079038E001F82603F9C07F0001138001FB6D7E91C7FC13FF5BA25BB3A6486C497EB5
1643D8F87F13FCA32E287DA733>I<14FF010713E090381F81F890387E007E01F8131F4848EB
16440F804848EB07C04848EB03E0000F15F04848EB01F8A2003F15FCA248C812FEA44815FFA9
16456C15FEA36C6CEB01FCA3001F15F86C6CEB03F0A26C6CEB07E06C6CEB0FC06C6CEB1F80D8
1646007EEB7E0090383F81FC90380FFFF0010090C7FC282A7EA82D>I<3901FC03FC00FF9038
16471FFF8091387C0FE09039FDE003F03A07FFC001FC6C496C7E6C90C7127F49EC3F805BEE1F
1648C017E0A2EE0FF0A3EE07F8AAEE0FF0A4EE1FE0A2EE3FC06D1580EE7F007F6E13FE9138C0
164901F89039FDE007F09039FC780FC0DA3FFFC7FCEC07F891C9FCAD487EB512F8A32D3A7EA7
165033>I<02FF131C0107EBC03C90381F80F090397F00387C01FC131CD803F8130E4848EB0F
1651FC150748481303121F485A1501485AA448C7FCAA6C7EA36C7EA2001F14036C7E15076C6C
1652130F6C7E6C6C133DD8007E137990383F81F190380FFFC1903801FE0190C7FCAD4B7E92B5
165312F8A32D3A7DA730>I<3901F807E000FFEB1FF8EC787CECE1FE3807F9C100031381EA01
1654FB1401EC00FC01FF1330491300A35BB3A5487EB512FEA31F287EA724>I<90383FC06039
165501FFF8E03807C03F381F000F003E1307003C1303127C0078130112F81400A27E7E7E6D13
165600EA7FF8EBFFC06C13F86C13FE6C7F6C1480000114C0D8003F13E0010313F0EB001FEC0F
1657F800E01303A214017E1400A27E15F07E14016C14E06CEB03C0903880078039F3E01F0038
1658E0FFFC38C01FE01D2A7DA824>I<131CA6133CA4137CA213FCA2120112031207001FB512
1659C0B6FCA2D801FCC7FCB3A215E0A912009038FE01C0A2EB7F03013F138090381F8700EB07
1660FEEB01F81B397EB723>I<D801FC14FE00FF147FA3000714030003140100011400B3A515
166101A31503120015076DEB06FF017E010E13806D4913FC90381FC078903807FFE001009038
166280FE002E297DA733>I<B539E00FFFE0A32707FE000313006C48EB00FC5E00015D7F0000
16635DA26D13016D5CA26D6C485AA2ECC007011F91C7FCA290380FE00EA2ECF01E0107131CA2
16646D6C5AA2ECFC7801011370A2ECFEF001005BA2EC7FC0A36E5AA26EC8FCA3140E2B287EA6
166530>I<B53BC3FFFE03FFF8A3290FFE003FE00013C06C486D48EB3F806C4817006D010F14
16661E00016F131C15076D163C00004A6C1338A2017F5E4B7E151DD93F805DED3DFC1538D91F
1667C04A5AED78FE9238707E03D90FE0017F5BEDE03F02F0140701070387C7FC9138F1C01F02
1668F9148F010315CE9138FB800F02FF14DE6D15FCED00076D5DA24A1303027E5CA2027C1301
1669023C5C023813003D287EA642>I<B539F01FFFE0A30003D9C00F1300C690388007F8D97F
16700013E002805BD93FC05B011F49C7FC90380FE00EECF01E6D6C5A01035B6D6C5A6E5AEB00
1671FF6E5A6E5A81141F814A7E81147BECF1FC903801E1FEECC0FF01037F49486C7ED90F007F
1672011E6D7E013E130F496D7E01FC80486C80000F4A7EB539803FFFF8A32D277FA630>I<B5
167339E00FFFE0A32707FE000313006C48EB01FC6F5A00015D7F00005DA2017F495AA2EC8003
1674013F5CA26D6C48C7FCA26E5A010F130EA26D6C5AA2ECF83C01031338A26D6C5AA2ECFEF0
167501005BA2EC7FC0A36E5AA36EC8FCA2140EA2141E141C143C1438A2147800181370127EB4
16765BA2495AA248485AD87E07C9FCEA780EEA3C3CEA1FF8EA07E02B3A7EA630>I<001FB612
167780A2EBE0000180140049485A001E495A121C4A5A003C495A141F00385C4A5A147F5D4AC7
1678FCC6485AA2495A495A130F5C495A90393FC00380A2EB7F80EBFF005A5B48481307120749
16791400485A48485BA248485B4848137F00FF495A90B6FCA221277EA628>I<B812F0A22C02
168080982D>I<BE12C0A25A0280985B>I E
1681%EndDVIPSBitmapFont
1682%DVIPSBitmapFont: Fv cmmi7 7 2
1683/Fv 2 117 df<133EEA07FEA2EA007CA213FCA25BA21201A25BA2120314FCEBE3FF9038
1684EF0780D807FC13C0EBF00313E0A2EA0FC014071380A2121FEC0F801300A248EB1F00A200
16853E1406143E127EEC7C0C127C151800FCEB3C30157048EB1FE00070EB0F801F297CA727>
1686104 D<131C133EA25BA45BA4485AB512E0A23801F000485AA4485AA4485AA448C7FC1460
1687A214C0123EEB0180EB0300EA1E06EA1F1CEA0FF8EA03E013267EA419>116
1688D E
1689%EndDVIPSBitmapFont
1690%DVIPSBitmapFont: Fw cmr7 7 3
1691/Fw 3 54 df<13381378EA01F8121F12FE12E01200B3AB487EB512F8A215267BA521>49
1692D<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80A4127CC7FC15
1693005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA018039030003
16940012065A001FB5FC5A485BB5FCA219267DA521>I<0018130C001F137CEBFFF85C5C1480
1695D819FCC7FC0018C8FCA7137F3819FFE0381F81F0381E0078001C7F0018133EC7FC80A215
169680A21230127C12FCA3150012F00060133E127000305B001C5B380F03E03803FFC0C648C7
1697FC19277DA521>53 D E
1698%EndDVIPSBitmapFont
1699%DVIPSBitmapFont: Fx cmr10 10 62
1700/Fx 62 123 df<DA0FF813FC91397FFF07FF903B01F807DF83C0903A07E001FF0F903B1F
17018007FE1FE090393F000FFC137E16F85B9338F007804848010790C7FC1503ACB812F8A328
170201F80003F0C7FCB3AB486C497E267FFFE0B512F0A3333B7FBA30>11
1703D<EC0FFC91387FFF70903901F803F0903807E00790381F800FEB3F00137EA25B15074848
17041303ADB7FCA33901F80003B3AB486C497E267FFFE0B512C0A32A3B7FBA2E>13
1705D<001C131C007F137F39FF80FF80A26D13C0A3007F137F001C131C00001300A400011301
170601801380A20003130301001300485B00061306000E130E485B485B485B006013601A197D
1707B92A>34 D<146014E0EB01C0EB0380EB0700130E131E5B5BA25B485AA2485AA212075B12
17080F90C7FCA25A121EA2123EA35AA65AB2127CA67EA3121EA2121F7EA27F12077F1203A26C
17097EA26C7E1378A27F7F130E7FEB0380EB01C0EB00E01460135278BD20>40
1710D<12C07E12707E7E7E120F6C7E6C7EA26C7E6C7EA21378A2137C133C133E131EA2131F7F
1711A21480A3EB07C0A6EB03E0B2EB07C0A6EB0F80A31400A25B131EA2133E133C137C1378A2
17125BA2485A485AA2485A48C7FC120E5A5A5A5A5A13527CBD20>I<15301578B3A6007FB812
1713F8B912FCA26C17F8C80078C8FCB3A6153036367BAF41>43 D<121C127FEAFF80A213C0A3
1714127F121C1200A412011380A2120313005A1206120E5A5A5A12600A19798817>I<EB03F8
1715EB1FFF90387E0FC09038F803E03901E000F0484813780007147C48487FA248C77EA24815
171680A3007EEC0FC0A600FE15E0B3007E15C0A4007F141F6C1580A36C15006D5B000F143EA2
17176C6C5B6C6C5B6C6C485A6C6C485A90387E0FC0D91FFFC7FCEB03F8233A7DB72A>48
1718D<EB01C013031307131F13FFB5FCA2131F1200B3B3A8497E007FB512F0A31C3879B72A>
1719I<EB0FF0EB7FFE48B57E3903E03FE0390F000FF0000E6D7E486D7E486D7E123000706D7E
1720126012FCB4EC7F807FA56CC7FC121CC8FCEDFF00A34A5A5D14035D4A5A5D140F4A5A4A5A
172192C7FC147C5C495A495A495A495A91C8FC011EEB01805B5B49130348481400485A485A00
17220EC75A000FB6FC5A5A485CB6FCA321387CB72A>I<EB07F8EB3FFF4913C03901F80FF039
172303C007F848486C7E380E0001000F80381FE0006D7FA56C5A6C5AC85A1401A25D4A5AA24A
17245A5DEC0F80027EC7FCEB1FFCECFF809038000FE06E7EEC01FC816E7EED7F80A216C0A215
17253F16E0A2121EEA7F80487EA416C049137F007F1580007EC7FC0070ECFF006C495A121E39
17260F8003F83907F00FF00001B512C06C6C90C7FCEB0FF8233A7DB72A>I<1538A2157815F8
1727A2140114031407A2140F141F141B14331473146314C313011483EB030313071306130C13
17281C131813301370136013C01201EA038013005A120E120C5A123812305A12E0B712F8A3C7
17293803F800AB4A7E0103B512F8A325397EB82A>I<0006140CD80780133C9038F003F890B5
1730FC5D5D158092C7FC14FC38067FE090C9FCABEB07F8EB3FFE9038780F803907E007E09038
17318003F0496C7E12066E7EC87EA28181A21680A4123E127F487EA490C71300485C12E00060
17325C12700030495A00385C6C1303001E495A6C6C485A3907E03F800001B5C7FC38007FFCEB
17331FE0213A7CB72A>I<EC3FC0903801FFF0010713FC90380FE03E90383F800790387E001F
173449EB3F804848137F485AA2485A000FEC3F0049131E001F91C7FCA2485AA3127F90C9FCEB
173501FC903807FF8039FF1E07E090383801F0496C7E01607F01E0137E497FA249148016C015
17361FA290C713E0A57EA56C7E16C0A2121FED3F807F000F15006C6C5B15FE6C6C5B6C6C485A
17373900FE07F090383FFFC06D90C7FCEB03FC233A7DB72A>I<12301238123E003FB612E0A3
173816C05A168016000070C712060060140E5D151800E01438485C5D5DC712014A5A92C7FC5C
1739140E140C141C5CA25CA214F0495AA21303A25C1307A2130FA3495AA3133FA5137FA96DC8
1740FC131E233B7BB82A>I<EB03F8EB1FFF017F13C09038FC07F03901E001F848486C7E4848
1741137C90C77E48141E000E141F001E80A3121FA27F5D01E0131E6C6C133E01FC133C6D5B6C
17426C6C5AECC1E06CEBF3C06C01FFC7FC6C5BEB3FFF6D13C081017F13F801F07F3903E07FFE
17433907801FFF48486C1380481303003E6D13C0003CEB007F007C143F0078EC0FE000F81407
17445A1503A21501A36C15C012781503007C15806CEC07006C5C6C6C131ED807E0137C3903F8
174503F0C6B55A013F1380D907FCC7FC233A7DB72A>I<EB03F8EB1FFF017F13C09038FC07E0
17463903F803F048486C7E48486C7E49137E121F48487FA2007F158090C7FCA248EC1FC0A616
1747E0A56C143FA27F123F001F147FA26C6C13FF3907E001DF0003149F3801F0033900FC0F1F
1748D93FFC13C0EB07F090C7FC153F1680A316005D000F147E487E486C5BA24A5A4A5A49485A
17496C48485A001C495A260F807FC7FC3807FFFC000113F038003FC0233A7DB72A>I<007FB8
175012F8B912FCA26C17F8CCFCAE007FB812F8B912FCA26C17F836167B9F41>61
1751D<1538A3157CA315FEA34A7EA34A6C7EA202077FEC063FA2020E7FEC0C1FA2021C7FEC18
17520FA202387FEC3007A202707FEC6003A202C07F1501A2D901807F81A249C77F167FA20106
1753810107B6FCA24981010CC7121FA2496E7EA3496E7EA3496E7EA213E0707E1201486C81D8
17540FFC02071380B56C90B512FEA3373C7DBB3E>65 D<B712E016FC16FF0001903980007FC0
17556C90C7EA1FE0707E707E707EA2707EA283A75F16035F4C5A4C5A4C5A4C5AEEFF8091B500
1756FCC7FCA291C7EA7F80EE1FE0EE07F0707E707E83707EA21880177F18C0A7188017FFA24C
175713005F16034C5AEE1FF8486DEB7FF0B812C094C7FC16F832397DB83B>I<913A01FF8001
175880020FEBE003027F13F8903A01FF807E07903A03FC000F0FD90FF0EB039F4948EB01DFD9
17593F80EB00FF49C8127F01FE153F12014848151F4848150FA248481507A2485A1703123F5B
1760007F1601A35B00FF93C7FCAD127F6DED0180A3123F7F001F160318006C7E5F6C7E17066C
17616C150E6C6C5D00001618017F15386D6C5CD91FE05C6D6CEB03C0D903FCEB0F80902701FF
1762803FC7FC9039007FFFFC020F13F002011380313D7BBA3C>I<B712C016F816FE00019039
17638001FF806C90C7EA3FE0EE0FF0EE03F8707E707E177FA2EF3F8018C0171F18E0170F18F0
1764A3EF07F8A418FCAC18F8A4EF0FF0A218E0A2171F18C0EF3F80A2EF7F0017FE4C5A4C5AEE
17650FF0EE3FE0486DEBFF80B8C7FC16F816C036397DB83F>I<B812FCA30001903880000F6C
176690C71201EE007E173E171E170EA31706A317078316C0A394C7FCA31501A21503150F91B5
1767FCA3EC000F15031501A21500A21860A318E093C712C0A41701A3EF0380A21707A2170F17
17683F177F486D903807FF00B9FCA333397DB839>I<B812F8A30001903880001F6C90C71201
1769EE00FC177C173C171CA2170CA4170E1706A2ED0180A21700A41503A21507151F91B5FCA3
1770EC001F15071503A21501A692C8FCAD4813C0B612C0A32F397DB836>I<B612C0A3C6EBC0
1771006D5AB3B3AD497EB612C0A31A397EB81E>73 D<B649B5FCA3000101809038007FF06C90
1772C8EA3F80053EC7FC173C17385F5F4C5A4C5A4CC8FC160E5E5E5E5E4B5AED0780030EC9FC
17735D153E157E15FF5C4A7F4A6C7E140E4A6C7E4A6C7E14704A6C7E4A6C7E14804A6C7E6F7E
1774A26F7F707EA2707E707EA2707EA2707E707EA2707E707F8484486D497FB6011FEBFF80A3
177539397DB841>75 D<B612E0A3000101C0C8FC6C90C9FCB3AD1718A517381730A31770A317
1776F0A216011603160FEE1FE0486D13FFB8FCA32D397DB834>I<B5933807FFF86E5DA20001
1777F0FC002600DFC0ED1BF8A2D9CFE01533A3D9C7F01563A3D9C3F815C3A2D9C1FCEC0183A3
1778D9C0FEEC0303A2027F1406A36E6C130CA36E6C1318A26E6C1330A36E6C1360A26E6C13C0
1779A3913901FC0180A3913900FE0300A2ED7F06A3ED3F8CA2ED1FD8A3ED0FF0A3486C6D5A48
17807ED80FFC6D48497EB500C00203B512F8A2ED018045397DB84C>I<B5913807FFFE8080C6
17819238007FE06EEC1F80D9DFF0EC0F001706EBCFF8EBC7FCA2EBC3FEEBC1FFA201C07F6E7E
1782A26E7E6E7E81140F6E7E8114036E7E168080ED7FC016E0153FED1FF0ED0FF8A2ED07FCED
178303FEA2ED01FF6F1386A2EE7FC6EE3FE6A2EE1FF6EE0FFEA216071603A216011600A2177E
1784486C153E487ED80FFC151EB500C0140EA2170637397DB83E>I<EC03FF021F13E09138FE
178501FC903901F8007ED907E0EB1F8049486D7ED93F80EB07F049C76C7E01FE6E7E48486E7E
178649157E0003167F4848ED3F80A24848ED1FC0A2001F17E049150F003F17F0A3007F17F849
17871507A300FF17FCAC007F17F86D150FA3003F17F0A26C6CED1FE0A36C6CED3FC000071780
17886D157F000317006C6C15FEA26C6C4A5A017F4A5A6D6C495A6D6C495AD907E0EB1F80D903
1789F8017FC7FC903900FE01FC91381FFFE0020390C8FC363D7BBA41>I<B712C016F816FE00
17900190398001FF806C90C7EA3FC0EE0FE0EE07F0EE03F817FC17FE1601A217FFA717FEA2EE
179103FCA2EE07F817F0EE0FE0EE3FC0923801FF0091B512FC16F091C9FCB3A5487FB6FCA330
1792397DB839>I<B612FEEDFFE016F8000190388007FE6C90C76C7EEE3FC0707E707E707EA2
1793707EA283A65FA24C5AA24C5A4C5AEE3F8004FFC8FCED07FC91B512E05E9138000FF0ED03
1794F8ED00FE82707E707EA2161F83A583A6F00180A217F8160F1803486D01071400B66D6C5A
179504011306933800FE0ECAEA3FFCEF07F0393B7DB83D>82 D<D90FF813C090383FFE0190B5
179612813903F807E33907E000F74848137F4848133F48C7121F003E140F007E1407A2007C14
17970312FC1501A36C1400A37E6D14006C7E7F13F86CB47E6C13F8ECFF806C14E06C14F86C14
1798FEC680013F1480010714C0EB007F020713E0EC007FED3FF0151F150FED07F8A200C01403
1799A21501A37EA216F07E15036C15E06C14076C15C06C140F6DEB1F80D8FBF0EB3F00D8F0FE
180013FE39E03FFFF8010F13E0D8C00190C7FC253D7CBA2E>I<003FB812E0A3D9C003EB001F
1801273E0001FE130348EE01F00078160000701770A300601730A400E01738481718A4C71600
1802B3B0913807FF80011FB612E0A335397DB83C>I<B6903807FFFEA3000101809038007FE0
18036C90C8EA1F80EF0F001706B3B2170E6D150C80171C133F17186D6C14385F6D6C14F06D6C
18045C6D6C495A6D6CEB07806D6C49C7FC91387F807E91381FFFF8020713E09138007F80373B
18057DB83E>I<B500FC91387FFF80A30003018091380FFC006C90C8EA07E0715A6C705A6E14
180603017F93C7FCA280013F1506A26E140E011F150C80010F5DA28001075DA26E1470010315
180760A26D6C5CA2806D4A5AA2ED8003027F91C8FCA291383FC006A215E0021F5BA2EDF01C02
18080F1318A26E6C5AA215FC02035BA2EDFEE002015BA26E6C5AA36FC9FCA3153EA2151CA339
18093B7EB83E>I<B500FE91383FFFE0A3000301E0913807FE00C649EC03F0017F6F5A606D6C
18105D6D6C140395C7FC6D6C1406A26D6C5C6D6C141C17186D6C143817306D6D5B6E6C13E05F
181191383FE0015F91381FF003DA0FF890C8FC1606913807FC0E160C913803FE1C913801FF18
18125E6E13B016E0157F6F5AB3A24B7E023FB512C0A33B397FB83E>89
1813D<3901800180000313033907000700000E130E485B001813180038133800301330007013
18147000601360A200E013E0485BA400CE13CE39FF80FF806D13C0A3007F137FA2393F803F80
1815390E000E001A1974B92A>92 D<EB1FE0EBFFFC3803E03F3907000F80390F8007E0486C6C
18167E13E06E7EA26E7E6C5A6C5AC8FCA4147FEB07FFEB3FE0EBFE00EA03F8EA0FF0EA1FC012
18173F485A90C7FC160C12FEA31401A26C13036CEB077C903980063E18383FC01E3A0FE0781F
1818F03A03FFF00FE03A007F8007C026277DA52A>97 D<EA03F012FFA3120F1203B0EC1FE0EC
18197FF89038F1E03E9039F3801F809039F7000FC001FEEB07E049EB03F049EB01F85BED00FC
1820A216FEA2167E167FAA167E16FEA216FC15016D14F8ED03F07F01EEEB07E001C6EB0FC090
182139C7801F00903881E07E903800FFF8C7EA1FC0283B7EB92E>I<EB03FC90381FFF809038
18227E03E03901F80070484813F83907E001FC380FC003A2EA1F80123F90380001F848EB00F0
18231500A2127E12FEAA127E127FA26C14067F001F140E6D130C000F141C6C6C13386C6C1370
18246C6C13E039007C07C090381FFF00EB07F81F277DA525>I<ED0FC0EC03FFA3EC003F150F
1825B0EB03F8EB1FFF90387E078F9038F801EF3903F0007F4848133F4848131FA24848130F12
18263F90C7FC5AA2127E12FEAA127E127FA27EA26C6C131FA26C6C133F6C6C137F6C6CEBEFF0
18273A01F801CFFF39007C078F90381FFE0FD907F813C0283B7DB92E>I<EB07F8EB1FFF9038
18287C0FC03901F803E03903F001F0D807E013F8380FC0004848137CA248C7127E153E5A153F
1829127E12FEA3B7FCA248C8FCA5127EA2127FA26C14037F001F14076C6C13060007140E6D13
18301CD801F013386C6C137090387E03E090381FFF80903803FC0020277EA525>I<147E9038
183103FF8090380FC1E0EB1F8790383F0FF0137EA213FCA23901F803C091C7FCADB512FCA3D8
183201F8C7FCB3AB487E387FFFF8A31C3B7FBA19>I<ED03F090390FF00FF890393FFC3C3C90
183339F81F707C3901F00FE03903E007C03A07C003E010000FECF000A248486C7EA86C6C485A
1834A200075C6C6C485A6D485A6D48C7FC38073FFC38060FF0000EC9FCA4120FA213C06CB512
1835C015F86C14FE6CECFF804815C03A0F80007FE048C7EA0FF0003E140348140116F8481400
1836A56C1401007C15F06CEC03E0003F1407D80F80EB0F80D807E0EB3F003901FC01FC39007F
1837FFF0010790C7FC26387EA52A>I<EA03F012FFA3120F1203B0EC0FF0EC3FFCECF03F9039
1838F1C01F809039F3800FC0EBF70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A329
18393A7EB92E>I<EA0380EA0FE0487EA56C5AEA0380C8FCAAEA03F012FFA312071203B3AA48
18407EB512C0A312387EB717>I<EA03F012FFA3120F1203B1913801FFFCA39138007FC01600
1841157C15705D4A5A4A5A4AC7FC141E1438147814FC13F1EBF3FEEBF73F01FE7FEBF81F496C
18427E8114076E7E6E7E811400157E157F811680ED1FC0486CEB3FF0B500C0B5FCA3283A7EB9
18432C>107 D<EA03F012FFA3120F1203B3B3AD487EB512C0A3123A7EB917>I<2703F00FF0EB
18441FE000FFD93FFCEB7FF8913AF03F01E07E903BF1C01F83803F3D0FF3800FC7001F802603
1845F70013CE01FE14DC49D907F8EB0FC0A2495CA3495CB3A3486C496CEB1FE0B500C1B50083
1846B5FCA340257EA445>I<3903F00FF000FFEB3FFCECF03F9039F1C01F803A0FF3800FC038
184703F70013FE496D7EA25BA35BB3A3486C497EB500C1B51280A329257EA42E>I<EB03FE90
1848380FFF8090383E03E09038F800F84848137C48487F48487F4848EB0F80001F15C090C712
1849074815E0A2007EEC03F0A400FE15F8A9007E15F0A2007F14076C15E0A26C6CEB0FC0000F
185015806D131F6C6CEB3F006C6C137EC66C13F890387E03F090381FFFC0D903FEC7FC25277E
1851A52A>I<3903F01FE000FFEB7FF89038F1E07E9039F3801F803A0FF7000FC0D803FEEB07
1852E049EB03F04914F849130116FC150016FEA3167FAA16FEA3ED01FCA26DEB03F816F06D13
1853076DEB0FE001F614C09039F7803F009038F1E07E9038F0FFF8EC1FC091C8FCAB487EB512
1854C0A328357EA42E>I<3807E01F00FFEB7FC09038E1E3E09038E387F0380FE707EA03E613
1855EE9038EC03E09038FC0080491300A45BB3A2487EB512F0A31C257EA421>114
1856D<EBFF03000313E7380F80FF381E003F487F487F00707F12F0A2807EA27EB490C7FCEA7F
1857E013FF6C13E06C13F86C7F00037FC67F01071380EB007F141F00C0EB0FC01407A26C1303
1858A37E15806C13077EEC0F00B4131E38F3C07C38E1FFF038C03F801A277DA521>I<1318A5
18591338A31378A313F8120112031207001FB5FCB6FCA2D801F8C7FCB215C0A93800FC011580
1860EB7C03017E13006D5AEB0FFEEB01F81A347FB220>I<D803F0EB07E000FFEB01FFA3000F
1861EB001F00031407B3A4150FA3151F12016D133F0000EC77F86D9038E7FF8090383F03C790
1862381FFF87903A03FC07E00029267EA42E>I<B538803FFEA33A0FF8000FF06C48EB07E000
186303EC03C06D148000011500A26C6C1306A26D130E017E130CA26D5BA2EC8038011F1330A2
18646D6C5AA214E001075BA2903803F180A3D901FBC7FCA214FF6D5AA2147CA31438A227257E
1865A32C>I<B53A1FFFE03FFEA3260FF8009038000FF86C48017EEB03E018C00003023EEB01
186680A26C6C013FEB0300A36C6CEC8006156FA2017E9038EFC00C15C7A2D93F016D5A158302
186781EBF038D91F831430150102C3EBF87090260FC6001360A2D907E66D5A02EC137CA2D903
1868FCEB7F804A133FA2010192C7FC4A7FA20100141E4A130E0260130C37257EA33C>I<B538
1869807FFFA33A03FE003FF00001EC1F80000092C7FC017E131C6D13186D6C5AECC070010F5B
18706D6C5AECF180EB03FB6DB4C8FC6D5AA2147F804A7E8114CF903801C7E090380383F09038
18710703F8EB0601496C7E011C137E49137F01787F496D7E486C80000FEC3FF0D8FFFE90B512
187280A329247FA32C>I<B538803FFEA33A0FF8000FF06C48EB07C00003EC03806C7E16007F
187300001406A2017E5BA2137F6D5BA26D6C5AA2ECC070010F1360A26D6C5AA214F101035BA2
1874D901FBC7FCA214FF6D5AA2147CA31438A21430A214701460A25CA2EA7C0100FE5B130391
1875C8FC1306EAFC0EEA701C6C5AEA1FF0EA0FC027357EA32C>I<003FB512FCA2EB8003D83E
18760013F8003CEB07F00038EB0FE012300070EB1FC0EC3F800060137F150014FE495AA2C648
18775A495AA2495A495A495AA290387F000613FEA2485A485A0007140E5B4848130C4848131C
1878A24848133C48C7127C48EB03FC90B5FCA21F247EA325>I E
1879%EndDVIPSBitmapFont
1880%DVIPSBitmapFont: Fy cmsy10 12 2
1881/Fy 2 14 df<147014F8A81470007815F0007C1401B4EC07F8D87F80EB0FF0D83FE0EB3F
1882E0D80FF0EB7F80D803F8EBFE003900FE73F890383F77E090380FFF80D903FEC7FCEB00F8
1883EB03FE90380FFF8090383F77E09038FE73F83903F870FED80FF0EB7F80D83FE0EB3FE0D8
18847F80EB0FF0D8FF00EB07F8007CEC01F000781400C7140014F8A81470252B7AAD32>3
1885D<933803FFE0047F13FF0303B612E0030F15F8923A7FFE003FFFDBFFC001017FDA03FEC8
1886EA3FE0DA0FF8ED0FF8DA1FC0ED01FC4A486F7E02FECAEA3F804948717ED903F0EF07E049
188748717E4948717E4948717E49CC127E017E85017C8549737E0001874919074848737EA248
188848737E000F8749190090CE1278481B7CA2003E87A2003C1B1EA2007C1B1FA2007887A200
1889F81C80A2481B07AC6C1B0FA200781C00A2007C63A2003C1B1EA2003E1B3EA26C63A26C1B
1890786D1AF86D19010007636C6C4F5AA26C6C4F5A6D190F000063017C4FC7FC017E616D197E
18916D6C606D6C4D5A6D6C4D5A6D6C4D5AD901FCEF1FC06D6C4D5ADA3F8004FEC8FC6E6C4B5A
1892DA0FF8ED0FF8DA03FEED3FE0912600FFC0903801FF80DB7FFE013F90C9FC030FB612F803
18930315E0DB007F91CAFC040313E0595C7BC664>13 D E
1894%EndDVIPSBitmapFont
1895%DVIPSBitmapFont: Fz cmr17 17.28 17
1896/Fz 17 118 df<4AB4FC021F13F0027F13FC903901FF01FF903A03F8003F80D90FE0EB0F
1897E049486D7E49486D7E49C76C7E017E140049157E0001167F49810003178049151F000717
1898C049150F000F17E0A3001F17F0491507A2003F17F8A54848ED03FCA700FF17FEB3A8007F
189917FCA56D1507A3003F17F8A4001F17F06D150FA2000F17E0A36C6CED1FC0A2000317806D
1900153F000117006D5D6C6C15FE017E5D017F14016D6C495A6D6C495A6D6C495AD903F8EB3F
1901806DB448B4C7FC9039007FFFFC021F13F0020190C8FC37607BDD42>48
1902D<EC0FFE91387FFFE00103B512F8010F14FE903A1FE00FFF8090263E000113E001FC6D6C
19037ED801F06E7E4848EC0FFC496E7E48486E7E48C81480000E81001E6F13C0121C003CEE7F
1904E012380078EE3FF01270A3B46CED1FF813E0A27FA66C5A6C5A0006C913F0CA123FA318E0
1905177FA2EFFFC0A218805E18004C5A16075F4C5A5F161F4C5A4C5A5F4CC7FC4B5A4B5A5E4B
19065A4B5A4B5A4B5A4BC8FC157E5D4A5A4A5A4A5A4A5A4A5A4AC9FC143E4A15385C495A495A
190749481570495A49C9FC131E5B4916F05B484816E0484815014848150348B8FCA25A5A5AB9
190812C0A4355E7ADD42>50 D<120FEA3FC0EA7FE0EAFFF0A6EA7FE0EA3FC0EA0F00C7FCB3B3
1909A2120FEA3FC0EA7FE0EAFFF0A6EA7FE0EA3FC0EA0F000C3E74BD24>58
1910D<170FA34D7EA24D7EA34D7EA34D7EA34C7F17DFA29338039FFC178FA29338070FFE1707
1911040F7FEE0E03A2041E80EE1C01A2043C80EE3800A24C80187FA24C80183FA24B4880181F
19120303814C130FA203078193C71207A24B81030E80A24B8284A24B8284A24B82197F03F082
19134B153FA20201834B151FA202038392B8FCA24A83A292C91207020E8385A24A8485023C84
1914023882A20278840270177FA202F0844A173FA24948841A1FA24948841A0FA249CB7F1A07
19154985865B496C85497E48486C4D7F000F01F8051F13F0B60407B612F0A45C657DE463>65
1916D<B712C0A4C66CEB8000D91FFEC7FC6D5AB3B3B3B3AE497E90387FFF80B712C0A422627A
1917E12F>73 D<B500FC071FB51280A36E61C6F58000013F51C7FCD91DFFF177FCA2011C6D18
1918E7A36E6CEF01C7A36E6CEF0387A36E6CEF0707A26E6C170EA36E6C171CA36E6C1738A36E
19196C1770A26E6D16E0A36F6CED01C0A36F6CED0380A36F6CED0700A26F6C150EA36F6C5DA3
19206F6C5DA36F6C5DA26F6D5CA3706C495AA3706C495AA3706C49C7FCA2706C130EA3706C5B
1921A3706C5BA3706C5BA3706D5AA294387FC1C0A394383FE380A3DD1FF7C8FCA3EF0FFEA201
19223E6F5AA2137F715A2601FFC04F7E000701F896383FFF80B66C6D48023FB61280A3715A69
19236278E17A>77 D<B912C018FEF0FFC019F0C601FCC813FCD93FF8ED0FFF011F04037F0600
19247FF13FF0737E737E1907737E86731380A27313C0A31BE01A7FA21BF0A91BE0A21AFF1BC0
1925A34F13801B00614F5A624F5A4F5AF17FE04F5A060390C7FCF01FFE943801FFF891B812E0
192696C8FC18F802F8CCFCB3B3A4497E90B5FCB7FCA44C6279E15A>80
1927D<B812FCEFFFE018FCF0FF80C601FCC7000F13E0D93FF89138007FF8011FEE1FFCF007FF
192806017F727FF13FE0737E86737E737EA2868587A28587A96361A298C8FC6162624F5A191F
19294F5A4F5AF1FF804E90C9FCF007FEF01FF8F0FFE0050F138091B700FCCAFC18E08402F8C7
1930EA1FFE943801FF80716C7EF03FF0727EF007FC727E85727F8486737EA3737EAA86AA1DE0
193186191FA3070F14017414C007071403496C8390B570EC0780B76F9038800F00736D5A9738
19323FF03E97380FFFFCCD000313F09738003FC05B6479E162>82 D<DA07FF1403023F01F05B
193349B512FC010702FF5B90260FFC0013C0D93FE090380FF01FD97F80EB03F801FEC86C5A48
193448157E4848ED1F7F48486F5A4848815B001F824981003F8290CAFC4883A2007E83A212FE
193584A384A27EA36D82A26C7EA26D93C7FC6C7E7F7F6C7E6D7E6C13E06C13FCECFFC06C14F8
19366CECFF806C15F86DECFF80011F15E06D15F8010315FE01006F7E021F81020181DA003F80
1937030380DB003F7F04037FEE007FEF1FFF71138017037113C083A2F07FE0183FA2181F00E0
193818F0180FA41807A27EA47E19E0180F7E19C07E6C171F19806D163F6D17006D5E6D16FE48
19396C5E6D4B5AD8FC7F1503D91F80EC0FF026F80FE04A5AD907FCEC7F8029F001FFE003FFC7
1940FC6D6CB512FC48011F14F0020314C0489026001FFEC8FC3C667AE349>I<EC3FF0903803
1941FFFE010F6D7E90393FC03FE090397E0007F801F86D7ED801E06D7E48486D7E48486E7E48
1942C86C7E7F01F06E7E487E6D6E7EA3707EA36C5AEA03E0C9FCA6167FED7FFF020FB5FC9138
19437FF807903801FF80903807FC00EB1FF0EB7FC0495AD803FEC7FC485A120F5B485A485AA2
1944484817E0A312FF5BA2160FA3161F6D141B007F153B16736D913971FC01C06C6C14E1001F
1945EC01C1D80FFC903A0780FE03806C6C903A0F00FF07002701FF807E6DB4FC27007FFFF86D
19465A011F01E0EB1FF8010190C7EA07E03B417ABF42>97 D<133C13FF487F487FA66C5B6C90
1947C7FC133C90C8FCB3A2EB03C0EA07FF127FA41201EA007FA2133FB3B3AC497E497EB612E0
1948A41B5F7DDE23>105 D<EB03C0EA07FFB5FCA41201EA007FA2133FB3B3B3B3AD497E497E
1949B612F0A41C647DE323>108 D<D903C0D9FFC0EC07FED807FF010301F891381FFFC0B501
19500F01FE027F13F0923D3F00FF8001F807FC0378903B3FC003C001FEDAC1E090261FE00FC7
19517E0001D9C3C090260FF01E6E7ED8007F49902607F81C6E7E02C7C75CD93FCE6E6C486E7E
195202CC166002DC16E002D85E02F8DA01FF6F7E4A5EA24A93C8FCA44A5DB3B3496C4A6C4B7E
1953496C4A6D4A7EB6D8F007B6D8803FB512FCA4663F7CBE6F>I<EDFF80020F13F8023F13FE
19549139FF007F80D903FCEB1FE0D907F0EB07F0D90FC0EB01F8D93F80EB00FE49C8127F017E
195581496F7E48486F7E00038349150700078348486F7EA2001F83491501A2003F83A348486F
19567EA400FF1880AC007F1800A26D5DA2003F5FA36C6C4B5AA36C6C4B5A00075FA26C6C4B5A
19576C6C4B5AA26C6C4B5A017F4BC7FC6D6C14FE6D6C495AD90FF0EB07F8D903FCEB1FE0D900
1958FFEB7F806EB5C8FC020F13F8020113C039417CBF42>111 D<9039078003F8D807FFEB0F
1959FFB5013F13C092387C0FE0913881F01F9238E03FF00001EB838039007F8700148FEB3F8E
1960029CEB1FE0EE0FC00298EB030002B890C7FCA214B014F0A25CA55CB3B0497EEBFFF8B612
1961FCA42C3F7CBE33>114 D<1438A71478A414F8A31301A31303A21307130F131FA2137F13
1962FF1203000F90B6FCB8FCA3260007F8C8FCB3AE17E0AE6D6CEB01C0A316036D6C14801607
19636D6C14006E6C5A91383FC01E91381FF07C6EB45A020313E09138007F802B597FD733>
1964116 D<D903C0150FD807FFED1FFFB50203B5FCA40001ED0007D8007F1501A2013F81B3B2
19655FA35FA35F011F15066E140E5F130F6E4A7F01075D6D6C494813E0D901FE4948EBFFC090
19663A00FFC01F8091393FFFFE00020F13F8020001C0EC800042407DBE49>I
1967E
1968%EndDVIPSBitmapFont
1969end
1970%%EndProlog
1971%%BeginSetup
1972%%Feature: *Resolution 600dpi
1973TeXDict begin
1974%%PaperSize: A4
1975
1976%%EndSetup
1977%%Page: 1 1
19781 0 bop 887 463 a Fz(SPIM)44 b(S20:)58 b(A)44 b(MIPS)f(R2000)f(Sim)l
1979(ulator)3041 411 y Fy(\003)1183 646 y Fx(\\)1251 613
1980y Fw(1)p 1234 627 67 4 v 1234 674 a(25)1311 596 y Fv(th)1406
1981646 y Fx(the)28 b(p)r(erformance)f(at)g(none)h(of)f(the)h(cost")1654
1982898 y Fu(James)j(R.)f(Larus)1616 1014 y(larus@cs.wisc.edu)1335
19831131 y(Computer)g(Sciences)g(Departmen)m(t)1302 1247
1984y(Univ)m(ersit)m(y)g(of)g(Wisconsin{Madison)1465 1363
1985y(1210)i(W)-8 b(est)32 b(Da)m(yton)g(Street)1456 1479
1986y(Madison,)e(WI)g(53706,)j(USA)1707 1596 y(608-262-9519)1050
19871799 y Ft(Cop)m(yrigh)m(t)1536 1796 y(c)1508 1799 y Fy(\015)o
1988Ft(1990{1997)e(b)m(y)i(James)g(R.)f(Larus)913 1915 y(\(This)h(do)s
1989(cumen)m(t)g(ma)m(y)f(b)s(e)h(copied)f(without)g(ro)m(y)m(alties,)971
19902028 y(so)h(long)e(as)i(this)f(cop)m(yrigh)m(t)h(notice)f(remains)g(on)
1991g(it.\))75 2550 y Fs(1)135 b(SPIM)75 2753 y Fu(SPIM)40
1992b(S20)h(is)e(a)i(sim)m(ulator)f(that)h(runs)e(programs)h(for)g(the)h
1993(MIPS)f(R2000/R3000)k(RISC)39 b(computers.)3815 2720
1994y Fr(1)75 2866 y Fu(SPIM)f(can)h(read)f(and)g(immediately)f(execute)j
1995(\014les)e(con)m(taining)g(assem)m(bly)g(language.)66
1996b(SPIM)38 b(is)f(a)i(self-)75 2979 y(con)m(tained)e(system)g(for)g
1997(running)d(these)j(programs)g(and)f(con)m(tains)h(a)h(debugger)e(and)h
1998(in)m(terface)g(to)h(a)f(few)75 3092 y(op)s(erating)30
1999b(system)g(services.)216 3205 y(The)e(arc)m(hitecture)h(of)g(the)g
2000(MIPS)e(computers)i(is)e(simple)g(and)h(regular,)g(whic)m(h)f(mak)m(es)
2001i(it)f(easy)i(to)f(learn)75 3318 y(and)e(understand.)39
2002b(The)27 b(pro)s(cessor)h(con)m(tains)g(32)h(general-purp)s(ose)e
2003(32-bit)h(registers)g(and)f(a)i(w)m(ell-designed)75 3431
2004y(instruction)f(set)j(that)g(mak)m(e)h(it)e(a)g(propitious)e(target)k
2005(for)e(generating)h(co)s(de)g(in)e(a)i(compiler.)216
20063544 y(Ho)m(w)m(ev)m(er,)g(the)c(ob)m(vious)g(question)g(is:)38
2007b(wh)m(y)28 b(use)f(a)h(sim)m(ulator)e(when)h(man)m(y)g(p)s(eople)g(ha)
2008m(v)m(e)i(w)m(orkstations)75 3657 y(that)i(con)m(tain)g(a)g(hardw)m
2009(are,)g(and)f(hence)h(signi\014can)m(tly)e(faster,)i(implemen)m(tation)
2010f(of)g(this)g(computer?)41 b(One)75 3770 y(reason)32
2011b(is)f(that)h(these)g(w)m(orkstations)g(are)g(not)g(generally)f(a)m(v)
2012-5 b(ailable.)45 b(Another)31 b(reason)h(is)f(that)h(these)g(ma-)75
20133882 y(c)m(hine)k(will)e(not)j(p)s(ersist)f(for)g(man)m(y)h(y)m(ears)h
2014(b)s(ecause)e(of)h(the)g(rapid)e(progress)i(leading)e(to)j(new)e(and)h
2015(faster)75 3995 y(computers.)47 b(Unfortunately)-8 b(,)34
2016b(the)e(trend)g(is)g(to)i(mak)m(e)f(computers)g(faster)g(b)m(y)f
2017(executing)h(sev)m(eral)g(instruc-)75 4108 y(tions)k(concurren)m(tly)-8
2018b(,)39 b(whic)m(h)c(mak)m(es)j(their)f(arc)m(hitecture)h(more)f
2019(di\016cult)e(to)j(understand)d(and)i(program.)75 4221
2020y(The)30 b(MIPS)g(arc)m(hitecture)h(ma)m(y)g(b)s(e)e(the)i(epitome)f
2021(of)h(a)g(simple,)d(clean)j(RISC)e(mac)m(hine.)216 4334
2022y(In)e(addition,)f(sim)m(ulators)g(can)i(pro)m(vide)e(a)i(b)s(etter)g
2023(en)m(vironmen)m(t)f(for)g(lo)m(w-lev)m(el)g(programming)f(than)h(an)75
20244447 y(actual)33 b(mac)m(hine)g(b)s(ecause)g(they)f(can)i(detect)g
2025(more)f(errors)f(and)g(pro)m(vide)g(more)h(features)g(than)g(an)g
2026(actual)75 4560 y(computer.)40 b(F)-8 b(or)29 b(example,)g(SPIM)f(has)g
2027(a)g(X-windo)m(w)g(in)m(terface)h(that)g(is)e(b)s(etter)h(than)g(most)h
2028(debuggers)f(for)75 4673 y(the)j(actual)f(mac)m(hines.)p
202975 4734 1512 4 v 177 4788 a Fq(\003)213 4820 y Fp(I)20
2030b(grateful)h(to)g(the)f(man)n(y)e(studen)n(ts)i(at)g(UW)g(who)g(used)g
2031(SPIM)g(in)g(their)g(courses)h(and)f(happily)g(found)g(bugs)g(in)g(a)h
2032(professor's)75 4911 y(co)r(de.)32 b(In)18 b(particular,)i(the)e
2033(studen)n(ts)f(in)h(CS536,)j(Spring)c(1990,)22 b(painfully)c(found)g
2034(the)f(last)i(few)g(bugs)f(in)f(an)h(\\already-debugged")75
20355002 y(sim)n(ulator.)35 b(I)25 b(am)g(grateful)i(for)f(their)g
2036(patience)g(and)f(p)r(ersistence.)36 b(Alan)25 b(Y)-6
2037b(uen-wui)25 b(Sio)n(w)h(wrote)g(the)g(X-windo)n(w)f(in)n(terface.)179
20385062 y Fo(1)213 5094 y Fp(F)-6 b(or)26 b(a)g(description)g(of)h(the)e
2039(real)i(mac)n(hines,)e(see)h(Gerry)g(Kane)g(and)f(Jo)r(e)i(Heinric)n
2040(h,)e Fn(MIPS)i(RISC)g(A)n(r)l(chite)l(ctur)l(e,)i Fp(Pren)n(tice)75
20415185 y(Hall,)e(1992.)1942 5656 y Fu(1)p eop
2042%%Page: 2 2
20432 1 bop 216 99 a Fu(Finally)-8 b(,)30 b(sim)m(ulators)f(are)j(an)e
2044(useful)f(to)s(ol)i(for)g(studying)e(computers)i(and)f(the)h(programs)f
2045(that)i(run)d(on)75 211 y(them.)39 b(Because)28 b(they)e(are)h
2046(implemen)m(ted)e(in)g(soft)m(w)m(are,)k(not)d(silicon,)f(they)i(can)f
2047(b)s(e)g(easily)f(mo)s(di\014ed)g(to)i(add)75 324 y(new)j
2048(instructions,)e(build)g(new)i(systems)g(suc)m(h)g(as)h(m)m(ultipro)s
2049(cessors,)d(or)j(simply)d(to)j(collect)f(data.)75 568
2050y Fm(1.1)112 b(Sim)m(ulation)35 b(of)j(a)g(Virtual)d(Mac)m(hine)75
2051739 y Fu(The)20 b(MIPS)g(arc)m(hitecture,)k(lik)m(e)c(that)h(of)g(most)
2052g(RISC)e(computers,)k(is)c(di\016cult)g(to)i(program)g(directly)e(b)s
2053(ecause)75 852 y(of)30 b(its)f(dela)m(y)m(ed)i(branc)m(hes,)e(dela)m(y)
2054m(ed)i(loads,)e(and)h(restricted)f(address)g(mo)s(des.)40
2055b(This)28 b(di\016cult)m(y)g(is)h(tolerable)75 965 y(since)j(these)i
2056(computers)f(w)m(ere)g(designed)f(to)i(b)s(e)f(programmed)f(in)g
2057(high-lev)m(el)g(languages)h(and)g(so)g(presen)m(t)75
20581078 y(an)k(in)m(terface)g(designed)f(for)g(compilers,)i(not)f
2059(programmers.)59 b(A)37 b(go)s(o)s(d)g(part)g(of)g(the)g(complexit)m(y)
2060f(results)75 1191 y(from)e(dela)m(y)m(ed)h(instructions.)50
2061b(A)35 b Fl(delaye)-5 b(d)38 b(br)-5 b(anch)42 b Fu(tak)m(es)36
2062b(t)m(w)m(o)g(cycles)e(to)i(execute.)54 b(In)33 b(the)i(second)f
2063(cycle,)75 1304 y(the)c(instruction)f(immediately)f(follo)m(wing)h(the)
2064h(branc)m(h)g(executes.)42 b(This)28 b(instruction)g(can)j(p)s(erform)e
2065(useful)75 1417 y(w)m(ork)i(that)g(normally)d(w)m(ould)i(ha)m(v)m(e)h
2066(b)s(een)f(done)g(b)s(efore)g(the)h(branc)m(h)f(or)g(it)g(can)h(b)s(e)f
2067(a)h Fk(nop)e Fu(\(no)i(op)s(eration\).)75 1530 y(Similarly)-8
2068b(,)30 b Fl(delaye)-5 b(d)36 b(lo)-5 b(ads)41 b Fu(tak)m(e)34
2069b(t)m(w)m(o)g(cycles)e(so)h(the)f(instruction)f(immediately)f(follo)m
2070(wing)h(a)h(load)g(cannot)75 1643 y(use)e(the)h(v)-5
2071b(alue)29 b(loaded)h(from)g(memory)-8 b(.)216 1756 y(MIPS)34
2072b(wisely)f(c)m(ho)s(ose)i(to)h(hide)d(this)g(complexit)m(y)h(b)m(y)g
2073(implemen)m(ting)f(a)i Fl(virtual)i(machine)42 b Fu(with)33
2074b(their)75 1868 y(assem)m(bler.)40 b(This)29 b(virtual)g(computer)h
2075(app)s(ears)f(to)j(ha)m(v)m(e)f(non-dela)m(y)m(ed)g(branc)m(hes)f(and)f
2076(loads)h(and)g(a)h(ric)m(her)75 1981 y(instruction)i(set)i(than)g(the)g
2077(actual)h(hardw)m(are.)54 b(The)34 b(assem)m(bler)g Fl(r)-5
2078b(e)g(or)g(ganizes)45 b Fu(\(rearranges\))36 b(instructions)75
20792094 y(to)f(\014ll)e(the)i(dela)m(y)f(slots.)53 b(It)35
2080b(also)f(sim)m(ulates)g(the)h(additional,)f Fl(pseudoinstructions)44
2081b Fu(b)m(y)34 b(generating)h(short)75 2207 y(sequences)c(of)f(actual)h
2082(instructions.)216 2320 y(By)42 b(default,)i(SPIM)d(sim)m(ulates)g(the)
2083h(ric)m(her,)i(virtual)c(mac)m(hine.)75 b(It)42 b(can)g(also)g(sim)m
2084(ulate)f(the)h(actual)75 2433 y(hardw)m(are.)80 b(W)-8
2085b(e)45 b(will)c(describ)s(e)h(the)i(virtual)d(mac)m(hine)j(and)f(only)f
2086(men)m(tion)i(in)e(passing)g(features)i(that)75 2546
2087y(do)37 b(not)g(b)s(elong)f(to)h(the)g(actual)h(hardw)m(are.)59
2088b(In)37 b(doing)e(so,)k(w)m(e)f(are)f(follo)m(wing)e(the)i(con)m(v)m
2089(en)m(tion)h(of)f(MIPS)75 2659 y(assem)m(bly)27 b(language)g
2090(programmers)g(\(and)g(compilers\),)g(who)g(routinely)e(tak)m(e)k(adv)
2091-5 b(an)m(tage)29 b(of)f(the)f(extended)75 2772 y(mac)m(hine.)40
2092b(Instructions)29 b(mark)m(ed)i(with)e(a)i(dagger)g(\()p
2093Fj(y)p Fu(\))f(are)h(pseudoinstructions.)75 3015 y Fm(1.2)112
2094b(SPIM)38 b(In)m(terface)75 3187 y Fu(SPIM)31 b(pro)m(vides)f(a)i
2095(simple)e(terminal)g(and)h(a)g(X-windo)m(w)g(in)m(terface.)44
2096b(Both)32 b(pro)m(vide)f(equiv)-5 b(alen)m(t)31 b(function-)75
20973300 y(alit)m(y)-8 b(,)31 b(but)e(the)i(X)f(in)m(terface)h(is)f
2098(generally)f(easier)i(to)g(use)f(and)g(more)g(informativ)m(e.)216
20993413 y Fk(spim)p Fu(,)46 b(the)e(terminal)e(v)m(ersion,)47
2100b(and)c Fk(xspim)p Fu(,)j(the)d(X)h(v)m(ersion,)j(ha)m(v)m(e)e(the)e
2101(follo)m(wing)f(command-line)75 3526 y(options:)120 3713
2102y Fk(-bare)302 3826 y Fu(Sim)m(ulate)36 b(a)h(bare)f(MIPS)h(mac)m(hine)
2103f(without)g(pseudoinstructions)d(or)k(the)g(additional)e(addressing)302
21043939 y(mo)s(des)30 b(pro)m(vided)f(b)m(y)h(the)h(assem)m(bler.)40
2105b(Implies)28 b Fk(-quiet)p Fu(.)120 4127 y Fk(-asm)302
21064240 y Fu(Sim)m(ulate)i(the)g(virtual)f(MIPS)h(mac)m(hine)g(pro)m
2107(vided)f(b)m(y)h(the)h(assem)m(bler.)40 b(This)28 b(is)i(the)g
2108(default.)120 4427 y Fk(-pseudo)302 4540 y Fu(Accept)i
2109(pseudoinstructions)27 b(in)i(assem)m(bly)h(co)s(de.)120
21104728 y Fk(-nopseudo)302 4841 y Fu(Do)h(not)g(accept)h
2111(pseudoinstructions)27 b(in)i(assem)m(bly)h(co)s(de.)120
21125028 y Fk(-notrap)302 5141 y Fu(Do)38 b(not)f(load)f(the)h(standard)f
2113(trap)g(handler.)58 b(This)35 b(trap)h(handler)f(has)i(t)m(w)m(o)h
2114(functions)d(that)i(m)m(ust)302 5254 y(b)s(e)g(assumed)f(b)m(y)g(the)h
2115(user's)g(program.)60 b(First,)38 b(it)e(handles)g(traps.)59
2116b(When)37 b(a)g(trap)g(o)s(ccurs,)h(SPIM)302 5367 y(jumps)22
2117b(to)j(lo)s(cation)e(0x80000080,)29 b(whic)m(h)22 b(should)g(con)m
2118(tain)i(co)s(de)g(to)g(service)g(the)f(exception.)39
2119b(Second,)1942 5656 y(2)p eop
2120%%Page: 3 3
21213 2 bop 302 99 a Fu(this)34 b(\014le)f(con)m(tains)i(startup)f(co)s(de)
2122g(that)h(in)m(v)m(ok)m(es)h(the)e(routine)g Fk(main)p
2123Fu(.)51 b(Without)35 b(the)f(trap)h(handler,)302 211
2124y(execution)c(b)s(egins)e(at)i(the)f(instruction)f(lab)s(eled)p
21252034 211 29 4 v 2068 211 V 97 w Fk(start)p Fu(.)120 399
2126y Fk(-trap)302 512 y Fu(Load)i(the)f(standard)g(trap)g(handler.)39
2127b(This)29 b(is)g(the)i(default.)120 700 y Fk(-trap)p
2128366 700 V 33 w(file)302 812 y Fu(Load)g(the)f(trap)h(handler)d(in)h
2129(the)i(\014le.)120 1000 y Fk(-noquiet)302 1113 y Fu(Prin)m(t)f(a)g
2130(message)i(when)d(an)i(exception)f(o)s(ccurs.)41 b(This)28
2131b(is)h(the)i(default.)120 1301 y Fk(-quiet)302 1414 y
2132Fu(Do)g(not)g(prin)m(t)e(a)i(message)g(at)g(an)g(exception.)120
21331601 y Fk(-nomapped)p 558 1601 V 32 w(io)302 1714 y Fu(Disable)f(the)g
2134(memory-mapp)s(ed)g(IO)f(facilit)m(y)h(\(see)h(Section)f(5\).)120
21351902 y Fk(-mapped)p 462 1902 V 33 w(io)302 2015 y Fu(Enable)f(the)i
2136(memory-mapp)s(ed)e(IO)g(facilit)m(y)g(\(see)j(Section)d(5\).)42
2137b(Programs)30 b(that)h(use)e(SPIM)h(syscalls)302 2128
2138y(\(see)i(Section)e(1.5\))i(to)f(read)f(from)g(the)g(terminal)f(should)
2139g(not)h(also)h(use)f(memory-mapp)s(ed)f(IO.)120 2315
2140y Fk(-file)302 2428 y Fu(Load)i(and)f(execute)h(the)g(assem)m(bly)f(co)
2141s(de)g(in)f(the)i(\014le.)120 2616 y Fk(-s)48 b(seg)f(size)d
2142Fu(Sets)h(the)g(initial)e(size)i(of)g(memory)g(segmen)m(t)i
2143Fl(se)-5 b(g)53 b Fu(to)46 b(b)s(e)f Fl(size)52 b Fu(b)m(ytes.)85
2144b(The)45 b(memory)302 2729 y(segmen)m(ts)c(are)f(named:)59
2145b Fk(text)p Fu(,)41 b Fk(data)p Fu(,)h Fk(stack)p Fu(,)e
2146Fk(ktext)p Fu(,)h(and)e Fk(kdata)p Fu(.)68 b(F)-8 b(or)40
2147b(example,)i(the)e(pair)f(of)302 2842 y(argumen)m(ts)31
2148b Fk(-sdata)46 b(2000000)28 b Fu(starts)j(the)g(user)e(data)j(segmen)m
2149(t)f(at)g(2,000,000)j(b)m(ytes.)120 3029 y Fk(-lseg)47
2150b(size)31 b Fu(Sets)h(the)h(limit)d(on)i(ho)m(w)g(large)g(memory)g
2151(segmen)m(t)i Fl(se)-5 b(g)40 b Fu(can)32 b(gro)m(w)h(to)g(b)s(e)f
2152Fl(size)39 b Fu(b)m(ytes.)46 b(The)302 3142 y(memory)31
2153b(segmen)m(ts)g(that)g(can)g(gro)m(w)f(are:)42 b Fk(data)p
2154Fu(,)29 b Fk(stack)p Fu(,)g(and)h Fk(kdata)p Fu(.)75
21553382 y Fi(1.2.1)105 b(T)-9 b(erminal)34 b(In)m(terface)75
21563554 y Fu(The)c(terminal)f(in)m(terface)i(\()p Fk(spim)p
2157Fu(\))f(pro)m(vides)f(the)i(follo)m(wing)d(commands:)120
21583741 y Fk(exit)302 3854 y Fu(Exit)i(the)h(sim)m(ulator.)120
21594042 y Fk(read)47 b("file")302 4155 y Fu(Read)39 b Fl(\014le)45
2160b Fu(of)38 b(assem)m(bly)g(language)h(commands)f(in)m(to)g(SPIM's)g
2161(memory)-8 b(.)65 b(If)37 b(the)i(\014le)e(has)h(already)302
21624268 y(b)s(een)33 b(read)g(in)m(to)g(SPIM,)g(the)g(system)g(should)e(b)
2163s(e)i(cleared)g(\(see)h Fk(reinitialize)p Fu(,)d(b)s(elo)m(w\))i(or)g
2164(global)302 4381 y(sym)m(b)s(ols)c(will)f(b)s(e)i(m)m(ultiply)d
2165(de\014ned.)120 4568 y Fk(load)47 b("file")302 4681 y
2166Fu(Synon)m(ym)30 b(for)g Fk(read)p Fu(.)120 4869 y Fk(run)47
2167b(<addr>)302 4982 y Fu(Start)39 b(running)d(a)j(program.)66
2168b(If)38 b(the)h(optional)f(address)g Fl(addr)50 b Fu(is)38
2169b(pro)m(vided,)i(the)f(program)g(starts)302 5095 y(at)g(that)g
2170(address.)64 b(Otherwise,)40 b(the)e(program)g(starts)h(at)g(the)g
2171(global)f(sym)m(b)s(ol)p 3159 5095 V 3193 5095 V 106
2172w Fk(start)p Fu(,)h(whic)m(h)e(is)302 5208 y(de\014ned)28
2173b(b)m(y)h(the)g(default)f(trap)h(handler)e(to)i(call)g(the)g(routine)f
2174(at)h(the)g(global)g(sym)m(b)s(ol)e Fk(main)h Fu(with)g(the)302
21755321 y(usual)h(MIPS)h(calling)f(con)m(v)m(en)m(tion.)1942
21765656 y(3)p eop
2177%%Page: 4 4
21784 3 bop 120 99 a Fk(step)47 b(<N>)302 211 y Fu(Step)30
2179b(the)h(program)f(for)g Fl(N)45 b Fu(\(default:)40 b(1\))31
2180b(instructions.)39 b(Prin)m(t)29 b(instructions)f(as)j(they)g(execute.)
2181120 399 y Fk(continue)302 512 y Fu(Con)m(tin)m(ue)f(program)g
2182(execution)h(without)e(stepping.)120 700 y Fk(print)47
2183b($N)302 812 y Fu(Prin)m(t)30 b(register)g Fl(N)15 b
2184Fu(.)120 1000 y Fk(print)47 b($fN)302 1113 y Fu(Prin)m(t)30
2185b(\015oating)g(p)s(oin)m(t)f(register)i Fl(N)15 b Fu(.)120
21861301 y Fk(print)47 b(addr)302 1414 y Fu(Prin)m(t)30 b(the)g(con)m(ten)m
2187(ts)i(of)f(memory)f(at)h(address)f Fl(addr)10 b Fu(.)120
21881601 y Fk(print)p 366 1601 29 4 v 33 w(sym)302 1714 y
2189Fu(Prin)m(t)38 b(the)i(con)m(ten)m(ts)h(of)e(the)h(sym)m(b)s(ol)d
2190(table,)42 b(i.e.,)g(the)d(addresses)g(of)g(the)h(global)e(\(but)h(not)
2191g(lo)s(cal\))302 1827 y(sym)m(b)s(ols.)120 2015 y Fk(reinitialize)302
21922128 y Fu(Clear)30 b(the)h(memory)f(and)g(registers.)120
21932315 y Fk(breakpoint)45 b(addr)302 2428 y Fu(Set)28 b(a)f(breakp)s(oin)
2194m(t)f(at)i(address)e Fl(addr)10 b Fu(.)42 b Fl(addr)c
2195Fu(can)28 b(b)s(e)e(either)h(a)g(memory)g(address)g(or)g(sym)m(b)s
2196(olic)e(lab)s(el.)120 2616 y Fk(delete)47 b(addr)302
21972729 y Fu(Delete)32 b(all)d(breakp)s(oin)m(ts)g(at)i(address)f
2198Fl(addr)10 b Fu(.)120 2916 y Fk(list)302 3029 y Fu(List)30
2199b(all)f(breakp)s(oin)m(ts.)120 3217 y Fk(.)302 3330 y
2200Fu(Rest)i(of)g(line)d(is)i(an)g(assem)m(bly)g(instruction)e(that)j(is)f
2201(stored)g(in)f(memory)-8 b(.)120 3517 y Fk(<nl>)302 3630
2202y Fu(A)31 b(newline)d(reexecutes)k(previous)d(command.)120
22033818 y Fk(?)302 3931 y Fu(Prin)m(t)h(a)g(help)f(message.)216
22044118 y(Most)38 b(commands)e(can)h(b)s(e)f(abbreviated)g(to)h(their)f
2205(unique)e(pre\014x)i(e.g.,)k Fk(ex)p Fu(,)d Fk(re)p Fu(,)h
2206Fk(l)p Fu(,)g Fk(ru)p Fu(,)g Fk(s)p Fu(,)g Fk(p)p Fu(.)59
2207b(More)75 4231 y(dangerous)30 b(commands,)g(suc)m(h)g(as)h
2208Fk(reinitialize)p Fu(,)c(require)i(a)i(longer)f(pre\014x.)75
22094471 y Fi(1.2.2)105 b(X-Windo)m(w)35 b(In)m(terface)75
22104643 y Fu(The)27 b(X)h(v)m(ersion)f(of)h(SPIM,)g Fk(xspim)p
2211Fu(,)f(lo)s(oks)g(di\013eren)m(t,)h(but)f(should)f(op)s(erate)i(in)f
2212(the)h(same)g(manner)f(as)h Fk(spim)p Fu(.)75 4756 y(The)d(X)h(windo)m
2213(w)e(has)i(\014v)m(e)g(panes)g(\(see)g(Figure)g(1\).)40
2214b(The)25 b(top)h(pane)g(displa)m(ys)d(the)j(con)m(ten)m(ts)i(of)e(the)g
2215(registers.)75 4869 y(It)k(is)g(con)m(tin)m(ually)f(up)s(dated,)g
2216(except)j(while)c(a)j(program)f(is)f(running.)216 4982
2217y(The)h(next)h(pane)f(con)m(tains)g(the)h(buttons)f(that)h(con)m(trol)f
2218(the)h(sim)m(ulator:)302 5169 y Fi(quit)302 5282 y Fu(Exit)f(from)g
2219(the)g(sim)m(ulator.)1942 5656 y(4)p eop
2220%%Page: 5 5
22215 4 bop 629 1250 a
2222 21100149 21313290 1184071 8156938 36245749 43547525 startTexFig
2223 629 1250 a
2224%%BeginDocument: xinterface.id
2225%!PS-Adobe-2.0 EPSF-1.2
2226%%DocumentFonts: Courier Helvetica-Bold Times-Roman
2227%%Pages: 1
2228%%BoundingBox: 18 124 551 662
2229%%EndComments
2230
2231/IdrawDict 53 dict def
2232IdrawDict begin
2233
2234/reencodeISO {
2235dup dup findfont dup length dict begin
2236{ 1 index /FID ne { def }{ pop pop } ifelse } forall
2237/Encoding ISOLatin1Encoding def
2238currentdict end definefont
2239} def
2240
2241/ISOLatin1Encoding [
2242/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
2243/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
2244/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
2245/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
2246/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
2247/parenleft/parenright/asterisk/plus/comma/minus/period/slash
2248/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
2249/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
2250/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
2251/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
2252/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
2253/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
2254/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
2255/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
2256/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
2257/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
2258/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
2259/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
2260/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
2261/guillemotright/onequarter/onehalf/threequarters/questiondown
2262/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
2263/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
2264/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
2265/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
2266/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
2267/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
2268/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
2269/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
2270/yacute/thorn/ydieresis
2271] def
2272/Courier reencodeISO def
2273/Helvetica-Bold reencodeISO def
2274/Times-Roman reencodeISO def
2275
2276/arrowHeight 8 def
2277/arrowWidth 4 def
2278/none null def
2279/numGraphicParameters 17 def
2280/stringLimit 65535 def
2281
2282/Begin {
2283save
2284numGraphicParameters dict begin
2285} def
2286
2287/End {
2288end
2289restore
2290} def
2291
2292/SetB {
2293dup type /nulltype eq {
2294pop
2295false /brushRightArrow idef
2296false /brushLeftArrow idef
2297true /brushNone idef
2298} {
2299/brushDashOffset idef
2300/brushDashArray idef
23010 ne /brushRightArrow idef
23020 ne /brushLeftArrow idef
2303/brushWidth idef
2304false /brushNone idef
2305} ifelse
2306} def
2307
2308/SetCFg {
2309/fgblue idef
2310/fggreen idef
2311/fgred idef
2312} def
2313
2314/SetCBg {
2315/bgblue idef
2316/bggreen idef
2317/bgred idef
2318} def
2319
2320/SetF {
2321/printSize idef
2322/printFont idef
2323} def
2324
2325/SetP {
2326dup type /nulltype eq {
2327pop true /patternNone idef
2328} {
2329dup -1 eq {
2330/patternGrayLevel idef
2331/patternString idef
2332} {
2333/patternGrayLevel idef
2334} ifelse
2335false /patternNone idef
2336} ifelse
2337} def
2338
2339/BSpl {
23400 begin
2341storexyn
2342newpath
2343n 1 gt {
23440 0 0 0 0 0 1 1 true subspline
2345n 2 gt {
23460 0 0 0 1 1 2 2 false subspline
23471 1 n 3 sub {
2348/i exch def
2349i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
2350} for
2351n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
2352} if
2353n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
2354patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
2355brushNone not { istroke } if
23560 0 1 1 leftarrow
2357n 2 sub dup n 1 sub dup rightarrow
2358} if
2359end
2360} dup 0 4 dict put def
2361
2362/Circ {
2363newpath
23640 360 arc
2365patternNone not { ifill } if
2366brushNone not { istroke } if
2367} def
2368
2369/CBSpl {
23700 begin
2371dup 2 gt {
2372storexyn
2373newpath
2374n 1 sub dup 0 0 1 1 2 2 true subspline
23751 1 n 3 sub {
2376/i exch def
2377i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
2378} for
2379n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
2380n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
2381patternNone not { ifill } if
2382brushNone not { istroke } if
2383} {
2384Poly
2385} ifelse
2386end
2387} dup 0 4 dict put def
2388
2389/Elli {
23900 begin
2391newpath
23924 2 roll
2393translate
2394scale
23950 0 1 0 360 arc
2396patternNone not { ifill } if
2397brushNone not { istroke } if
2398end
2399} dup 0 1 dict put def
2400
2401/Line {
24020 begin
24032 storexyn
2404newpath
2405x 0 get y 0 get moveto
2406x 1 get y 1 get lineto
2407brushNone not { istroke } if
24080 0 1 1 leftarrow
24090 0 1 1 rightarrow
2410end
2411} dup 0 4 dict put def
2412
2413/MLine {
24140 begin
2415storexyn
2416newpath
2417n 1 gt {
2418x 0 get y 0 get moveto
24191 1 n 1 sub {
2420/i exch def
2421x i get y i get lineto
2422} for
2423patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
2424brushNone not { istroke } if
24250 0 1 1 leftarrow
2426n 2 sub dup n 1 sub dup rightarrow
2427} if
2428end
2429} dup 0 4 dict put def
2430
2431/Poly {
24323 1 roll
2433newpath
2434moveto
2435-1 add
2436{ lineto } repeat
2437closepath
2438patternNone not { ifill } if
2439brushNone not { istroke } if
2440} def
2441
2442/Rect {
24430 begin
2444/t exch def
2445/r exch def
2446/b exch def
2447/l exch def
2448newpath
2449l b moveto
2450l t lineto
2451r t lineto
2452r b lineto
2453closepath
2454patternNone not { ifill } if
2455brushNone not { istroke } if
2456end
2457} dup 0 4 dict put def
2458
2459/Text {
2460ishow
2461} def
2462
2463/idef {
2464dup where { pop pop pop } { exch def } ifelse
2465} def
2466
2467/ifill {
24680 begin
2469gsave
2470patternGrayLevel -1 ne {
2471fgred bgred fgred sub patternGrayLevel mul add
2472fggreen bggreen fggreen sub patternGrayLevel mul add
2473fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
2474eofill
2475} {
2476eoclip
2477originalCTM setmatrix
2478pathbbox /t exch def /r exch def /b exch def /l exch def
2479/w r l sub ceiling cvi def
2480/h t b sub ceiling cvi def
2481/imageByteWidth w 8 div ceiling cvi def
2482/imageHeight h def
2483bgred bggreen bgblue setrgbcolor
2484eofill
2485fgred fggreen fgblue setrgbcolor
2486w 0 gt h 0 gt and {
2487l b translate w h scale
2488w h true [w 0 0 h neg 0 h] { patternproc } imagemask
2489} if
2490} ifelse
2491grestore
2492end
2493} dup 0 8 dict put def
2494
2495/istroke {
2496gsave
2497brushDashOffset -1 eq {
2498[] 0 setdash
24991 setgray
2500} {
2501brushDashArray brushDashOffset setdash
2502fgred fggreen fgblue setrgbcolor
2503} ifelse
2504brushWidth setlinewidth
2505originalCTM setmatrix
2506stroke
2507grestore
2508} def
2509
2510/ishow {
25110 begin
2512gsave
2513fgred fggreen fgblue setrgbcolor
2514printFont printSize scalefont setfont
2515/descender 0 printFont /FontBBox get 1 get printFont /FontMatrix
2516get transform exch pop def
2517/vertoffset 1 printSize sub descender sub def {
25180 vertoffset moveto show
2519/vertoffset vertoffset printSize sub def
2520} forall
2521grestore
2522end
2523} dup 0 2 dict put def
2524
2525/patternproc {
25260 begin
2527/patternByteLength patternString length def
2528/patternHeight patternByteLength 8 mul sqrt cvi def
2529/patternWidth patternHeight def
2530/patternByteWidth patternWidth 8 idiv def
2531/imageByteMaxLength imageByteWidth imageHeight mul
2532stringLimit patternByteWidth sub min def
2533/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
2534patternHeight mul patternHeight max def
2535/imageHeight imageHeight imageMaxHeight sub store
2536/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
25370 1 imageMaxHeight 1 sub {
2538/y exch def
2539/patternRow y patternByteWidth mul patternByteLength mod def
2540/patternRowString patternString patternRow patternByteWidth getinterval def
2541/imageRow y imageByteWidth mul def
25420 patternByteWidth imageByteWidth 1 sub {
2543/x exch def
2544imageString imageRow x add patternRowString putinterval
2545} for
2546} for
2547imageString
2548end
2549} dup 0 12 dict put def
2550
2551/min {
2552dup 3 2 roll dup 4 3 roll lt { exch } if pop
2553} def
2554
2555/max {
2556dup 3 2 roll dup 4 3 roll gt { exch } if pop
2557} def
2558
2559/arrowhead {
25600 begin
2561transform originalCTM itransform
2562/taily exch def
2563/tailx exch def
2564transform originalCTM itransform
2565/tipy exch def
2566/tipx exch def
2567/dy tipy taily sub def
2568/dx tipx tailx sub def
2569/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
2570gsave
2571originalCTM setmatrix
2572tipx tipy translate
2573angle rotate
2574newpath
25750 0 moveto
2576arrowHeight neg arrowWidth 2 div lineto
2577arrowHeight neg arrowWidth 2 div neg lineto
2578closepath
2579patternNone not {
2580originalCTM setmatrix
2581/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
2582arrowWidth div def
2583/padtail brushWidth 2 div def
2584tipx tipy translate
2585angle rotate
2586padtip 0 translate
2587arrowHeight padtip add padtail add arrowHeight div dup scale
2588arrowheadpath
2589ifill
2590} if
2591brushNone not {
2592originalCTM setmatrix
2593tipx tipy translate
2594angle rotate
2595arrowheadpath
2596istroke
2597} if
2598grestore
2599end
2600} dup 0 9 dict put def
2601
2602/arrowheadpath {
2603newpath
26040 0 moveto
2605arrowHeight neg arrowWidth 2 div lineto
2606arrowHeight neg arrowWidth 2 div neg lineto
2607closepath
2608} def
2609
2610/leftarrow {
26110 begin
2612y exch get /taily exch def
2613x exch get /tailx exch def
2614y exch get /tipy exch def
2615x exch get /tipx exch def
2616brushLeftArrow { tipx tipy tailx taily arrowhead } if
2617end
2618} dup 0 4 dict put def
2619
2620/rightarrow {
26210 begin
2622y exch get /tipy exch def
2623x exch get /tipx exch def
2624y exch get /taily exch def
2625x exch get /tailx exch def
2626brushRightArrow { tipx tipy tailx taily arrowhead } if
2627end
2628} dup 0 4 dict put def
2629
2630/midpoint {
26310 begin
2632/y1 exch def
2633/x1 exch def
2634/y0 exch def
2635/x0 exch def
2636x0 x1 add 2 div
2637y0 y1 add 2 div
2638end
2639} dup 0 4 dict put def
2640
2641/thirdpoint {
26420 begin
2643/y1 exch def
2644/x1 exch def
2645/y0 exch def
2646/x0 exch def
2647x0 2 mul x1 add 3 div
2648y0 2 mul y1 add 3 div
2649end
2650} dup 0 4 dict put def
2651
2652/subspline {
26530 begin
2654/movetoNeeded exch def
2655y exch get /y3 exch def
2656x exch get /x3 exch def
2657y exch get /y2 exch def
2658x exch get /x2 exch def
2659y exch get /y1 exch def
2660x exch get /x1 exch def
2661y exch get /y0 exch def
2662x exch get /x0 exch def
2663x1 y1 x2 y2 thirdpoint
2664/p1y exch def
2665/p1x exch def
2666x2 y2 x1 y1 thirdpoint
2667/p2y exch def
2668/p2x exch def
2669x1 y1 x0 y0 thirdpoint
2670p1x p1y midpoint
2671/p0y exch def
2672/p0x exch def
2673x2 y2 x3 y3 thirdpoint
2674p2x p2y midpoint
2675/p3y exch def
2676/p3x exch def
2677movetoNeeded { p0x p0y moveto } if
2678p1x p1y p2x p2y p3x p3y curveto
2679end
2680} dup 0 17 dict put def
2681
2682/storexyn {
2683/n exch def
2684/y n array def
2685/x n array def
2686n 1 sub -1 0 {
2687/i exch def
2688y i 3 2 roll put
2689x i 3 2 roll put
2690} for
2691} def
2692
2693%%EndProlog
2694
2695%I Idraw 9 Grid 8
2696
2697%%Page: 1 1
2698
2699Begin
2700%I b u
2701%I cfg u
2702%I cbg u
2703%I f u
2704%I p u
2705%I t
2706[ 0.923077 0 0 0.923077 0 0 ] concat
2707/originalCTM matrix currentmatrix def
2708
2709Begin %I Poly
2710%I b 13107
27111 0 0 [2 2 2 2 2 2 2 2] 15 SetB
2712%I cfg Black
27130 0 0 SetCFg
2714%I cbg White
27151 1 1 SetCBg
2716none SetP %I p n
2717%I t
2718[ 1 0 0 1 97 131 ] concat
2719%I 4
27207 7
27217 586
2722499 586
2723496 5
27244 Poly
2725End
2726
2727Begin %I Line
2728%I b 13107
27291 0 0 [2 2 2 2 2 2 2 2] 15 SetB
2730%I cfg Black
27310 0 0 SetCFg
2732%I cbg White
27331 1 1 SetCBg
2734none SetP %I p n
2735%I t
2736[ 1 0 0 1 97 131 ] concat
2737%I
27387 568 499 568 Line
2739End
2740
2741Begin %I Text
2742%I cfg Black
27430 0 0 SetCFg
2744%I f *-courier-medium-r-normal--10-*-75-*
2745Courier 10 SetF
2746%I t
2747[ 1 0 0 1 112 691 ] concat
2748%I
2749[
2750(PC = 00000000 EPC = 00000000 Cause = 0000000 BadVaddr = 00000000)
2751] Text
2752End
2753
2754Begin %I Text
2755%I cfg Black
27560 0 0 SetCFg
2757%I f *-courier-medium-r-normal--10-*-75-*
2758Courier 10 SetF
2759%I t
2760[ 1 0 0 1 112 682 ] concat
2761%I
2762[
2763(Status= 00000000 HI = 00000000 LO = 0000000)
2764] Text
2765End
2766
2767Begin %I Text
2768%I cfg Black
27690 0 0 SetCFg
2770%I f *-courier-medium-r-normal--10-*-75-*
2771Courier 10 SetF
2772%I t
2773[ 1 0 0 1 112 665 ] concat
2774%I
2775[
2776(R0 \(r0\) = 00000000 R8 \(t0\) = 00000000 R16 \(s0\) = 0000000 R24 \(t8\) = 00000000)
2777] Text
2778End
2779
2780Begin %I Text
2781%I cfg Black
27820 0 0 SetCFg
2783%I f *-courier-medium-r-normal--10-*-75-*
2784Courier 10 SetF
2785%I t
2786[ 1 0 0 1 112 657 ] concat
2787%I
2788[
2789(R1 \(at\) = 00000000 R9 \(t1\) = 00000000 R17 \(s1\) = 0000000 R25 \(s9\) = 00000000)
2790] Text
2791End
2792
2793Begin %I Text
2794%I cfg Black
27950 0 0 SetCFg
2796%I f *-courier-medium-r-normal--10-*-75-*
2797Courier 10 SetF
2798%I t
2799[ 1 0 0 1 112 648 ] concat
2800%I
2801[
2802(R2 \(v0\) = 00000000 R10 \(t2\) = 00000000 R18 \(s2\) = 0000000 R26 \(k0\) = 00000000)
2803] Text
2804End
2805
2806Begin %I Text
2807%I cfg Black
28080 0 0 SetCFg
2809%I f *-courier-medium-r-normal--10-*-75-*
2810Courier 10 SetF
2811%I t
2812[ 1 0 0 1 112 639 ] concat
2813%I
2814[
2815(R3 \(v1\) = 00000000 R11 \(t3\) = 00000000 R19 \(s3\) = 0000000 R27 \(k1\) = 00000000)
2816] Text
2817End
2818
2819Begin %I Text
2820%I cfg Black
28210 0 0 SetCFg
2822%I f *-courier-medium-r-normal--10-*-75-*
2823Courier 10 SetF
2824%I t
2825[ 1 0 0 1 112 631 ] concat
2826%I
2827[
2828(R4 \(a0\) = 00000000 R12 \(t4\) = 00000000 R20 \(s4\) = 0000000 R28 \(gp\) = 00000000)
2829] Text
2830End
2831
2832Begin %I Text
2833%I cfg Black
28340 0 0 SetCFg
2835%I f *-courier-medium-r-normal--10-*-75-*
2836Courier 10 SetF
2837%I t
2838[ 1 0 0 1 112 622 ] concat
2839%I
2840[
2841(R5 \(a1\) = 00000000 R13 \(t5\) = 00000000 R21 \(s5\) = 0000000 R29 \(gp\) = 00000000)
2842] Text
2843End
2844
2845Begin %I Text
2846%I cfg Black
28470 0 0 SetCFg
2848%I f *-courier-medium-r-normal--10-*-75-*
2849Courier 10 SetF
2850%I t
2851[ 1 0 0 1 112 613 ] concat
2852%I
2853[
2854(R6 \(a2\) = 00000000 R14 \(t6\) = 00000000 R22 \(s6\) = 0000000 R30 \(s8\) = 00000000)
2855] Text
2856End
2857
2858Begin %I Text
2859%I cfg Black
28600 0 0 SetCFg
2861%I f *-courier-medium-r-normal--10-*-75-*
2862Courier 10 SetF
2863%I t
2864[ 1 0 0 1 112 605 ] concat
2865%I
2866[
2867(R7 \(a3\) = 00000000 R15 \(t7\) = 00000000 R23 \(s7\) = 0000000 R31 \(ra\) = 00000000)
2868] Text
2869End
2870
2871Begin %I Text
2872%I cfg Black
28730 0 0 SetCFg
2874%I f *-courier-medium-r-normal--10-*-75-*
2875Courier 10 SetF
2876%I t
2877[ 1 0 0 1 112 587 ] concat
2878%I
2879[
2880(FP0 = 0.000000 FP8 = 0.000000 FP16 = 0.00000 FP24 = 0.000000)
2881] Text
2882End
2883
2884Begin %I Text
2885%I cfg Black
28860 0 0 SetCFg
2887%I f *-courier-medium-r-normal--10-*-75-*
2888Courier 10 SetF
2889%I t
2890[ 1 0 0 1 112 562 ] concat
2891%I
2892[
2893(FP6 = 0.000000 FP14 = 0.000000 FP22 = 0.00000 FP30 = 0.000000)
2894] Text
2895End
2896
2897Begin %I Text
2898%I cfg Black
28990 0 0 SetCFg
2900%I f *-courier-medium-r-normal--10-*-75-*
2901Courier 10 SetF
2902%I t
2903[ 1 0 0 1 112 570 ] concat
2904%I
2905[
2906(FP4 = 0.000000 FP12 = 0.000000 FP20 = 0.00000 FP28 = 0.000000)
2907] Text
2908End
2909
2910Begin %I Text
2911%I cfg Black
29120 0 0 SetCFg
2913%I f *-courier-medium-r-normal--10-*-75-*
2914Courier 10 SetF
2915%I t
2916[ 1 0 0 1 112 579 ] concat
2917%I
2918[
2919(FP2 = 0.000000 FP10 = 0.000000 FP18 = 0.00000 FP26 = 0.000000)
2920] Text
2921End
2922
2923Begin %I CBSpl
2924%I b 65535
29251 0 0 [] 0 SetB
2926%I cfg Black
29270 0 0 SetCFg
2928%I cbg White
29291 1 1 SetCBg
2930none SetP %I p n
2931%I t
2932[ 0.680251 0 0 1 461.205 131 ] concat
2933%I 11
293424 396
293533 396
293684 396
293793 396
2938102 387
293993 378
294084 378
294133 378
294224 378
294315 387
294424 396
294511 CBSpl
2946End
2947
2948Begin %I CBSpl
2949%I b 65535
29501 0 0 [] 0 SetB
2951%I cfg Black
29520 0 0 SetCFg
2953%I cbg White
29541 1 1 SetCBg
2955none SetP %I p n
2956%I t
2957[ 0.680251 0 0 1 392.205 132 ] concat
2958%I 11
295924 396
296033 396
296184 396
296293 396
2963102 387
296493 378
296584 378
296633 378
296724 378
296815 387
296924 396
297011 CBSpl
2971End
2972
2973Begin %I CBSpl
2974%I b 65535
29751 0 0 [] 0 SetB
2976%I cfg Black
29770 0 0 SetCFg
2978%I cbg White
29791 1 1 SetCBg
2980none SetP %I p n
2981%I t
2982[ 0.680251 0 0 1 325.205 132 ] concat
2983%I 11
298424 396
298533 396
298684 396
298793 396
2988102 387
298993 378
299084 378
299133 378
299224 378
299315 387
299424 396
299511 CBSpl
2996End
2997
2998Begin %I CBSpl
2999%I b 65535
30001 0 0 [] 0 SetB
3001%I cfg Black
30020 0 0 SetCFg
3003%I cbg White
30041 1 1 SetCBg
3005none SetP %I p n
3006%I t
3007[ 0.680251 0 0 1 256.205 132 ] concat
3008%I 11
300924 396
301033 396
301184 396
301293 396
3013102 387
301493 378
301584 378
301633 378
301724 378
301815 387
301924 396
302011 CBSpl
3021End
3022
3023Begin %I CBSpl
3024%I b 65535
30251 0 0 [] 0 SetB
3026%I cfg Black
30270 0 0 SetCFg
3028%I cbg White
30291 1 1 SetCBg
3030none SetP %I p n
3031%I t
3032[ 0.680251 0 0 1 186.205 133 ] concat
3033%I 11
303424 396
303533 396
303684 396
303793 396
3038102 387
303993 378
304084 378
304133 378
304224 378
304315 387
304424 396
304511 CBSpl
3046End
3047
3048Begin %I CBSpl
3049%I b 65535
30501 0 0 [] 0 SetB
3051%I cfg Black
30520 0 0 SetCFg
3053%I cbg White
30541 1 1 SetCBg
3055none SetP %I p n
3056%I t
3057[ 0.680251 0 0 1 118.205 133 ] concat
3058%I 11
305924 396
306033 396
306184 396
306293 396
3063102 387
306493 378
306584 378
306633 378
306724 378
306815 387
306924 396
307011 CBSpl
3071End
3072
3073Begin %I CBSpl
3074%I b 65535
30751 0 0 [] 0 SetB
3076%I cfg Black
30770 0 0 SetCFg
3078%I cbg White
30791 1 1 SetCBg
3080none SetP %I p n
3081%I t
3082[ 0.680251 0 0 1 392.205 107 ] concat
3083%I 11
308424 396
308533 396
308684 396
308793 396
3088102 387
308993 378
309084 378
309133 378
309224 378
309315 387
309424 396
309511 CBSpl
3096End
3097
3098Begin %I CBSpl
3099%I b 65535
31001 0 0 [] 0 SetB
3101%I cfg Black
31020 0 0 SetCFg
3103%I cbg White
31041 1 1 SetCBg
3105none SetP %I p n
3106%I t
3107[ 0.680251 0 0 1 325.205 107 ] concat
3108%I 11
310924 396
311033 396
311184 396
311293 396
3113102 387
311493 378
311584 378
311633 378
311724 378
311815 387
311924 396
312011 CBSpl
3121End
3122
3123Begin %I CBSpl
3124%I b 65535
31251 0 0 [] 0 SetB
3126%I cfg Black
31270 0 0 SetCFg
3128%I cbg White
31291 1 1 SetCBg
3130none SetP %I p n
3131%I t
3132[ 0.680251 0 0 1 256.205 107 ] concat
3133%I 11
313424 396
313533 396
313684 396
313793 396
3138102 387
313993 378
314084 378
314133 378
314224 378
314315 387
314424 396
314511 CBSpl
3146End
3147
3148Begin %I CBSpl
3149%I b 65535
31501 0 0 [] 0 SetB
3151%I cfg Black
31520 0 0 SetCFg
3153%I cbg White
31541 1 1 SetCBg
3155none SetP %I p n
3156%I t
3157[ 0.680251 0 0 1 186.205 108 ] concat
3158%I 11
315924 396
316033 396
316184 396
316293 396
3163102 387
316493 378
316584 378
316633 378
316724 378
316815 387
316924 396
317011 CBSpl
3171End
3172
3173Begin %I CBSpl
3174%I b 65535
31751 0 0 [] 0 SetB
3176%I cfg Black
31770 0 0 SetCFg
3178%I cbg White
31791 1 1 SetCBg
3180none SetP %I p n
3181%I t
3182[ 0.680251 0 0 1 118.205 108 ] concat
3183%I 11
318424 396
318533 396
318684 396
318793 396
3188102 387
318993 378
319084 378
319133 378
319224 378
319315 387
319424 396
319511 CBSpl
3196End
3197
3198Begin %I Text
3199%I cfg Black
32000 0 0 SetCFg
3201%I f *-courier-medium-r-normal--10-*-75-*
3202Courier 10 SetF
3203%I t
3204[ 1 0 0 1 146 524 ] concat
3205%I
3206[
3207(quit)
3208] Text
3209End
3210
3211Begin %I Text
3212%I cfg Black
32130 0 0 SetCFg
3214%I f *-courier-medium-r-normal--10-*-75-*
3215Courier 10 SetF
3216%I t
3217[ 1 0 0 1 214 524 ] concat
3218%I
3219[
3220(load)
3221] Text
3222End
3223
3224Begin %I Text
3225%I cfg Black
32260 0 0 SetCFg
3227%I f *-courier-medium-r-normal--10-*-75-*
3228Courier 10 SetF
3229%I t
3230[ 1 0 0 1 287 523 ] concat
3231%I
3232[
3233(run)
3234] Text
3235End
3236
3237Begin %I Text
3238%I cfg Black
32390 0 0 SetCFg
3240%I f *-courier-medium-r-normal--10-*-75-*
3241Courier 10 SetF
3242%I t
3243[ 1 0 0 1 353 523 ] concat
3244%I
3245[
3246(step)
3247] Text
3248End
3249
3250Begin %I Text
3251%I cfg Black
32520 0 0 SetCFg
3253%I f *-courier-medium-r-normal--10-*-75-*
3254Courier 10 SetF
3255%I t
3256[ 1 0 0 1 417 523 ] concat
3257%I
3258[
3259(clear)
3260] Text
3261End
3262
3263Begin %I Text
3264%I cfg Black
32650 0 0 SetCFg
3266%I f *-courier-medium-r-normal--10-*-75-*
3267Courier 10 SetF
3268%I t
3269[ 1 0 0 1 474 522 ] concat
3270%I
3271[
3272(set value)
3273] Text
3274End
3275
3276Begin %I Text
3277%I cfg Black
32780 0 0 SetCFg
3279%I f *-courier-medium-r-normal--10-*-75-*
3280Courier 10 SetF
3281%I t
3282[ 1 0 0 1 143 499 ] concat
3283%I
3284[
3285(print)
3286] Text
3287End
3288
3289Begin %I Text
3290%I cfg Black
32910 0 0 SetCFg
3292%I f *-courier-medium-r-normal--10-*-75-*
3293Courier 10 SetF
3294%I t
3295[ 1 0 0 1 205 499 ] concat
3296%I
3297[
3298(breakpt)
3299] Text
3300End
3301
3302Begin %I Text
3303%I cfg Black
33040 0 0 SetCFg
3305%I f *-courier-medium-r-normal--10-*-75-*
3306Courier 10 SetF
3307%I t
3308[ 1 0 0 1 284 498 ] concat
3309%I
3310[
3311(help)
3312] Text
3313End
3314
3315Begin %I Text
3316%I cfg Black
33170 0 0 SetCFg
3318%I f *-courier-medium-r-normal--10-*-75-*
3319Courier 10 SetF
3320%I t
3321[ 1 0 0 1 341 498 ] concat
3322%I
3323[
3324(terminal)
3325] Text
3326End
3327
3328Begin %I Text
3329%I cfg Black
33300 0 0 SetCFg
3331%I f *-courier-medium-r-normal--10-*-75-*
3332Courier 10 SetF
3333%I t
3334[ 1 0 0 1 420 498 ] concat
3335%I
3336[
3337(mode)
3338] Text
3339End
3340
3341Begin %I Line
3342%I b 65535
33431 0 0 [] 0 SetB
3344%I cfg Black
33450 0 0 SetCFg
3346%I cbg White
33471 1 1 SetCBg
3348none SetP %I p n
3349%I t
3350[ 1 0 0 1 97 131 ] concat
3351%I
33527 344 499 344 Line
3353End
3354
3355Begin %I Line
3356%I b 65535
33571 0 0 [] 0 SetB
3358%I cfg Black
33590 0 0 SetCFg
3360%I cbg White
33611 1 1 SetCBg
3362none SetP %I p n
3363%I t
3364[ 1 0 0 1 97 129 ] concat
3365%I
33667 327 499 327 Line
3367End
3368
3369Begin %I Line
3370%I b 65535
33711 0 0 [] 0 SetB
3372%I cfg Black
33730 0 0 SetCFg
3374%I cbg White
33751 1 1 SetCBg
3376none SetP %I p n
3377%I t
3378[ 1 0 0 1 97 161 ] concat
3379%I
33807 180 499 180 Line
3381End
3382
3383Begin %I Text
3384%I cfg Black
33850 0 0 SetCFg
3386%I f *-courier-medium-r-normal--10-*-75-*
3387Courier 10 SetF
3388%I t
3389[ 1 0 0 1 112 227 ] concat
3390%I
3391[
3392(SPIM Version 3.2 of January 14, 1990)
3393] Text
3394End
3395
3396Begin %I Text
3397%I cfg Black
33980 0 0 SetCFg
3399%I f *-helvetica-bold-r-normal--12-*-75-*
3400Helvetica-Bold 12 SetF
3401%I t
3402[ 1 0 0 1 304.5 469.5 ] concat
3403%I
3404[
3405(Text Segments)
3406] Text
3407End
3408
3409Begin %I Text
3410%I cfg Black
34110 0 0 SetCFg
3412%I f *-helvetica-bold-r-normal--10-*-75-*
3413Helvetica-Bold 10 SetF
3414%I t
3415[ 1 0 0 1 121 711 ] concat
3416%I
3417[
3418(xspim)
3419] Text
3420End
3421
3422Begin %I Text
3423%I cfg Black
34240 0 0 SetCFg
3425%I f *-helvetica-bold-r-normal--14-*-75-*
3426Helvetica-Bold 14 SetF
3427%I t
3428[ 1 0 0 1 21.0001 647 ] concat
3429%I
3430[
3431(Register)
3432(Display)
3433] Text
3434End
3435
3436Begin %I Text
3437%I cfg Black
34380 0 0 SetCFg
3439%I f *-helvetica-bold-r-normal--14-*-75-*
3440Helvetica-Bold 14 SetF
3441%I t
3442[ 1 0 0 1 21.0001 517 ] concat
3443%I
3444[
3445(Control)
3446(Buttons)
3447] Text
3448End
3449
3450Begin %I Text
3451%I cfg Black
34520 0 0 SetCFg
3453%I f *-helvetica-bold-r-normal--14-*-75-*
3454Helvetica-Bold 14 SetF
3455%I t
3456[ 1 0 0 1 21.0001 433 ] concat
3457%I
3458[
3459(User and)
3460(Kernel)
3461(Text)
3462(Segments)
3463] Text
3464End
3465
3466Begin %I Text
3467%I cfg Black
34680 0 0 SetCFg
3469%I f *-helvetica-bold-r-normal--14-*-75-*
3470Helvetica-Bold 14 SetF
3471%I t
3472[ 1 0 0 1 21.0001 193 ] concat
3473%I
3474[
3475(SPIM)
3476(Messages)
3477] Text
3478End
3479
3480Begin %I Line
3481%I b 65535
34821 0 0 [] 0 SetB
3483%I cfg Black
34840 0 0 SetCFg
3485%I cbg White
34861 1 1 SetCBg
3487%I p
34880 SetP
3489%I t
3490[ 1 0 0 1 -30 123 ] concat
3491%I
3492134 413 626 413 Line
3493End
3494
3495Begin %I Text
3496%I cfg Black
34970 0 0 SetCFg
3498%I f *-times-medium-r-normal--10-*-75-*
3499Times-Roman 10 SetF
3500%I t
3501[ 1 0 0 1 313.5 673 ] concat
3502%I
3503[
3504(General Registers)
3505] Text
3506End
3507
3508Begin %I Text
3509%I cfg Black
35100 0 0 SetCFg
3511%I f *-times-medium-r-normal--10-*-75-*
3512Times-Roman 10 SetF
3513%I t
3514[ 1 0 0 1 306 594 ] concat
3515%I
3516[
3517(Double Floating Point Registers)
3518] Text
3519End
3520
3521Begin %I Text
3522%I cfg Black
35230 0 0 SetCFg
3524%I f *-times-medium-r-normal--10-*-75-*
3525Times-Roman 10 SetF
3526%I t
3527[ 1 0 0 1 308 548 ] concat
3528%I
3529[
3530(Single Floating Point Registers)
3531] Text
3532End
3533
3534Begin %I Line
3535%I b 65535
35361 0 0 [] 0 SetB
3537%I cfg Black
35380 0 0 SetCFg
3539%I cbg White
35401 1 1 SetCBg
3541none SetP %I p n
3542%I t
3543[ 1 0 0 1 97 182 ] concat
3544%I
35457 180 499 180 Line
3546End
3547
3548Begin %I Line
3549%I b 65535
35501 0 0 [] 0 SetB
3551%I cfg Black
35520 0 0 SetCFg
3553%I cbg White
35541 1 1 SetCBg
3555none SetP %I p n
3556%I t
3557[ 1 0 0 1 97 56 ] concat
3558%I
35597 180 499 180 Line
3560End
3561
3562Begin %I Text
3563%I cfg Black
35640 0 0 SetCFg
3565%I f *-helvetica-bold-r-normal--12-*-75-*
3566Helvetica-Bold 12 SetF
3567%I t
3568[ 1 0 0 1 302 355 ] concat
3569%I
3570[
3571(Data Segments)
3572] Text
3573End
3574
3575Begin %I Text
3576%I cfg Black
35770 0 0 SetCFg
3578%I f *-helvetica-bold-r-normal--14-*-75-*
3579Helvetica-Bold 14 SetF
3580%I t
3581[ 1 0 0 1 21.0001 302 ] concat
3582%I
3583[
3584(Data and)
3585(Stack)
3586(Segments)
3587] Text
3588End
3589
3590Begin %I Text
3591%I cfg Black
35920 0 0 SetCFg
3593%I f *-courier-medium-r-normal--10-*-75-*
3594Courier 10 SetF
3595%I t
3596[ 1 0 0 1 112 449 ] concat
3597%I
3598[
3599([0x00400000] 0x8fa40000 lw R4, 0\(R29\) [])
3600([0x00400004] 0x27a50004 addiu R5, R29, 4 [])
3601([0x00400008] 0x24a60004 addiu R6, R5, 4 [])
3602([0x0040000c] 0x00041090 sll R2, R4, 2)
3603([0x00400010] 0x00c23021 addu R6, R6, R2)
3604([0x00400014] 0x0c000000 jal 0x00000000 [])
3605([0x00400018] 0x3402000a ori R0, R0, 10 [])
3606([0x0040001c] 0x0000000c syscall)
3607] Text
3608End
3609
3610Begin %I Text
3611%I cfg Black
36120 0 0 SetCFg
3613%I f *-courier-medium-r-normal--10-*-75-*
3614Courier 10 SetF
3615%I t
3616[ 1 0 0 1 112 333 ] concat
3617%I
3618[
3619([0x10000000]...[0x10010000] 0x00000000)
3620([0x10010004] 0x74706563 0x206e6f69 0x636f2000)
3621([0x10010010] 0x72727563 0x61206465 0x6920646e 0x726f6e67)
3622([0x10010020] 0x000a6465 0x495b2020 0x7265746e 0x74707572)
3623([0x10010030] 0x0000205d 0x20200000 0x616e555b 0x6e67696c)
3624([0x10010040] 0x61206465 0x65726464 0x69207373 0x6e69206e)
3625([0x10010050] 0x642f7473 0x20617461 0x63746566 0x00205d68)
3626([0x10010060] 0x555b2020 0x696c616e 0x64656e67 0x64646120)
3627([0x10010070] 0x73736572 0x206e6920 0x726f7473 0x00205d65)
3628] Text
3629End
3630
3631End %I eop
3632
3633showpage
3634
3635%%Trailer
3636
3637end
3638
3639%%EndDocument
3640
3641 endTexFig
3642 1184 4146 a Fu(Figure)30 b(1:)41 b(X-windo)m(w)30 b(in)m(terface)h(to)
3643g(SPIM.)1942 5656 y(5)p eop
3644%%Page: 6 6
36456 5 bop 302 99 a Fi(load)302 211 y Fu(Read)31 b(a)g(source)f(\014le)g
3646(in)m(to)g(memory)-8 b(.)302 389 y Fi(run)302 502 y Fu(Start)31
3647b(the)f(program)h(running.)302 679 y Fi(step)302 792
3648y Fu(Single-step)e(through)h(a)h(program.)302 969 y Fi(clear)302
36491082 y Fu(Reinitialize)d(registers)i(or)h(memory)-8 b(.)302
36501259 y Fi(set)35 b(v)-6 b(alue)302 1372 y Fu(Set)31 b(the)f(v)-5
3651b(alue)30 b(in)f(a)i(register)f(or)h(memory)f(lo)s(cation.)302
36521549 y Fi(prin)m(t)302 1662 y Fu(Prin)m(t)g(the)g(v)-5
3653b(alue)30 b(in)f(a)i(register)f(or)g(memory)h(lo)s(cation.)302
36541839 y Fi(breakp)s(oin)m(t)302 1952 y Fu(Set)g(or)f(delete)h(a)g
3655(breakp)s(oin)m(t)e(or)h(list)f(all)h(breakp)s(oin)m(ts.)302
36562129 y Fi(help)302 2242 y Fu(Prin)m(t)g(a)g(help)f(message.)302
36572420 y Fi(terminal)302 2532 y Fu(Raise)h(or)h(hide)e(the)h(console)h
3658(windo)m(w.)302 2710 y Fi(mo)s(de)302 2823 y Fu(Set)g(SPIM)f(op)s
3659(erating)f(mo)s(des.)216 2984 y(The)h(next)g(t)m(w)m(o)i(panes)e
3660(displa)m(y)e(the)j(memory)f(con)m(ten)m(ts.)42 b(The)30
3661b(top)g(one)h(sho)m(ws)f(instructions)e(from)i(the)75
36623097 y(user)g(and)g(k)m(ernel)g(text)h(segmen)m(ts.)1283
36633064 y Fr(2)1365 3097 y Fu(The)f(\014rst)g(few)g(instructions)f(in)g
3664(the)h(text)i(segmen)m(t)g(are)f(startup)f(co)s(de)75
36653210 y(\()p 116 3210 29 4 v 150 3210 V 69 w Fk(start)p
3666Fu(\))f(that)i(loads)f Fk(argc)f Fu(and)h Fk(argv)f Fu(in)m(to)i
3667(registers)f(and)g(in)m(v)m(ok)m(es)h(the)f Fk(main)g
3668Fu(routine.)216 3323 y(The)d(lo)m(w)m(er)h(of)f(these)h(t)m(w)m(o)g
3669(panes)f(displa)m(ys)f(the)h(data)h(and)f(stac)m(k)i(segmen)m(ts.)41
3670b(Both)28 b(panes)f(are)g(up)s(dated)75 3436 y(as)k(a)f(program)h
3671(executes.)216 3549 y(The)c(b)s(ottom)h(pane)f(is)g(used)g(to)h(displa)
3672m(y)e(messages)i(from)f(the)h(sim)m(ulator.)39 b(It)28
3673b(do)s(es)f(not)h(displa)m(y)d(output)75 3662 y(from)40
3674b(an)h(executing)f(program.)72 b(When)40 b(a)h(program)f(reads)h(or)f
3675(writes,)j(its)d(IO)g(app)s(ears)g(in)f(a)i(separate)75
36763775 y(windo)m(w,)29 b(called)h(the)g(Console,)g(whic)m(h)f(p)s(ops)h
3677(up)f(when)g(needed.)75 4013 y Fm(1.3)112 b(Surprising)37
3678b(F)-9 b(eatures)75 4185 y Fu(Although)26 b(SPIM)g(faithfully)e(sim)m
3679(ulates)i(the)h(MIPS)f(computer,)i(it)e(is)g(a)h(sim)m(ulator)f(and)g
3680(certain)h(things)f(are)75 4298 y(not)32 b(iden)m(tical)f(to)i(the)f
3681(actual)g(computer.)46 b(The)31 b(most)i(ob)m(vious)e(di\013erences)g
3682(are)i(that)f(instruction)e(timing)75 4411 y(and)g(the)i(memory)e
3683(systems)h(are)h(not)f(iden)m(tical.)41 b(SPIM)31 b(do)s(es)f(not)i
3684(sim)m(ulate)e(cac)m(hes)i(or)f(memory)g(latency)-8 b(,)75
36854523 y(nor)30 b(do)s(es)g(it)g(accurate)i(re\015ect)f(the)f(dela)m(ys)g
3686(for)h(\015oating)f(p)s(oin)m(t)f(op)s(erations)h(or)g(m)m(ultiplies)e
3687(and)h(divides.)216 4636 y(Another)42 b(surprise)e(\(whic)m(h)h(o)s
3688(ccurs)g(on)h(the)h(real)e(mac)m(hine)h(as)g(w)m(ell\))g(is)f(that)h(a)
3689h(pseudoinstruction)75 4749 y(expands)d(in)m(to)h(sev)m(eral)h(mac)m
3690(hine)f(instructions.)71 b(When)41 b(single-stepping)e(or)i(examining)e
3691(memory)-8 b(,)45 b(the)75 4862 y(instructions)24 b(that)i(y)m(ou)g
3692(see)h(are)f(sligh)m(tly)e(di\013eren)m(t)h(from)h(the)g(source)g
3693(program.)39 b(The)25 b(corresp)s(ondence)g(b)s(e-)75
36944975 y(t)m(w)m(een)g(the)f(t)m(w)m(o)h(sets)f(of)f(instructions)f(is)h
3695(fairly)e(simple)h(since)h(SPIM)g(do)s(es)g(not)h(reorganize)g(the)g
3696(instructions)75 5088 y(to)31 b(\014ll)d(dela)m(y)j(slots.)p
369775 5139 1512 4 v 179 5193 a Fo(2)213 5225 y Fp(These)d(instructions)g
3698(are)g(real|not)f(pseudo|MIPS)g(instructions.)40 b(SPIM)27
3699b(translates)h(assem)n(bler)g(pseudoinstructions)75 5316
3700y(to)e(1{3)i(MIPS)e(instructions)g(b)r(efore)h(storing)g(the)f(program)
3701g(in)g(memory)-6 b(.)34 b(Eac)n(h)26 b(source)h(instruction)f(app)r
3702(ears)h(as)f(a)h(commen)n(t)75 5407 y(on)f(the)f(\014rst)g(instruction)
3703h(to)g(whic)n(h)g(it)g(is)g(translated.)1942 5656 y Fu(6)p
3704eop
3705%%Page: 7 7
37067 6 bop 75 99 a Fm(1.4)112 b(Assem)m(bler)36 b(Syn)m(tax)75
3707270 y Fu(Commen)m(ts)28 b(in)e(assem)m(bler)i(\014les)e(b)s(egin)h
3708(with)f(a)j(sharp-sign)d(\()p Fk(#)p Fu(\).)40 b(Ev)m(erything)27
3709b(from)g(the)h(sharp-sign)e(to)j(the)75 383 y(end)h(of)g(the)h(line)e
3710(is)g(ignored.)216 496 y(Iden)m(ti\014ers)22 b(are)i(a)g(sequence)g(of)
3711g(alphan)m(umeric)d(c)m(haracters,)27 b(underbars)21
3712b(\()p 2783 496 29 4 v 35 w(\),)k(and)e(dots)h(\()p Fk(.)p
3713Fu(\))38 b(that)24 b(do)g(not)75 609 y(b)s(egin)h(with)h(a)h(n)m(um)m
3714(b)s(er.)38 b(Op)s(co)s(des)26 b(for)g(instructions)f(are)i(reserv)m
3715(ed)g(w)m(ords)f(that)i(are)f Fi(not)g Fu(v)-5 b(alid)25
3716b(iden)m(ti\014ers.)75 722 y(Lab)s(els)i(are)h(declared)f(b)m(y)h
3717(putting)f(them)h(at)h(the)f(b)s(eginning)d(of)j(a)h(line)d(follo)m(w)m
3718(ed)h(b)m(y)h(a)h(colon,)f(for)g(example:)457 894 y Fk(.data)170
37191007 y(item:)47 b(.word)f(1)457 1120 y(.text)457 1233
3720y(.globl)g(main)619 b(#)48 b(Must)e(be)i(global)170 1346
3721y(main:)f(lw)g($t0,)g(item)216 1518 y Fu(Strings)28 b(are)i(enclosed)g
3722(in)e(double-quotes)h(\()p Fk(")p Fu(\).)41 b(Sp)s(ecial)28
3723b(c)m(haracters)j(in)d(strings)h(follo)m(w)f(the)i(C)f(con)m(v)m(en-)75
37241631 y(tion:)266 1804 y Fk(newline)380 b(\\n)266 1916
3725y(tab)572 b(\\t)266 2029 y(quote)476 b(\\")216 2202 y
3726Fu(SPIM)30 b(supp)s(orts)e(a)j(subset)f(of)h(the)f(assem)m(bler)g
3727(directiv)m(es)g(pro)m(vided)f(b)m(y)h(the)h(MIPS)e(assem)m(bler:)120
37282374 y Fk(.align)47 b(n)302 2487 y Fu(Align)23 b(the)i(next)f(datum)g
3729(on)g(a)h(2)1407 2454 y Fh(n)1479 2487 y Fu(b)m(yte)g(b)s(oundary)-8
3730b(.)37 b(F)-8 b(or)25 b(example,)g Fk(.align)46 b(2)24
3731b Fu(aligns)f(the)i(next)f(v)-5 b(alue)302 2600 y(on)34
3732b(a)h(w)m(ord)f(b)s(oundary)-8 b(.)50 b Fk(.align)c(0)34
3733b Fu(turns)f(o\013)i(automatic)g(alignmen)m(t)e(of)i
3734Fk(.half)p Fu(,)e Fk(.word)p Fu(,)h Fk(.float)p Fu(,)302
37352713 y(and)c Fk(.double)e Fu(directiv)m(es)i(un)m(til)f(the)h(next)h
3736Fk(.data)e Fu(or)h Fk(.kdata)f Fu(directiv)m(e.)120 2894
3737y Fk(.ascii)47 b(str)302 3007 y Fu(Store)31 b(the)f(string)g(in)f
3738(memory)-8 b(,)31 b(but)e(do)i(not)f(n)m(ull-terminate)f(it.)120
37393189 y Fk(.asciiz)46 b(str)302 3302 y Fu(Store)31 b(the)f(string)g(in)f
3740(memory)h(and)g(n)m(ull-terminate)f(it.)120 3483 y Fk(.byte)47
3741b(b1,)g(...,)f(bn)302 3596 y Fu(Store)31 b(the)f Fg(n)g
3742Fu(v)-5 b(alues)30 b(in)f(successiv)m(e)i(b)m(ytes)g(of)f(memory)-8
3743b(.)120 3778 y Fk(.data)47 b(<addr>)302 3891 y Fu(The)31
3744b(follo)m(wing)f(data)h(items)g(should)e(b)s(e)i(stored)g(in)f(the)h
3745(data)h(segmen)m(t.)44 b(If)31 b(the)g(optional)f(argumen)m(t)302
37464004 y Fl(addr)42 b Fu(is)30 b(presen)m(t,)g(the)h(items)f(are)g
3747(stored)h(b)s(eginning)d(at)j(address)e Fl(addr)10 b
3748Fu(.)120 4185 y Fk(.double)46 b(d1,)h(...,)g(dn)302 4298
3749y Fu(Store)31 b(the)f Fg(n)g Fu(\015oating)h(p)s(oin)m(t)e(double)g
3750(precision)f(n)m(um)m(b)s(ers)h(in)g(successiv)m(e)i(memory)f(lo)s
3751(cations.)120 4480 y Fk(.extern)46 b(sym)h(size)302 4592
3752y Fu(Declare)38 b(that)g(the)f(datum)f(stored)h(at)h
3753Fk(sym)e Fu(is)g Fk(size)f Fu(b)m(ytes)j(large)f(and)f(is)g(a)h(global)
3754g(sym)m(b)s(ol.)59 b(This)302 4705 y(directiv)m(e)32
3755b(enables)g(the)g(assem)m(bler)g(to)h(store)g(the)g(datum)e(in)g(a)i(p)
3756s(ortion)e(of)h(the)h(data)g(segmen)m(t)g(that)302 4818
3757y(is)d(e\016cien)m(tly)g(accessed)h(via)f(register)h
3758Fk($gp)p Fu(.)120 5000 y Fk(.float)47 b(f1,)f(...,)h(fn)302
37595113 y Fu(Store)31 b(the)f Fg(n)g Fu(\015oating)h(p)s(oin)m(t)e(single)
3760g(precision)g(n)m(um)m(b)s(ers)f(in)i(successiv)m(e)g(memory)h(lo)s
3761(cations.)120 5294 y Fk(.globl)47 b(sym)302 5407 y Fu(Declare)32
3762b(that)f(sym)m(b)s(ol)e Fk(sym)g Fu(is)h(global)f(and)h(can)h(b)s(e)e
3763(referenced)i(from)f(other)g(\014les.)1942 5656 y(7)p
3764eop
3765%%Page: 8 8
37668 7 bop 331 11 3268 4 v 329 110 4 100 v 503 80 a Ff(Service)p
3767972 110 V 221 w(System)31 b(Call)g(Co)s(de)p 1821 110
3768V 1821 110 V 362 w(Argumen)m(ts)p 2909 110 V 2909 110
3769V 522 w(Result)p 3597 110 V 331 113 3268 4 v 331 130
3770V 329 230 4 100 v 381 200 a Fx(prin)n(t)p 564 200 25
37714 v 30 w(in)n(t)p 972 230 4 100 v 689 w(1)p 1821 230
3772V 454 w Fe($a0)26 b Fx(=)h(in)n(teger)p 2909 230 V 3597
3773230 V 329 329 V 381 299 a(prin)n(t)p 564 299 25 4 v 30
3774w(\015oat)p 972 329 4 100 v 626 w(2)p 1821 329 V 454
3775w Fe($f12)f Fx(=)h(\015oat)p 2909 329 V 3597 329 V 329
3776429 V 381 399 a(prin)n(t)p 564 399 25 4 v 30 w(double)p
3777972 429 4 100 v 548 w(3)p 1821 429 V 454 w Fe($f12)f
3778Fx(=)h(double)p 2909 429 V 3597 429 V 329 529 V 381 499
3779a(prin)n(t)p 564 499 25 4 v 30 w(string)p 972 529 4 100
3780v 579 w(4)p 1821 529 V 454 w Fe($a0)f Fx(=)h(string)p
37812909 529 V 3597 529 V 329 628 V 381 598 a(read)p 544
3782598 25 4 v 29 w(in)n(t)p 972 628 4 100 v 710 w(5)p 1821
3783628 V 2909 628 V 1541 w(in)n(teger)g(\(in)h Fe($v0)p
3784Fx(\))p 3597 628 V 329 728 V 381 698 a(read)p 544 698
378525 4 v 29 w(\015oat)p 972 728 4 100 v 647 w(6)p 1821
3786728 V 2909 728 V 1541 w(\015oat)g(\(in)g Fe($f0)p Fx(\))p
37873597 728 V 329 827 V 381 798 a(read)p 544 798 25 4 v
378829 w(double)p 972 827 4 100 v 569 w(7)p 1821 827 V 2909
3789827 V 1541 w(double)g(\(in)g Fe($f0)p Fx(\))p 3597 827
3790V 329 927 V 381 897 a(read)p 544 897 25 4 v 29 w(string)p
3791972 927 4 100 v 600 w(8)p 1821 927 V 454 w Fe($a0)e Fx(=)h(bu\013er,)h
3792Fe($a1)f Fx(=)g(length)p 2909 927 V 3597 927 V 329 1027
3793V 381 997 a(sbrk)p 972 1027 V 840 w(9)p 1821 1027 V 454
3794w Fe($a0)f Fx(=)h(amoun)n(t)p 2909 1027 V 562 w(address)g(\(in)h
3795Fe($v0)p Fx(\))p 3597 1027 V 329 1126 V 381 1096 a(exit)p
3796972 1126 V 840 w(10)p 1821 1126 V 2909 1126 V 3597 1126
3797V 329 1226 V 381 1196 a(prin)n(t)p 564 1196 25 4 v 30
3798w(c)n(haracter)p 972 1226 4 100 v 431 w(11)p 1821 1226
3799V 432 w Fe($a0)e Fx(=)h(in)n(teger)p 2909 1226 V 3597
38001226 V 329 1326 V 381 1296 a(read)p 544 1296 25 4 v 29
3801w(c)n(haracter)p 972 1326 4 100 v 452 w(12)p 1821 1326
3802V 432 w(c)n(har)f(\(in)i Fe($v0)p Fx(\))p 2909 1326 V
3803331 1329 3268 4 v 1463 1583 a Fu(T)-8 b(able)30 b(1:)41
3804b(System)30 b(services.)120 1858 y Fk(.half)47 b(h1,)g(...,)f(hn)302
38051971 y Fu(Store)31 b(the)f Fg(n)g Fu(16-bit)h(quan)m(tities)f(in)f
3806(successiv)m(e)h(memory)h(halfw)m(ords.)120 2159 y Fk(.kdata)47
3807b(<addr>)302 2271 y Fu(The)40 b(follo)m(wing)e(data)i(items)g(should)e
3808(b)s(e)h(stored)h(in)e(the)i(k)m(ernel)g(data)g(segmen)m(t.)70
3809b(If)40 b(the)g(optional)302 2384 y(argumen)m(t)31 b
3810Fl(addr)42 b Fu(is)29 b(presen)m(t,)i(the)g(items)e(are)i(stored)g(b)s
3811(eginning)c(at)32 b(address)d Fl(addr)10 b Fu(.)120 2572
3812y Fk(.ktext)47 b(<addr>)302 2685 y Fu(The)37 b(next)h(items)f(are)h
3813(put)f(in)f(the)i(k)m(ernel)f(text)i(segmen)m(t.)63 b(In)37
3814b(SPIM,)h(these)g(items)f(ma)m(y)h(only)f(b)s(e)302 2798
3815y(instructions)e(or)h(w)m(ords)g(\(see)i(the)e Fk(.word)g
3816Fu(directiv)m(e)g(b)s(elo)m(w\).)58 b(If)36 b(the)h(optional)f(argumen)
3817m(t)h Fl(addr)48 b Fu(is)302 2911 y(presen)m(t,)31 b(the)g(items)e(are)
3818i(stored)g(b)s(eginning)c(at)k(address)f Fl(addr)10 b
3819Fu(.)120 3098 y Fk(.space)47 b(n)302 3211 y Fu(Allo)s(cate)41
3820b Fg(n)g Fu(b)m(ytes)g(of)h(space)f(in)f(the)h(curren)m(t)g(segmen)m(t)
3821h(\(whic)m(h)e(m)m(ust)h(b)s(e)f(the)h(data)h(segmen)m(t)g(in)302
38223324 y(SPIM\).)120 3512 y Fk(.text)47 b(<addr>)302 3625
3823y Fu(The)42 b(next)f(items)h(are)g(put)f(in)f(the)i(user)f(text)i
3824(segmen)m(t.)76 b(In)41 b(SPIM,)h(these)g(items)f(ma)m(y)i(only)e(b)s
3825(e)302 3738 y(instructions)35 b(or)h(w)m(ords)g(\(see)i(the)e
3826Fk(.word)g Fu(directiv)m(e)g(b)s(elo)m(w\).)58 b(If)36
3827b(the)h(optional)f(argumen)m(t)h Fl(addr)48 b Fu(is)302
38283851 y(presen)m(t,)31 b(the)g(items)e(are)i(stored)g(b)s(eginning)c(at)
3829k(address)f Fl(addr)10 b Fu(.)120 4038 y Fk(.word)47
3830b(w1,)g(...,)f(wn)302 4151 y Fu(Store)31 b(the)f Fg(n)g
3831Fu(32-bit)h(quan)m(tities)f(in)f(successiv)m(e)h(memory)h(w)m(ords.)75
38324339 y(SPIM)f(do)s(es)g(not)h(distinguish)26 b(v)-5 b(arious)29
3833b(parts)i(of)f(the)h(data)g(segmen)m(t)g(\()p Fk(.data)p
3834Fu(,)f Fk(.rdata)p Fu(,)f(and)g Fk(.sdata)p Fu(\).)75
38354582 y Fm(1.5)112 b(System)37 b(Calls)75 4754 y Fu(SPIM)32
3836b(pro)m(vides)f(a)i(small)d(set)j(of)f(op)s(erating-system-lik)m(e)g
3837(services)g(through)g(the)g(system)h(call)e(\()p Fk(syscall)p
3838Fu(\))75 4867 y(instruction.)37 b(T)-8 b(o)24 b(request)h(a)f(service,)
3839i(a)f(program)f(loads)g(the)g(system)g(call)g(co)s(de)h(\(see)g(T)-8
3840b(able)24 b(1\))h(in)m(to)f(register)75 4980 y Fk($v0)j
3841Fu(and)f(the)i(argumen)m(ts)g(in)m(to)f(registers)g Fk($a0)p
3842Fg(:)15 b(:)g(:)q Fk($a3)26 b Fu(\(or)i Fk($f12)e Fu(for)h(\015oating)h
3843(p)s(oin)m(t)e(v)-5 b(alues\).)40 b(System)27 b(calls)75
38445093 y(that)d(return)e(v)-5 b(alues)23 b(put)g(their)f(result)h(in)f
3845(register)h Fk($v0)g Fu(\(or)h Fk($f0)e Fu(for)h(\015oating)h(p)s(oin)m
3846(t)e(results\).)38 b(F)-8 b(or)24 b(example,)75 5205
3847y(to)31 b(prin)m(t)e(\\)p Fk(the)47 b(answer)g(=)g(5)p
3848Fu(",)31 b(use)f(the)g(commands:)1942 5656 y(8)p eop
3849%%Page: 9 9
38509 8 bop 457 99 a Fk(.data)170 211 y(str:)95 b(.asciiz)46
3851b("the)g(answer)g(=)i(")457 324 y(.text)457 437 y(li)f($v0,)g(4)381
3852b(#)48 b(system)e(call)g(code)h(for)g(print_str)457 550
3853y(la)g($a0,)g(str)285 b(#)48 b(address)d(of)j(string)e(to)h(print)457
3854663 y(syscall)475 b(#)48 b(print)e(the)h(string)457 889
3855y(li)g($v0,)g(1)381 b(#)48 b(system)e(call)g(code)h(for)g(print_int)457
38561002 y(li)g($a0,)g(5)381 b(#)48 b(integer)d(to)j(print)457
38571115 y(syscall)475 b(#)48 b(print)e(it)216 1302 y(print)p
3858462 1302 29 4 v 33 w(int)37 b Fu(is)g(passed)h(an)g(in)m(teger)h(and)e
3859(prin)m(ts)g(it)g(on)h(the)g(console.)65 b Fk(print)p
38602977 1302 V 33 w(float)36 b Fu(prin)m(ts)h(a)h(single)75
38611415 y(\015oating)24 b(p)s(oin)m(t)g(n)m(um)m(b)s(er.)37
3862b Fk(print)p 1239 1415 V 33 w(double)23 b Fu(prin)m(ts)g(a)i(double)e
3863(precision)g(n)m(um)m(b)s(er.)37 b Fk(print)p 3173 1415
3864V 33 w(string)23 b Fu(is)g(passed)75 1528 y(a)31 b(p)s(oin)m(ter)e(to)i
3865(a)g(n)m(ull-terminated)d(string,)i(whic)m(h)f(it)h(writes)f(to)i(the)g
3866(console.)216 1641 y Fk(read)p 414 1641 V 33 w(int)p
3867Fu(,)26 b Fk(read)p 834 1641 V 34 w(float)p Fu(,)f(and)g
3868Fk(read)p 1522 1641 V 33 w(double)f Fu(read)i(an)f(en)m(tire)h(line)e
3869(of)i(input)d(up)i(to)h(and)g(including)c(the)75 1754
3870y(newline.)38 b(Characters)30 b(follo)m(wing)e(the)i(n)m(um)m(b)s(er)e
3871(are)i(ignored.)40 b Fk(read)p 2475 1754 V 33 w(string)28
3872b Fu(has)h(the)h(same)g(seman)m(tics)g(as)75 1867 y(the)37
3873b(Unix)f(library)e(routine)i Fk(fgets)p Fu(.)58 b(It)37
3874b(reads)g(up)e(to)j Fg(n)24 b Fj(\000)g Fu(1)37 b(c)m(haracters)h(in)m
3875(to)f(a)g(bu\013er)f(and)g(terminates)75 1980 y(the)f(string)e(with)h
3876(a)h(n)m(ull)d(b)m(yte.)54 b(If)34 b(there)h(are)g(few)m(er)g(c)m
3877(haracters)h(on)f(the)f(curren)m(t)h(line,)f(it)g(reads)h(through)75
38782093 y(the)f(newline)e(and)i(again)g(n)m(ull-terminates)f(the)h
3879(string.)51 b Fi(W)-9 b(arning:)49 b Fu(programs)34 b(that)h(use)e
3880(these)i(syscalls)75 2206 y(to)c(read)f(from)g(the)h(terminal)e(should)
3881f(not)j(use)f(memory-mapp)s(ed)f(IO)h(\(see)h(Section)f(5\).)216
38822319 y Fk(sbrk)35 b Fu(returns)h(a)h(p)s(oin)m(ter)e(to)i(a)g(blo)s(c)m
3883(k)f(of)h(memory)f(con)m(taining)g Fg(n)g Fu(additional)e(b)m(ytes.)60
3884b Fk(exit)35 b Fu(stops)i(a)75 2431 y(program)30 b(from)g(running.)75
38852718 y Fs(2)135 b(Description)45 b(of)h(the)f(MIPS)f(R2000)75
38862921 y Fu(A)27 b(MIPS)g(pro)s(cessor)f(consists)h(of)g(an)g(in)m(teger)
3887g(pro)s(cessing)f(unit)f(\(the)j(CPU\))f(and)f(a)h(collection)g(of)g
3888(copro)s(ces-)75 3034 y(sors)c(that)g(p)s(erform)f(ancillary)f(tasks)j
3889(or)f(op)s(erate)g(on)g(other)g(t)m(yp)s(es)h(of)f(data)g(suc)m(h)g(as)
3890g(\015oating)g(p)s(oin)m(t)f(n)m(um)m(b)s(ers)75 3147
3891y(\(see)31 b(Figure)e(2\).)42 b(SPIM)29 b(sim)m(ulates)g(t)m(w)m(o)i
3892(copro)s(cessors.)41 b(Copro)s(cessor)30 b(0)g(handles)e(traps,)i
3893(exceptions,)h(and)75 3260 y(the)h(virtual)e(memory)i(system.)46
3894b(SPIM)31 b(sim)m(ulates)g(most)h(of)g(the)h(\014rst)e(t)m(w)m(o)i(and)
3895e(en)m(tirely)g(omits)h(details)f(of)75 3372 y(the)i(memory)f(system.)
389648 b(Copro)s(cessor)32 b(1)h(is)f(the)h(\015oating)f(p)s(oin)m(t)g
3897(unit.)46 b(SPIM)32 b(sim)m(ulates)g(most)h(asp)s(ects)g(of)75
38983485 y(this)c(unit.)75 3729 y Fm(2.1)112 b(CPU)37 b(Registers)75
38993900 y Fu(The)28 b(MIPS)g(\(and)g(SPIM\))g(cen)m(tral)h(pro)s(cessing)e
3900(unit)g(con)m(tains)i(32)g(general)g(purp)s(ose)d(32-bit)j(registers)f
3901(that)75 4013 y(are)j(n)m(um)m(b)s(ered)e(0{31.)44 b(Register)30
3902b Fg(n)g Fu(is)g(designated)g(b)m(y)h Fk($n)p Fu(.)41
3903b(Register)31 b Fk($0)f Fu(alw)m(a)m(ys)h(con)m(tains)g(the)g
3904(hardwired)75 4126 y(v)-5 b(alue)34 b(0.)52 b(MIPS)34
3905b(has)g(established)e(a)j(set)f(of)h(con)m(v)m(en)m(tions)g(as)f(to)h
3906(ho)m(w)f(registers)g(should)e(b)s(e)i(used.)51 b(These)75
39074239 y(suggestions)36 b(are)g(guidelines,)f(whic)m(h)g(are)h(not)g
3908(enforced)g(b)m(y)g(the)g(hardw)m(are.)56 b(Ho)m(w)m(ev)m(er)38
3909b(a)f(program)e(that)75 4352 y(violates)23 b(them)g(will)d(not)k(w)m
3910(ork)f(prop)s(erly)e(with)g(other)j(soft)m(w)m(are.)39
3911b(T)-8 b(able)23 b(2)h(lists)d(the)i(registers)g(and)g(describ)s(es)75
39124465 y(their)29 b(in)m(tended)h(use.)216 4578 y(Registers)25
3913b Fk($at)g Fu(\(1\),)i Fk($k0)d Fu(\(26\),)k(and)d Fk($k1)f
3914Fu(\(27\))j(are)e(reserv)m(ed)g(for)g(use)g(b)m(y)g(the)g(assem)m(bler)
3915g(and)f(op)s(erating)75 4691 y(system.)216 4804 y(Registers)39
3916b Fk($a0)p Fu({)p Fk($a3)f Fu(\(4{7\))j(are)f(used)e(to)i(pass)e(the)i
3917(\014rst)e(four)g(argumen)m(ts)i(to)g(routines)d(\(remaining)75
39184917 y(argumen)m(ts)i(are)h(passed)e(on)h(the)h(stac)m(k\).)68
3919b(Registers)39 b Fk($v0)f Fu(and)h Fk($v1)f Fu(\(2,)k(3\))e(are)g(used)
3920e(to)i(return)e(v)-5 b(alues)75 5030 y(from)33 b(functions.)49
3921b(Registers)34 b Fk($t0)p Fu({)p Fk($t9)e Fu(\(8{15,)37
3922b(24,)f(25\))e(are)g(caller-sa)m(v)m(ed)h(registers)e(used)g(for)g
3923(temp)s(orary)75 5142 y(quan)m(tities)f(that)h(do)g(not)f(need)h(to)g
3924(b)s(e)f(preserv)m(ed)g(across)i(calls.)46 b(Registers)33
3925b Fk($s0)p Fu({)p Fk($s7)e Fu(\(16{23\))36 b(are)d(callee-)75
39265255 y(sa)m(v)m(ed)e(registers)g(that)g(hold)e(long-liv)m(ed)g(v)-5
3927b(alues)29 b(that)i(should)e(b)s(e)g(preserv)m(ed)i(across)f(calls.)
39281942 5656 y(9)p eop
3929%%Page: 10 10
393010 9 bop 608 918 2715 4 v 606 1017 4 100 v 658 987 a
3931Ff(Register)30 b(Name)p 1329 1017 V 98 w(Num)m(b)s(er)p
39321773 1017 V 1773 1017 V 698 w(Usage)p 3321 1017 V 608
39331020 2715 4 v 608 1037 V 606 1137 4 100 v 658 1107 a
3934Fx(zero)p 1329 1137 V 876 w(0)p 1773 1137 V 99 w(Constan)n(t)d(0)p
39353321 1137 V 606 1236 V 658 1206 a(at)p 1329 1236 V 951
3936w(1)p 1773 1236 V 99 w(Reserv)n(ed)f(for)h(assem)n(bler)p
39373321 1236 V 606 1336 V 658 1306 a(v0)p 1329 1336 V 939
3938w(2)p 1773 1336 V 99 w(Expression)f(ev)-5 b(aluation)27
3939b(and)p 3321 1336 V 606 1436 V 658 1406 a(v1)p 1329 1436
3940V 939 w(3)p 1773 1436 V 210 w(results)g(of)g(a)g(function)p
39413321 1436 V 606 1535 V 658 1505 a(a0)p 1329 1535 V 941
3942w(4)p 1773 1535 V 99 w(Argumen)n(t)g(1)p 3321 1535 V
3943606 1635 V 658 1605 a(a1)p 1329 1635 V 941 w(5)p 1773
39441635 V 99 w(Argumen)n(t)g(2)p 3321 1635 V 606 1734 V
3945658 1705 a(a2)p 1329 1734 V 941 w(6)p 1773 1734 V 99
3946w(Argumen)n(t)g(3)p 3321 1734 V 606 1834 V 658 1804 a(a3)p
39471329 1834 V 941 w(7)p 1773 1834 V 99 w(Argumen)n(t)g(4)p
39483321 1834 V 606 1934 V 658 1904 a(t0)p 1329 1934 V 951
3949w(8)p 1773 1934 V 99 w(T)-7 b(emp)r(orary)26 b(\(not)i(preserv)n(ed)e
3950(across)f(call\))p 3321 1934 V 606 2033 V 658 2003 a(t1)p
39511329 2033 V 951 w(9)p 1773 2033 V 99 w(T)-7 b(emp)r(orary)26
3952b(\(not)i(preserv)n(ed)e(across)f(call\))p 3321 2033
3953V 606 2133 V 658 2103 a(t2)p 1329 2133 V 909 w(10)p 1773
39542133 V 99 w(T)-7 b(emp)r(orary)26 b(\(not)i(preserv)n(ed)e(across)f
3955(call\))p 3321 2133 V 606 2233 V 658 2203 a(t3)p 1329
39562233 V 909 w(11)p 1773 2233 V 99 w(T)-7 b(emp)r(orary)26
3957b(\(not)i(preserv)n(ed)e(across)f(call\))p 3321 2233
3958V 606 2332 V 658 2302 a(t4)p 1329 2332 V 909 w(12)p 1773
39592332 V 99 w(T)-7 b(emp)r(orary)26 b(\(not)i(preserv)n(ed)e(across)f
3960(call\))p 3321 2332 V 606 2432 V 658 2402 a(t5)p 1329
39612432 V 909 w(13)p 1773 2432 V 99 w(T)-7 b(emp)r(orary)26
3962b(\(not)i(preserv)n(ed)e(across)f(call\))p 3321 2432
3963V 606 2531 V 658 2502 a(t6)p 1329 2531 V 909 w(14)p 1773
39642531 V 99 w(T)-7 b(emp)r(orary)26 b(\(not)i(preserv)n(ed)e(across)f
3965(call\))p 3321 2531 V 606 2631 V 658 2601 a(t7)p 1329
39662631 V 909 w(15)p 1773 2631 V 99 w(T)-7 b(emp)r(orary)26
3967b(\(not)i(preserv)n(ed)e(across)f(call\))p 3321 2631
3968V 606 2731 V 658 2701 a(s0)p 1329 2731 V 908 w(16)p 1773
39692731 V 99 w(Sa)n(v)n(ed)i(temp)r(orary)f(\(preserv)n(ed)g(across)g
3970(call\))p 3321 2731 V 606 2830 V 658 2800 a(s1)p 1329
39712830 V 908 w(17)p 1773 2830 V 99 w(Sa)n(v)n(ed)h(temp)r(orary)f
3972(\(preserv)n(ed)g(across)g(call\))p 3321 2830 V 606 2930
3973V 658 2900 a(s2)p 1329 2930 V 908 w(18)p 1773 2930 V
397499 w(Sa)n(v)n(ed)h(temp)r(orary)f(\(preserv)n(ed)g(across)g(call\))p
39753321 2930 V 606 3030 V 658 3000 a(s3)p 1329 3030 V 908
3976w(19)p 1773 3030 V 99 w(Sa)n(v)n(ed)h(temp)r(orary)f(\(preserv)n(ed)g
3977(across)g(call\))p 3321 3030 V 606 3129 V 658 3099 a(s4)p
39781329 3129 V 908 w(20)p 1773 3129 V 99 w(Sa)n(v)n(ed)h(temp)r(orary)f
3979(\(preserv)n(ed)g(across)g(call\))p 3321 3129 V 606 3229
3980V 658 3199 a(s5)p 1329 3229 V 908 w(21)p 1773 3229 V
398199 w(Sa)n(v)n(ed)h(temp)r(orary)f(\(preserv)n(ed)g(across)g(call\))p
39823321 3229 V 606 3328 V 658 3299 a(s6)p 1329 3328 V 908
3983w(22)p 1773 3328 V 99 w(Sa)n(v)n(ed)h(temp)r(orary)f(\(preserv)n(ed)g
3984(across)g(call\))p 3321 3328 V 606 3428 V 658 3398 a(s7)p
39851329 3428 V 908 w(23)p 1773 3428 V 99 w(Sa)n(v)n(ed)h(temp)r(orary)f
3986(\(preserv)n(ed)g(across)g(call\))p 3321 3428 V 606 3528
3987V 658 3498 a(t8)p 1329 3528 V 909 w(24)p 1773 3528 V
398899 w(T)-7 b(emp)r(orary)26 b(\(not)i(preserv)n(ed)e(across)f(call\))p
39893321 3528 V 606 3627 V 658 3597 a(t9)p 1329 3627 V 909
3990w(25)p 1773 3627 V 99 w(T)-7 b(emp)r(orary)26 b(\(not)i(preserv)n(ed)e
3991(across)f(call\))p 3321 3627 V 606 3727 V 658 3697 a(k0)p
39921329 3727 V 897 w(26)p 1773 3727 V 99 w(Reserv)n(ed)h(for)h(OS)h(k)n
3993(ernel)p 3321 3727 V 606 3827 V 658 3797 a(k1)p 1329
39943827 V 897 w(27)p 1773 3827 V 99 w(Reserv)n(ed)e(for)h(OS)h(k)n(ernel)p
39953321 3827 V 606 3926 V 658 3896 a(gp)p 1329 3926 V 895
3996w(28)p 1773 3926 V 99 w(P)n(oin)n(ter)e(to)h(global)g(area)p
39973321 3926 V 606 4026 V 658 3996 a(sp)p 1329 4026 V 904
3998w(29)p 1773 4026 V 99 w(Stac)n(k)g(p)r(oin)n(ter)p 3321
39994026 V 606 4125 V 658 4096 a(fp)p 1329 4125 V 912 w(30)p
40001773 4125 V 99 w(F)-7 b(rame)27 b(p)r(oin)n(ter)p 3321
40014125 V 606 4225 V 658 4195 a(ra)p 1329 4225 V 908 w(31)p
40021773 4225 V 99 w(Return)h(address)e(\(used)i(b)n(y)f(function)h(call\))
4003p 3321 4225 V 608 4228 2715 4 v 690 4483 a Fu(T)-8 b(able)30
4004b(2:)41 b(MIPS)30 b(registers)g(and)g(the)h(con)m(v)m(en)m(tion)g(go)m
4005(v)m(erning)g(their)f(use.)1920 5656 y(10)p eop
4006%%Page: 11 11
400711 10 bop 897 7 a
4008 16861171 18945146 4604723 20326563 29996482 48810065 startTexFig
4009 897 7 a
4010%%BeginDocument: mips.id
4011%!PS-Adobe-2.0 EPSF-1.2
4012%%DocumentFonts: Helvetica
4013%%Pages: 1
4014%%BoundingBox: 70 309 456 742
4015%%EndComments
4016
4017/IdrawDict 51 dict def
4018IdrawDict begin
4019
4020/reencodeISO {
4021dup dup findfont dup length dict begin
4022{ 1 index /FID ne { def }{ pop pop } ifelse } forall
4023/Encoding ISOLatin1Encoding def
4024currentdict end definefont
4025} def
4026
4027/ISOLatin1Encoding [
4028/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4029/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4030/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4031/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4032/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
4033/parenleft/parenright/asterisk/plus/comma/minus/period/slash
4034/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
4035/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
4036/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
4037/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
4038/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
4039/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4040/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
4041/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
4042/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
4043/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
4044/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
4045/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
4046/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
4047/guillemotright/onequarter/onehalf/threequarters/questiondown
4048/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
4049/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
4050/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
4051/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
4052/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
4053/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
4054/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
4055/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
4056/yacute/thorn/ydieresis
4057] def
4058/Helvetica reencodeISO def
4059
4060/arrowHeight 8 def
4061/arrowWidth 4 def
4062/none null def
4063/numGraphicParameters 17 def
4064/stringLimit 65535 def
4065
4066/Begin {
4067save
4068numGraphicParameters dict begin
4069} def
4070
4071/End {
4072end
4073restore
4074} def
4075
4076/SetB {
4077dup type /nulltype eq {
4078pop
4079false /brushRightArrow idef
4080false /brushLeftArrow idef
4081true /brushNone idef
4082} {
4083/brushDashOffset idef
4084/brushDashArray idef
40850 ne /brushRightArrow idef
40860 ne /brushLeftArrow idef
4087/brushWidth idef
4088false /brushNone idef
4089} ifelse
4090} def
4091
4092/SetCFg {
4093/fgblue idef
4094/fggreen idef
4095/fgred idef
4096} def
4097
4098/SetCBg {
4099/bgblue idef
4100/bggreen idef
4101/bgred idef
4102} def
4103
4104/SetF {
4105/printSize idef
4106/printFont idef
4107} def
4108
4109/SetP {
4110dup type /nulltype eq {
4111pop true /patternNone idef
4112} {
4113dup -1 eq {
4114/patternGrayLevel idef
4115/patternString idef
4116} {
4117/patternGrayLevel idef
4118} ifelse
4119false /patternNone idef
4120} ifelse
4121} def
4122
4123/BSpl {
41240 begin
4125storexyn
4126newpath
4127n 1 gt {
41280 0 0 0 0 0 1 1 true subspline
4129n 2 gt {
41300 0 0 0 1 1 2 2 false subspline
41311 1 n 3 sub {
4132/i exch def
4133i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
4134} for
4135n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
4136} if
4137n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
4138patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
4139brushNone not { istroke } if
41400 0 1 1 leftarrow
4141n 2 sub dup n 1 sub dup rightarrow
4142} if
4143end
4144} dup 0 4 dict put def
4145
4146/Circ {
4147newpath
41480 360 arc
4149patternNone not { ifill } if
4150brushNone not { istroke } if
4151} def
4152
4153/CBSpl {
41540 begin
4155dup 2 gt {
4156storexyn
4157newpath
4158n 1 sub dup 0 0 1 1 2 2 true subspline
41591 1 n 3 sub {
4160/i exch def
4161i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
4162} for
4163n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
4164n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
4165patternNone not { ifill } if
4166brushNone not { istroke } if
4167} {
4168Poly
4169} ifelse
4170end
4171} dup 0 4 dict put def
4172
4173/Elli {
41740 begin
4175newpath
41764 2 roll
4177translate
4178scale
41790 0 1 0 360 arc
4180patternNone not { ifill } if
4181brushNone not { istroke } if
4182end
4183} dup 0 1 dict put def
4184
4185/Line {
41860 begin
41872 storexyn
4188newpath
4189x 0 get y 0 get moveto
4190x 1 get y 1 get lineto
4191brushNone not { istroke } if
41920 0 1 1 leftarrow
41930 0 1 1 rightarrow
4194end
4195} dup 0 4 dict put def
4196
4197/MLine {
41980 begin
4199storexyn
4200newpath
4201n 1 gt {
4202x 0 get y 0 get moveto
42031 1 n 1 sub {
4204/i exch def
4205x i get y i get lineto
4206} for
4207patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
4208brushNone not { istroke } if
42090 0 1 1 leftarrow
4210n 2 sub dup n 1 sub dup rightarrow
4211} if
4212end
4213} dup 0 4 dict put def
4214
4215/Poly {
42163 1 roll
4217newpath
4218moveto
4219-1 add
4220{ lineto } repeat
4221closepath
4222patternNone not { ifill } if
4223brushNone not { istroke } if
4224} def
4225
4226/Rect {
42270 begin
4228/t exch def
4229/r exch def
4230/b exch def
4231/l exch def
4232newpath
4233l b moveto
4234l t lineto
4235r t lineto
4236r b lineto
4237closepath
4238patternNone not { ifill } if
4239brushNone not { istroke } if
4240end
4241} dup 0 4 dict put def
4242
4243/Text {
4244ishow
4245} def
4246
4247/idef {
4248dup where { pop pop pop } { exch def } ifelse
4249} def
4250
4251/ifill {
42520 begin
4253gsave
4254patternGrayLevel -1 ne {
4255fgred bgred fgred sub patternGrayLevel mul add
4256fggreen bggreen fggreen sub patternGrayLevel mul add
4257fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
4258eofill
4259} {
4260eoclip
4261originalCTM setmatrix
4262pathbbox /t exch def /r exch def /b exch def /l exch def
4263/w r l sub ceiling cvi def
4264/h t b sub ceiling cvi def
4265/imageByteWidth w 8 div ceiling cvi def
4266/imageHeight h def
4267bgred bggreen bgblue setrgbcolor
4268eofill
4269fgred fggreen fgblue setrgbcolor
4270w 0 gt h 0 gt and {
4271l b translate w h scale
4272w h true [w 0 0 h neg 0 h] { patternproc } imagemask
4273} if
4274} ifelse
4275grestore
4276end
4277} dup 0 8 dict put def
4278
4279/istroke {
4280gsave
4281brushDashOffset -1 eq {
4282[] 0 setdash
42831 setgray
4284} {
4285brushDashArray brushDashOffset setdash
4286fgred fggreen fgblue setrgbcolor
4287} ifelse
4288brushWidth setlinewidth
4289originalCTM setmatrix
4290stroke
4291grestore
4292} def
4293
4294/ishow {
42950 begin
4296gsave
4297fgred fggreen fgblue setrgbcolor
4298printFont printSize scalefont setfont
4299/descender 0 printFont /FontBBox get 1 get printFont /FontMatrix
4300get transform exch pop def
4301/vertoffset 1 printSize sub descender sub def {
43020 vertoffset moveto show
4303/vertoffset vertoffset printSize sub def
4304} forall
4305grestore
4306end
4307} dup 0 2 dict put def
4308
4309/patternproc {
43100 begin
4311/patternByteLength patternString length def
4312/patternHeight patternByteLength 8 mul sqrt cvi def
4313/patternWidth patternHeight def
4314/patternByteWidth patternWidth 8 idiv def
4315/imageByteMaxLength imageByteWidth imageHeight mul
4316stringLimit patternByteWidth sub min def
4317/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
4318patternHeight mul patternHeight max def
4319/imageHeight imageHeight imageMaxHeight sub store
4320/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
43210 1 imageMaxHeight 1 sub {
4322/y exch def
4323/patternRow y patternByteWidth mul patternByteLength mod def
4324/patternRowString patternString patternRow patternByteWidth getinterval def
4325/imageRow y imageByteWidth mul def
43260 patternByteWidth imageByteWidth 1 sub {
4327/x exch def
4328imageString imageRow x add patternRowString putinterval
4329} for
4330} for
4331imageString
4332end
4333} dup 0 12 dict put def
4334
4335/min {
4336dup 3 2 roll dup 4 3 roll lt { exch } if pop
4337} def
4338
4339/max {
4340dup 3 2 roll dup 4 3 roll gt { exch } if pop
4341} def
4342
4343/arrowhead {
43440 begin
4345transform originalCTM itransform
4346/taily exch def
4347/tailx exch def
4348transform originalCTM itransform
4349/tipy exch def
4350/tipx exch def
4351/dy tipy taily sub def
4352/dx tipx tailx sub def
4353/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
4354gsave
4355originalCTM setmatrix
4356tipx tipy translate
4357angle rotate
4358newpath
43590 0 moveto
4360arrowHeight neg arrowWidth 2 div lineto
4361arrowHeight neg arrowWidth 2 div neg lineto
4362closepath
4363patternNone not {
4364originalCTM setmatrix
4365/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
4366arrowWidth div def
4367/padtail brushWidth 2 div def
4368tipx tipy translate
4369angle rotate
4370padtip 0 translate
4371arrowHeight padtip add padtail add arrowHeight div dup scale
4372arrowheadpath
4373ifill
4374} if
4375brushNone not {
4376originalCTM setmatrix
4377tipx tipy translate
4378angle rotate
4379arrowheadpath
4380istroke
4381} if
4382grestore
4383end
4384} dup 0 9 dict put def
4385
4386/arrowheadpath {
4387newpath
43880 0 moveto
4389arrowHeight neg arrowWidth 2 div lineto
4390arrowHeight neg arrowWidth 2 div neg lineto
4391closepath
4392} def
4393
4394/leftarrow {
43950 begin
4396y exch get /taily exch def
4397x exch get /tailx exch def
4398y exch get /tipy exch def
4399x exch get /tipx exch def
4400brushLeftArrow { tipx tipy tailx taily arrowhead } if
4401end
4402} dup 0 4 dict put def
4403
4404/rightarrow {
44050 begin
4406y exch get /tipy exch def
4407x exch get /tipx exch def
4408y exch get /taily exch def
4409x exch get /tailx exch def
4410brushRightArrow { tipx tipy tailx taily arrowhead } if
4411end
4412} dup 0 4 dict put def
4413
4414/midpoint {
44150 begin
4416/y1 exch def
4417/x1 exch def
4418/y0 exch def
4419/x0 exch def
4420x0 x1 add 2 div
4421y0 y1 add 2 div
4422end
4423} dup 0 4 dict put def
4424
4425/thirdpoint {
44260 begin
4427/y1 exch def
4428/x1 exch def
4429/y0 exch def
4430/x0 exch def
4431x0 2 mul x1 add 3 div
4432y0 2 mul y1 add 3 div
4433end
4434} dup 0 4 dict put def
4435
4436/subspline {
44370 begin
4438/movetoNeeded exch def
4439y exch get /y3 exch def
4440x exch get /x3 exch def
4441y exch get /y2 exch def
4442x exch get /x2 exch def
4443y exch get /y1 exch def
4444x exch get /x1 exch def
4445y exch get /y0 exch def
4446x exch get /x0 exch def
4447x1 y1 x2 y2 thirdpoint
4448/p1y exch def
4449/p1x exch def
4450x2 y2 x1 y1 thirdpoint
4451/p2y exch def
4452/p2x exch def
4453x1 y1 x0 y0 thirdpoint
4454p1x p1y midpoint
4455/p0y exch def
4456/p0x exch def
4457x2 y2 x3 y3 thirdpoint
4458p2x p2y midpoint
4459/p3y exch def
4460/p3x exch def
4461movetoNeeded { p0x p0y moveto } if
4462p1x p1y p2x p2y p3x p3y curveto
4463end
4464} dup 0 17 dict put def
4465
4466/storexyn {
4467/n exch def
4468/y n array def
4469/x n array def
4470n 1 sub -1 0 {
4471/i exch def
4472y i 3 2 roll put
4473x i 3 2 roll put
4474} for
4475} def
4476
4477%%EndProlog
4478
4479%I Idraw 9 Grid 8
4480
4481%%Page: 1 1
4482
4483Begin
4484%I b u
4485%I cfg u
4486%I cbg u
4487%I f u
4488%I p u
4489%I t
4490[ 0.923077 0 0 0.923077 0 0 ] concat
4491/originalCTM matrix currentmatrix def
4492
4493Begin %I Rect
4494%I b 65535
44951 0 0 [] 0 SetB
4496%I cfg Black
44970 0 0 SetCFg
4498%I cbg White
44991 1 1 SetCBg
4500%I p
45010 SetP
4502%I t
4503[ 1 0 0 1 52 232 ] concat
4504%I
4505155 493 319 562 Rect
4506End
4507
4508Begin %I Rect
4509%I b 65535
45101 0 0 [] 0 SetB
4511%I cfg Black
45120 0 0 SetCFg
4513%I cbg White
45141 1 1 SetCBg
4515%I p
45160 SetP
4517%I t
4518[ 1 0 0 1 97 131 ] concat
4519%I
4520222 327 395 542 Rect
4521End
4522
4523Begin %I Line
4524%I b 65535
45252 0 0 [] 0 SetB
4526%I cfg Black
45270 0 0 SetCFg
4528%I cbg White
45291 1 1 SetCBg
4530%I p
45310 SetP
4532%I t
4533[ 1 0 0 1 52 321 ] concat
4534%I
4535198 257 259 257 Line
4536End
4537
4538Begin %I Rect
4539%I b 65535
45401 1 1 [] 0 SetB
4541%I cfg Black
45420 0 0 SetCFg
4543%I cbg White
45441 1 1 SetCBg
4545%I p
4546< ff 88 88 88 ff 88 88 88 > -1 SetP
4547%I t
4548[ 1 0 0 1 52.5 320 ] concat
4549%I
4550147 413 311 482 Rect
4551End
4552
4553Begin %I Line
4554%I b 65535
45552 0 0 [] 0 SetB
4556%I cfg Black
45570 0 0 SetCFg
4558%I cbg White
45591 1 1 SetCBg
4560%I p
45610 SetP
4562%I t
4563[ 1 0 0 1 52 321 ] concat
4564%I
4565224 413 112 361 Line
4566End
4567
4568Begin %I Line
4569%I b 65535
45702 0 0 [] 0 SetB
4571%I cfg Black
45720 0 0 SetCFg
4573%I cbg White
45741 1 1 SetCBg
4575%I p
45760 SetP
4577%I t
4578[ 1 0 0 1 52 321 ] concat
4579%I
4580224 413 345 361 Line
4581End
4582
4583Begin %I Pict
4584%I b u
4585%I cfg u
4586%I cbg u
4587%I f u
4588%I p u
4589%I t u
4590
4591Begin %I Rect
4592%I b 65535
45931 0 0 [] 0 SetB
4594%I cfg Black
45950 0 0 SetCFg
4596%I cbg White
45971 1 1 SetCBg
4598%I p
45991 SetP
4600%I t
4601[ 1 0 0 1 254 131 ] concat
4602%I
460358 335 231 551 Rect
4604End
4605
4606Begin %I Pict
4607%I b u
4608%I cfg u
4609%I cbg u
4610%I f u
4611%I p u
4612%I t u
4613
4614Begin %I Line
4615%I b 65535
46161 0 0 [] 0 SetB
4617%I cfg Black
46180 0 0 SetCFg
4619%I cbg White
46201 1 1 SetCBg
4621%I p
46221 SetP
4623%I t
4624[ 1 0 0 1 237.25 131 ] concat
4625%I
4626127 482 197 482 Line
4627End
4628
4629Begin %I Line
4630%I b 65535
46311 0 0 [] 0 SetB
4632%I cfg Black
46330 0 0 SetCFg
4634%I cbg White
46351 1 1 SetCBg
4636%I p
46371 SetP
4638%I t
4639[ 1 0 0 1 237.25 131 ] concat
4640%I
4641127 430 197 430 Line
4642End
4643
4644Begin %I Rect
4645%I b 65535
46461 0 0 [] 0 SetB
4647%I cfg Black
46480 0 0 SetCFg
4649%I cbg White
46501 1 1 SetCBg
4651none SetP %I p n
4652%I t
4653[ 1 0 0 1 235.75 131 ] concat
4654%I
4655127 413 197 499 Rect
4656End
4657
4658Begin %I Text
4659%I cfg Black
46600 0 0 SetCFg
4661%I f *-helvetica-medium-r-normal--12-*-75-*
4662Helvetica 12 SetF
4663%I t
4664[ 1 0 0 1 373.25 648 ] concat
4665%I
4666[
4667(Registers)
4668] Text
4669End
4670
4671Begin %I Text
4672%I cfg Black
46730 0 0 SetCFg
4674%I f *-helvetica-medium-r-normal--12-*-75-*
4675Helvetica 12 SetF
4676%I t
4677[ 1 0 0 1 391.25 624.5 ] concat
4678%I
4679[
4680($0)
4681] Text
4682End
4683
4684Begin %I Text
4685%I cfg Black
46860 0 0 SetCFg
4687%I f *-helvetica-medium-r-normal--12-*-75-*
4688Helvetica 12 SetF
4689%I t
4690[ 1 0 0 1 387.75 555.5 ] concat
4691%I
4692[
4693($31)
4694] Text
4695End
4696
4697Begin %I Text
4698%I cfg Black
46990 0 0 SetCFg
4700%I f *-helvetica-medium-r-normal--12-*-75-*
4701Helvetica 12 SetF
4702%I t
4703[ 1 0 0 1 396.25 603 ] concat
4704%I
4705[
4706(.)
4707(.)
4708(.)
4709] Text
4710End
4711
4712End %I eop
4713
4714Begin %I Pict
4715%I b u
4716%I cfg u
4717%I cbg u
4718%I f u
4719%I p u
4720%I t
4721[ 1 0 0 1 152.5 0 ] concat
4722
4723Begin %I Rect
4724%I b 65535
47251 0 0 [] 0 SetB
4726%I cfg Black
47270 0 0 SetCFg
4728%I cbg White
47291 1 1 SetCBg
4730none SetP %I p n
4731%I t
4732[ 1 0 0 1 69 312 ] concat
4733%I
4734147 171 207 206 Rect
4735End
4736
4737Begin %I Text
4738%I cfg Black
47390 0 0 SetCFg
4740%I f *-helvetica-medium-r-normal--12-*-75-*
4741Helvetica 12 SetF
4742%I t
4743[ 1 0 0 1 217.5 510.5 ] concat
4744%I
4745[
4746(Arithmetic)
4747(Unit)
4748] Text
4749End
4750
4751End %I eop
4752
4753Begin %I Text
4754%I cfg Black
47550 0 0 SetCFg
4756%I f *-helvetica-medium-r-normal--12-*-75-*
4757Helvetica 12 SetF
4758%I t
4759[ 1 0 0 1 321 673 ] concat
4760%I
4761[
4762(FPU \(Coprocessor 1\))
4763] Text
4764End
4765
4766Begin %I MLine
4767%I b 65535
47682 0 0 [] 0 SetB
4769%I cfg Black
47700 0 0 SetCFg
4771%I cbg White
47721 1 1 SetCBg
4773none SetP %I p n
4774%I t
4775[ 1 0 0 1 52 321 ] concat
4776%I 2
4777345 223
4778345 197
47792 MLine
4780End
4781
4782End %I eop
4783
4784Begin %I Pict
4785%I b u
4786%I cfg u
4787%I cbg u
4788%I f u
4789%I p u
4790%I t u
4791
4792Begin %I Rect
4793%I b 65535
47941 0 0 [] 0 SetB
4795%I cfg Black
47960 0 0 SetCFg
4797%I cbg White
47981 1 1 SetCBg
4799%I p
48000 SetP
4801%I t
4802[ 1 0 0 1 97 131 ] concat
4803%I
480476 206 309 301 Rect
4805End
4806
4807Begin %I Rect
4808%I b 65535
48091 0 0 [] 0 SetB
4810%I cfg Black
48110 0 0 SetCFg
4812%I cbg White
48131 1 1 SetCBg
4814%I p
48151 SetP
4816%I t
4817[ 1 0 0 1 69 320 ] concat
4818%I
481995 24 328 119 Rect
4820End
4821
4822Begin %I Pict
4823%I b u
4824%I cfg u
4825%I cbg u
4826%I f u
4827%I p u
4828%I t
4829[ 1 0 0 1 17 -17 ] concat
4830
4831Begin %I Pict
4832%I b u
4833%I cfg u
4834%I cbg u
4835%I f u
4836%I p u
4837%I t u
4838
4839Begin %I Text
4840%I cfg Black
48410 0 0 SetCFg
4842%I f *-helvetica-medium-r-normal--12-*-75-*
4843Helvetica 12 SetF
4844%I t
4845[ 1 0 0 1 191 414 ] concat
4846%I
4847[
4848(BadVAddr)
4849] Text
4850End
4851
4852Begin %I Rect
4853%I b 65535
48541 0 0 [] 0 SetB
4855%I cfg Black
48560 0 0 SetCFg
4857%I cbg White
48581 1 1 SetCBg
4859none SetP %I p n
4860%I t
4861[ 1 0 0 1 52 321 ] concat
4862%I
4863129 76 207 102 Rect
4864End
4865
4866End %I eop
4867
4868Begin %I Pict
4869%I b u
4870%I cfg u
4871%I cbg u
4872%I f u
4873%I p u
4874%I t u
4875
4876Begin %I Text
4877%I cfg Black
48780 0 0 SetCFg
4879%I f *-helvetica-medium-r-normal--12-*-75-*
4880Helvetica 12 SetF
4881%I t
4882[ 1 0 0 1 202 388 ] concat
4883%I
4884[
4885(Status)
4886] Text
4887End
4888
4889Begin %I Rect
4890%I b 65535
48911 0 0 [] 0 SetB
4892%I cfg Black
48930 0 0 SetCFg
4894%I cbg White
48951 1 1 SetCBg
4896none SetP %I p n
4897%I t
4898[ 1 0 0 1 52 321 ] concat
4899%I
4900129 50 207 76 Rect
4901End
4902
4903End %I eop
4904
4905Begin %I Pict
4906%I b u
4907%I cfg u
4908%I cbg u
4909%I f u
4910%I p u
4911%I t
4912[ 1 0 0 1 -35 9 ] concat
4913
4914Begin %I Text
4915%I cfg Black
49160 0 0 SetCFg
4917%I f *-helvetica-medium-r-normal--12-*-75-*
4918Helvetica 12 SetF
4919%I t
4920[ 1 0 0 1 327.5 405.5 ] concat
4921%I
4922[
4923(Cause)
4924] Text
4925End
4926
4927Begin %I Rect
4928%I b 65535
49291 0 0 [] 0 SetB
4930%I cfg Black
49310 0 0 SetCFg
4932%I cbg White
49331 1 1 SetCBg
4934none SetP %I p n
4935%I t
4936[ 1 0 0 1 52 321 ] concat
4937%I
4938259 68 328 93 Rect
4939End
4940
4941End %I eop
4942
4943Begin %I Pict
4944%I b u
4945%I cfg u
4946%I cbg u
4947%I f u
4948%I p u
4949%I t
4950[ 1 0 0 1 -35 18 ] concat
4951
4952Begin %I Text
4953%I cfg Black
49540 0 0 SetCFg
4955%I f *-helvetica-medium-r-normal--12-*-75-*
4956Helvetica 12 SetF
4957%I t
4958[ 1 0 0 1 333 371 ] concat
4959%I
4960[
4961(EPC)
4962] Text
4963End
4964
4965Begin %I Rect
4966%I b 65535
49671 0 0 [] 0 SetB
4968%I cfg Black
49690 0 0 SetCFg
4970%I cbg White
49711 1 1 SetCBg
4972none SetP %I p n
4973%I t
4974[ 1 0 0 1 52 321 ] concat
4975%I
4976259 33 328 59 Rect
4977End
4978
4979End %I eop
4980
4981End %I eop
4982
4983Begin %I Text
4984%I cfg Black
49850 0 0 SetCFg
4986%I f *-helvetica-medium-r-normal--12-*-75-*
4987Helvetica 12 SetF
4988%I t
4989[ 1 0 0 1 172 431 ] concat
4990%I
4991[
4992(Coprocessor 0 \(Traps and Memory\))
4993] Text
4994End
4995
4996End %I eop
4997
4998Begin %I Line
4999%I b 65535
50002 0 0 [] 0 SetB
5001%I cfg Black
50020 0 0 SetCFg
5003%I cbg White
50041 1 1 SetCBg
5005%I p
50061 SetP
5007%I t
5008[ 1 0 0 1 56.5 321 ] concat
5009%I
5010224 257 224 119 Line
5011End
5012
5013Begin %I Pict
5014%I b u
5015%I cfg u
5016%I cbg u
5017%I f u
5018%I p u
5019%I t u
5020
5021Begin %I Rect
5022%I b 65535
50231 0 0 [] 0 SetB
5024%I cfg Black
50250 0 0 SetCFg
5026%I cbg White
50271 1 1 SetCBg
5028%I p
50290 SetP
5030%I t
5031[ 1 0 0 1 52 232 ] concat
5032%I
503334 226 207 441 Rect
5034End
5035
5036Begin %I Rect
5037%I b 65535
50381 0 0 [] 0 SetB
5039%I cfg Black
50400 0 0 SetCFg
5041%I cbg White
50421 1 1 SetCBg
5043%I p
50441 SetP
5045%I t
5046[ 1 0 0 1 20 131 ] concat
5047%I
504858 335 231 551 Rect
5049End
5050
5051Begin %I Pict
5052%I b u
5053%I cfg u
5054%I cbg u
5055%I f u
5056%I p u
5057%I t
5058[ 1 0 0 1 -8 9 ] concat
5059
5060Begin %I Text
5061%I cfg Black
50620 0 0 SetCFg
5063%I f *-helvetica-medium-r-normal--12-*-75-*
5064Helvetica 12 SetF
5065%I t
5066[ 1 0 0 1 139.25 648 ] concat
5067%I
5068[
5069(Registers)
5070] Text
5071End
5072
5073Begin %I Pict
5074%I b u
5075%I cfg u
5076%I cbg u
5077%I f u
5078%I p u
5079%I t u
5080
5081Begin %I Line
5082%I b 65535
50831 0 0 [] 0 SetB
5084%I cfg Black
50850 0 0 SetCFg
5086%I cbg White
50871 1 1 SetCBg
5088%I p
50891 SetP
5090%I t
5091[ 1 0 0 1 3.25 131 ] concat
5092%I
5093127 482 197 482 Line
5094End
5095
5096Begin %I Line
5097%I b 65535
50981 0 0 [] 0 SetB
5099%I cfg Black
51000 0 0 SetCFg
5101%I cbg White
51021 1 1 SetCBg
5103%I p
51041 SetP
5105%I t
5106[ 1 0 0 1 3.25 131 ] concat
5107%I
5108127 430 197 430 Line
5109End
5110
5111Begin %I Rect
5112%I b 65535
51131 0 0 [] 0 SetB
5114%I cfg Black
51150 0 0 SetCFg
5116%I cbg White
51171 1 1 SetCBg
5118none SetP %I p n
5119%I t
5120[ 1 0 0 1 1.75 131 ] concat
5121%I
5122127 413 197 499 Rect
5123End
5124
5125Begin %I Text
5126%I cfg Black
51270 0 0 SetCFg
5128%I f *-helvetica-medium-r-normal--12-*-75-*
5129Helvetica 12 SetF
5130%I t
5131[ 1 0 0 1 156.25 624.5 ] concat
5132%I
5133[
5134($0)
5135] Text
5136End
5137
5138Begin %I Text
5139%I cfg Black
51400 0 0 SetCFg
5141%I f *-helvetica-medium-r-normal--12-*-75-*
5142Helvetica 12 SetF
5143%I t
5144[ 1 0 0 1 152.75 555.5 ] concat
5145%I
5146[
5147($31)
5148] Text
5149End
5150
5151Begin %I Text
5152%I cfg Black
51530 0 0 SetCFg
5154%I f *-helvetica-medium-r-normal--12-*-75-*
5155Helvetica 12 SetF
5156%I t
5157[ 1 0 0 1 162.25 603 ] concat
5158%I
5159[
5160(.)
5161(.)
5162(.)
5163] Text
5164End
5165
5166End %I eop
5167
5168End %I eop
5169
5170Begin %I Pict
5171%I b u
5172%I cfg u
5173%I cbg u
5174%I f u
5175%I p u
5176%I t
5177[ 1 0 0 1 -130 24.9999 ] concat
5178
5179Begin %I Rect
5180%I b 65535
51811 0 0 [] 0 SetB
5182%I cfg Black
51830 0 0 SetCFg
5184%I cbg White
51851 1 1 SetCBg
5186none SetP %I p n
5187%I t
5188[ 1 0 0 1 69 312 ] concat
5189%I
5190147 171 207 206 Rect
5191End
5192
5193Begin %I Text
5194%I cfg Black
51950 0 0 SetCFg
5196%I f *-helvetica-medium-r-normal--12-*-75-*
5197Helvetica 12 SetF
5198%I t
5199[ 1 0 0 1 217.5 510.5 ] concat
5200%I
5201[
5202(Arithmetic)
5203(Unit)
5204] Text
5205End
5206
5207End %I eop
5208
5209Begin %I Text
5210%I cfg Black
52110 0 0 SetCFg
5212%I f *-helvetica-medium-r-normal--12-*-75-*
5213Helvetica 12 SetF
5214%I t
5215[ 1 0 0 1 87 673 ] concat
5216%I
5217[
5218(CPU)
5219] Text
5220End
5221
5222Begin %I Pict
5223%I b u
5224%I cfg u
5225%I cbg u
5226%I f u
5227%I p u
5228%I t
5229[ 1 0 0 1 0 24.9999 ] concat
5230
5231Begin %I Rect
5232%I b 65535
52331 1 1 [] 0 SetB
5234%I cfg Black
52350 0 0 SetCFg
5236%I cbg White
52371 1 1 SetCBg
5238none SetP %I p n
5239%I t
5240[ 1 0 0 1 52 321 ] concat
5241%I
5242129 163 190 197 Rect
5243End
5244
5245Begin %I Text
5246%I cfg Black
52470 0 0 SetCFg
5248%I f *-helvetica-medium-r-normal--12-*-75-*
5249Helvetica 12 SetF
5250%I t
5251[ 1 0 0 1 189 511 ] concat
5252%I
5253[
5254(Multiply)
5255(Divide)
5256] Text
5257End
5258
5259End %I eop
5260
5261Begin %I Pict
5262%I b 65535
52632 0 0 [] 0 SetB
5264%I cfg u
5265%I cbg u
5266%I f u
5267%I p u
5268%I t
5269[ 1 0 0 1 -1 -42 ] concat
5270
5271Begin %I Rect
5272%I b 65535
52731 1 1 [] 0 SetB
5274%I cfg Black
52750 0 0 SetCFg
5276%I cbg White
52771 1 1 SetCBg
5278none SetP %I p n
5279%I t
5280[ 1 0 0 1 52 321 ] concat
5281%I
5282164 197 190 214 Rect
5283End
5284
5285Begin %I Pict
5286%I b u
5287%I cfg u
5288%I cbg u
5289%I f u
5290%I p u
5291%I t u
5292
5293Begin %I Rect
5294%I b 65535
52951 1 1 [] 0 SetB
5296%I cfg Black
52970 0 0 SetCFg
5298%I cbg White
52991 1 1 SetCBg
5300none SetP %I p n
5301%I t
5302[ 1 0 0 1 52 321 ] concat
5303%I
5304129 197 155 214 Rect
5305End
5306
5307Begin %I Text
5308%I cfg Black
53090 0 0 SetCFg
5310%I f *-helvetica-medium-r-normal--12-*-75-*
5311Helvetica 12 SetF
5312%I t
5313[ 1 0 0 1 187 530.5 ] concat
5314%I
5315[
5316(Lo)
5317] Text
5318End
5319
5320End %I eop
5321
5322Begin %I Text
5323%I cfg Black
53240 0 0 SetCFg
5325%I f *-helvetica-medium-r-normal--12-*-75-*
5326Helvetica 12 SetF
5327%I t
5328[ 1 0 0 1 223 530.5 ] concat
5329%I
5330[
5331(Hi)
5332] Text
5333End
5334
5335End %I eop
5336
5337Begin %I MLine
5338%I b 65535
53392 0 0 [] 0 SetB
5340%I cfg Black
53410 0 0 SetCFg
5342%I cbg White
53431 1 1 SetCBg
5344none SetP %I p n
5345%I t
5346[ 1 0 0 1 97 131 ] concat
5347%I 4
534893 465
5349119 465
5350119 413
5351119 413
53524 MLine
5353End
5354
5355Begin %I MLine
5356%I b 65535
53572 0 0 [] 0 SetB
5358%I cfg Black
53590 0 0 SetCFg
5360%I cbg White
53611 1 1 SetCBg
5362none SetP %I p n
5363%I t
5364[ 0.5 0 0 0.5 113 347 ] concat
5365%I 2
5366206 324
5367206 308
53682 MLine
5369End
5370
5371Begin %I MLine
5372%I b 65535
53732 0 0 [] 0 SetB
5374%I cfg Black
53750 0 0 SetCFg
5376%I cbg White
53771 1 1 SetCBg
5378none SetP %I p n
5379%I t
5380[ 0.5 0 0 0.5 113 347 ] concat
5381%I 2
5382154 308
5383222 308
53842 MLine
5385End
5386
5387Begin %I MLine
5388%I b 65535
53892 0 0 [] 0 SetB
5390%I cfg Black
53910 0 0 SetCFg
5392%I cbg White
53931 1 1 SetCBg
5394none SetP %I p n
5395%I t
5396[ 0.5 0 0 0.5 113 347 ] concat
5397%I 2
5398154 308
5399154 290
54002 MLine
5401End
5402
5403Begin %I MLine
5404%I b 65535
54052 0 0 [] 0 SetB
5406%I cfg Black
54070 0 0 SetCFg
5408%I cbg White
54091 1 1 SetCBg
5410none SetP %I p n
5411%I t
5412[ 0.5 0 0 0.5 113 347 ] concat
5413%I 2
5414222 308
5415222 290
54162 MLine
5417End
5418
5419Begin %I MLine
5420%I b 65535
54212 0 0 [] 0 SetB
5422%I cfg Black
54230 0 0 SetCFg
5424%I cbg White
54251 1 1 SetCBg
5426none SetP %I p n
5427%I t
5428[ 0.5 0 0 0.5 55 347 ] concat
5429%I 3
543098 394
543198 498
5432132 498
54333 MLine
5434End
5435
5436End %I eop
5437
5438Begin %I Rect
5439%I b 65535
54401 0 0 [] 0 SetB
5441%I cfg Black
54420 0 0 SetCFg
5443%I cbg White
54441 1 1 SetCBg
5445%I p
54461 SetP
5447%I t
5448[ 1 0 0 1 120 265 ] concat
5449%I
545086 513 140 531 Rect
5451End
5452
5453Begin %I Text
5454%I cfg Black
54550 0 0 SetCFg
5456%I f *-helvetica-medium-r-normal--12-*-75-*
5457Helvetica 12 SetF
5458%I t
5459[ 1 0 0 1 211 791 ] concat
5460%I
5461[
5462(Memory)
5463] Text
5464End
5465
5466End %I eop
5467
5468showpage
5469
5470%%Trailer
5471
5472end
5473
5474%%EndDocument
5475
5476 endTexFig
5477 1201 2603 a Fu(Figure)30 b(2:)41 b(MIPS)30 b(R2000)i(CPU)e(and)g(FPU)
5478216 2874 y(Register)f Fk($sp)e Fu(\(29\))j(is)d(the)i(stac)m(k)h(p)s
5479(oin)m(ter,)e(whic)m(h)f(p)s(oin)m(ts)g(to)i(the)g(last)f(lo)s(cation)g
5480(in)f(use)h(on)g(the)h(stac)m(k.)3814 2841 y Fr(3)75
54812986 y Fu(Register)f Fk($fp)f Fu(\(30\))i(is)e(the)h(frame)g(p)s(oin)m
5482(ter.)1593 2953 y Fr(4)1672 2986 y Fu(Register)g Fk($ra)f
5483Fu(\(31\))i(is)e(written)g(with)f(the)i(return)f(address)g(for)75
54843099 y(a)k(call)e(b)m(y)i(the)f Fk(jal)g Fu(instruction.)216
54853212 y(Register)i Fk($gp)f Fu(\(28\))j(is)c(a)j(global)e(p)s(oin)m(ter)
5486g(that)h(p)s(oin)m(ts)f(in)m(to)h(the)g(middle)d(of)j(a)g(64K)h(blo)s
5487(c)m(k)e(of)h(memory)75 3325 y(in)f(the)h(heap)h(that)f(holds)f
5488(constan)m(ts)j(and)d(global)h(v)-5 b(ariables.)45 b(The)32
5489b(ob)5 b(jects)33 b(in)e(this)g(heap)h(can)h(b)s(e)e(quic)m(kly)75
54903438 y(accessed)h(with)d(a)h(single)f(load)h(or)h(store)g(instruction.)
5491216 3551 y(In)25 b(addition,)g(copro)s(cessor)h(0)g(con)m(tains)f
5492(registers)g(that)h(are)g(useful)e(to)i(handle)e(exceptions.)39
5493b(SPIM)25 b(do)s(es)75 3664 y(not)k(implemen)m(t)e(all)g(of)h(these)h
5494(registers,)g(since)f(they)g(are)h(not)f(of)h(m)m(uc)m(h)f(use)g(in)f
5495(a)i(sim)m(ulator)e(or)i(are)g(part)f(of)75 3777 y(the)j(memory)f
5496(system,)h(whic)m(h)e(is)g(not)i(implemen)m(ted.)39 b(Ho)m(w)m(ev)m
5497(er,)33 b(it)d(do)s(es)g(pro)m(vide)f(the)i(follo)m(wing:)p
5498361 3875 3209 4 v 359 3975 4 100 v 411 3945 a Ff(Register)f(Name)p
54991082 3975 V 98 w(Num)m(b)s(er)p 1526 3975 V 1526 3975
5500V 945 w(Usage)p 3568 3975 V 361 3978 3209 4 v 361 3995
5501V 359 4094 4 100 v 411 4064 a Fx(BadV)-9 b(Addr)p 1082
55024094 V 487 w(8)p 1526 4094 V 250 w(Memory)27 b(address)f(at)i(whic)n(h)
5503f(address)f(exception)i(o)r(ccurred)p 3568 4094 V 359
55044194 V 411 4164 a(Status)p 1082 4194 V 622 w(12)p 1526
55054194 V 229 w(In)n(terrupt)f(mask)g(and)h(enable)f(bits)p
55063568 4194 V 359 4294 V 411 4264 a(Cause)p 1082 4294 V
5507635 w(13)p 1526 4294 V 229 w(Exception)g(t)n(yp)r(e)h(and)f(p)r(ending)
5508h(in)n(terrupt)f(bits)p 3568 4294 V 359 4393 V 411 4363
5509a(EPC)p 1082 4393 V 679 w(14)p 1526 4393 V 229 w(Address)g(of)h
5510(instruction)f(that)h(caused)f(exception)p 3568 4393
5511V 361 4397 3209 4 v 75 4537 a Fu(These)f(registers)g(are)h(part)f(of)h
5512(copro)s(cessor)f(0's)h(register)g(set)f(and)g(are)h(accessed)h(b)m(y)e
5513(the)g Fk(lwc0)p Fu(,)h Fk(mfc0)p Fu(,)f Fk(mtc0)p Fu(,)75
55144650 y(and)k Fk(swc0)f Fu(instructions.)216 4763 y(Figure)44
5515b(3)h(describ)s(es)e(the)h(bits)g(in)f(the)i Fk(Status)d
5516Fu(register)j(that)g(are)g(implemen)m(ted)e(b)m(y)h(SPIM.)g(The)75
55174876 y Fk(interrupt)h(mask)28 b Fu(con)m(tains)h(a)h(bit)e(for)g(eac)m
5518(h)i(of)g(the)f(\014v)m(e)g(in)m(terrupt)e(lev)m(els.)40
5519b(If)29 b(a)g(bit)f(is)g(one,)i(in)m(terrupts)d(at)75
55204989 y(that)h(lev)m(el)f(are)h(allo)m(w)m(ed.)39 b(If)27
5521b(the)h(bit)e(is)h(zero,)i(in)m(terrupts)d(at)i(that)g(lev)m(el)f(are)h
5522(disabled.)37 b(The)27 b(lo)m(w)g(six)f(bits)h(of)p 75
55235048 1512 4 v 179 5101 a Fo(3)213 5133 y Fp(In)g(earlier)h(v)n(ersion)f
5524(of)h(SPIM,)f Fd($sp)h Fp(w)n(as)g(do)r(cumen)n(ted)d(as)j(p)r(oin)n
5525(ting)f(at)g(the)g(\014rst)g(free)h(w)n(ord)f(on)g(the)g(stac)n(k)g
5526(\(not)f(the)h(last)75 5225 y(w)n(ord)g(of)h(the)f(stac)n(k)g(frame\).)
552738 b(Recen)n(t)27 b(MIPS)g(do)r(cumen)n(ts)e(ha)n(v)n(e)i(made)f(it)h
5528(clear)h(that)f(this)g(w)n(as)h(an)f(error.)39 b(Both)27
5529b(con)n(v)n(en)n(tions)75 5316 y(w)n(ork)f(equally)f(w)n(ell,)j(but)c
5530(w)n(e)i(c)n(ho)r(ose)h(to)f(follo)n(w)i(the)d(real)i(system.)179
55315375 y Fo(4)213 5407 y Fp(The)f(MIPS)g(compiler)f(do)r(es)i(not)e(use)h
5532(a)g(frame)g(p)r(oin)n(ter,)g(so)g(this)g(register)g(is)h(used)e(as)h
5533(callee-sa)n(v)n(ed)h(register)g Fd($s8)p Fp(.)1920 5656
5534y Fu(11)p eop
5535%%Page: 12 12
553612 11 bop -85 7 a
5537 32364626 7499120 2762833 33088225 35127459 40587345 startTexFig
5538 -85 7 a
5539%%BeginDocument: status_reg.id
5540%!PS-Adobe-2.0 EPSF-1.2
5541%%Creator: idraw
5542%%DocumentFonts: Helvetica-Bold
5543%%Pages: 1
5544%%BoundingBox: 42 503 534 617
5545%%EndComments
5546
5547/arrowHeight 10 def
5548/arrowWidth 5 def
5549
5550/IdrawDict 51 dict def
5551IdrawDict begin
5552
5553/reencodeISO {
5554dup dup findfont dup length dict begin
5555{ 1 index /FID ne { def }{ pop pop } ifelse } forall
5556/Encoding ISOLatin1Encoding def
5557currentdict end definefont
5558} def
5559
5560/ISOLatin1Encoding [
5561/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
5562/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
5563/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
5564/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
5565/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
5566/parenleft/parenright/asterisk/plus/comma/minus/period/slash
5567/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
5568/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
5569/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
5570/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
5571/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
5572/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
5573/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
5574/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
5575/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
5576/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
5577/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
5578/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
5579/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
5580/guillemotright/onequarter/onehalf/threequarters/questiondown
5581/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
5582/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
5583/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
5584/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
5585/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
5586/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
5587/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
5588/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
5589/yacute/thorn/ydieresis
5590] def
5591/Helvetica-Bold reencodeISO def
5592
5593/none null def
5594/numGraphicParameters 17 def
5595/stringLimit 65535 def
5596
5597/Begin {
5598save
5599numGraphicParameters dict begin
5600} def
5601
5602/End {
5603end
5604restore
5605} def
5606
5607/SetB {
5608dup type /nulltype eq {
5609pop
5610false /brushRightArrow idef
5611false /brushLeftArrow idef
5612true /brushNone idef
5613} {
5614/brushDashOffset idef
5615/brushDashArray idef
56160 ne /brushRightArrow idef
56170 ne /brushLeftArrow idef
5618/brushWidth idef
5619false /brushNone idef
5620} ifelse
5621} def
5622
5623/SetCFg {
5624/fgblue idef
5625/fggreen idef
5626/fgred idef
5627} def
5628
5629/SetCBg {
5630/bgblue idef
5631/bggreen idef
5632/bgred idef
5633} def
5634
5635/SetF {
5636/printSize idef
5637/printFont idef
5638} def
5639
5640/SetP {
5641dup type /nulltype eq {
5642pop true /patternNone idef
5643} {
5644dup -1 eq {
5645/patternGrayLevel idef
5646/patternString idef
5647} {
5648/patternGrayLevel idef
5649} ifelse
5650false /patternNone idef
5651} ifelse
5652} def
5653
5654/BSpl {
56550 begin
5656storexyn
5657newpath
5658n 1 gt {
56590 0 0 0 0 0 1 1 true subspline
5660n 2 gt {
56610 0 0 0 1 1 2 2 false subspline
56621 1 n 3 sub {
5663/i exch def
5664i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
5665} for
5666n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
5667} if
5668n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
5669patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
5670brushNone not { istroke } if
56710 0 1 1 leftarrow
5672n 2 sub dup n 1 sub dup rightarrow
5673} if
5674end
5675} dup 0 4 dict put def
5676
5677/Circ {
5678newpath
56790 360 arc
5680patternNone not { ifill } if
5681brushNone not { istroke } if
5682} def
5683
5684/CBSpl {
56850 begin
5686dup 2 gt {
5687storexyn
5688newpath
5689n 1 sub dup 0 0 1 1 2 2 true subspline
56901 1 n 3 sub {
5691/i exch def
5692i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
5693} for
5694n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
5695n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
5696patternNone not { ifill } if
5697brushNone not { istroke } if
5698} {
5699Poly
5700} ifelse
5701end
5702} dup 0 4 dict put def
5703
5704/Elli {
57050 begin
5706newpath
57074 2 roll
5708translate
5709scale
57100 0 1 0 360 arc
5711patternNone not { ifill } if
5712brushNone not { istroke } if
5713end
5714} dup 0 1 dict put def
5715
5716/Line {
57170 begin
57182 storexyn
5719newpath
5720x 0 get y 0 get moveto
5721x 1 get y 1 get lineto
5722brushNone not { istroke } if
57230 0 1 1 leftarrow
57240 0 1 1 rightarrow
5725end
5726} dup 0 4 dict put def
5727
5728/MLine {
57290 begin
5730storexyn
5731newpath
5732n 1 gt {
5733x 0 get y 0 get moveto
57341 1 n 1 sub {
5735/i exch def
5736x i get y i get lineto
5737} for
5738patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
5739brushNone not { istroke } if
57400 0 1 1 leftarrow
5741n 2 sub dup n 1 sub dup rightarrow
5742} if
5743end
5744} dup 0 4 dict put def
5745
5746/Poly {
57473 1 roll
5748newpath
5749moveto
5750-1 add
5751{ lineto } repeat
5752closepath
5753patternNone not { ifill } if
5754brushNone not { istroke } if
5755} def
5756
5757/Rect {
57580 begin
5759/t exch def
5760/r exch def
5761/b exch def
5762/l exch def
5763newpath
5764l b moveto
5765l t lineto
5766r t lineto
5767r b lineto
5768closepath
5769patternNone not { ifill } if
5770brushNone not { istroke } if
5771end
5772} dup 0 4 dict put def
5773
5774/Text {
5775ishow
5776} def
5777
5778/idef {
5779dup where { pop pop pop } { exch def } ifelse
5780} def
5781
5782/ifill {
57830 begin
5784gsave
5785patternGrayLevel -1 ne {
5786fgred bgred fgred sub patternGrayLevel mul add
5787fggreen bggreen fggreen sub patternGrayLevel mul add
5788fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
5789eofill
5790} {
5791eoclip
5792originalCTM setmatrix
5793pathbbox /t exch def /r exch def /b exch def /l exch def
5794/w r l sub ceiling cvi def
5795/h t b sub ceiling cvi def
5796/imageByteWidth w 8 div ceiling cvi def
5797/imageHeight h def
5798bgred bggreen bgblue setrgbcolor
5799eofill
5800fgred fggreen fgblue setrgbcolor
5801w 0 gt h 0 gt and {
5802l b translate w h scale
5803w h true [w 0 0 h neg 0 h] { patternproc } imagemask
5804} if
5805} ifelse
5806grestore
5807end
5808} dup 0 8 dict put def
5809
5810/istroke {
5811gsave
5812brushDashOffset -1 eq {
5813[] 0 setdash
58141 setgray
5815} {
5816brushDashArray brushDashOffset setdash
5817fgred fggreen fgblue setrgbcolor
5818} ifelse
5819brushWidth setlinewidth
5820originalCTM setmatrix
5821stroke
5822grestore
5823} def
5824
5825/ishow {
58260 begin
5827gsave
5828fgred fggreen fgblue setrgbcolor
5829/fontDict printFont printSize scalefont dup setfont def
5830/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
5831transform exch pop def
5832/vertoffset 1 printSize sub descender sub def {
58330 vertoffset moveto show
5834/vertoffset vertoffset printSize sub def
5835} forall
5836grestore
5837end
5838} dup 0 3 dict put def
5839/patternproc {
58400 begin
5841/patternByteLength patternString length def
5842/patternHeight patternByteLength 8 mul sqrt cvi def
5843/patternWidth patternHeight def
5844/patternByteWidth patternWidth 8 idiv def
5845/imageByteMaxLength imageByteWidth imageHeight mul
5846stringLimit patternByteWidth sub min def
5847/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
5848patternHeight mul patternHeight max def
5849/imageHeight imageHeight imageMaxHeight sub store
5850/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
58510 1 imageMaxHeight 1 sub {
5852/y exch def
5853/patternRow y patternByteWidth mul patternByteLength mod def
5854/patternRowString patternString patternRow patternByteWidth getinterval def
5855/imageRow y imageByteWidth mul def
58560 patternByteWidth imageByteWidth 1 sub {
5857/x exch def
5858imageString imageRow x add patternRowString putinterval
5859} for
5860} for
5861imageString
5862end
5863} dup 0 12 dict put def
5864
5865/min {
5866dup 3 2 roll dup 4 3 roll lt { exch } if pop
5867} def
5868
5869/max {
5870dup 3 2 roll dup 4 3 roll gt { exch } if pop
5871} def
5872
5873/midpoint {
58740 begin
5875/y1 exch def
5876/x1 exch def
5877/y0 exch def
5878/x0 exch def
5879x0 x1 add 2 div
5880y0 y1 add 2 div
5881end
5882} dup 0 4 dict put def
5883
5884/thirdpoint {
58850 begin
5886/y1 exch def
5887/x1 exch def
5888/y0 exch def
5889/x0 exch def
5890x0 2 mul x1 add 3 div
5891y0 2 mul y1 add 3 div
5892end
5893} dup 0 4 dict put def
5894
5895/subspline {
58960 begin
5897/movetoNeeded exch def
5898y exch get /y3 exch def
5899x exch get /x3 exch def
5900y exch get /y2 exch def
5901x exch get /x2 exch def
5902y exch get /y1 exch def
5903x exch get /x1 exch def
5904y exch get /y0 exch def
5905x exch get /x0 exch def
5906x1 y1 x2 y2 thirdpoint
5907/p1y exch def
5908/p1x exch def
5909x2 y2 x1 y1 thirdpoint
5910/p2y exch def
5911/p2x exch def
5912x1 y1 x0 y0 thirdpoint
5913p1x p1y midpoint
5914/p0y exch def
5915/p0x exch def
5916x2 y2 x3 y3 thirdpoint
5917p2x p2y midpoint
5918/p3y exch def
5919/p3x exch def
5920movetoNeeded { p0x p0y moveto } if
5921p1x p1y p2x p2y p3x p3y curveto
5922end
5923} dup 0 17 dict put def
5924
5925/storexyn {
5926/n exch def
5927/y n array def
5928/x n array def
5929n 1 sub -1 0 {
5930/i exch def
5931y i 3 2 roll put
5932x i 3 2 roll put
5933} for
5934} def
5935
5936/SSten {
5937fgred fggreen fgblue setrgbcolor
5938dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
5939} def
5940
5941/FSten {
5942dup 3 -1 roll dup 4 1 roll exch
5943newpath
59440 0 moveto
5945dup 0 exch lineto
5946exch dup 3 1 roll exch lineto
59470 lineto
5948closepath
5949bgred bggreen bgblue setrgbcolor
5950eofill
5951SSten
5952} def
5953
5954/Rast {
5955exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
5956} def
5957
5958%%EndProlog
5959
5960%%BeginIdrawPrologue
5961/arrowhead {
59620 begin
5963transform originalCTM itransform
5964/taily exch def
5965/tailx exch def
5966transform originalCTM itransform
5967/tipy exch def
5968/tipx exch def
5969/dy tipy taily sub def
5970/dx tipx tailx sub def
5971/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
5972gsave
5973originalCTM setmatrix
5974tipx tipy translate
5975angle rotate
5976newpath
5977arrowHeight neg arrowWidth 2 div moveto
59780 0 lineto
5979arrowHeight neg arrowWidth 2 div neg lineto
5980patternNone not {
5981originalCTM setmatrix
5982/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
5983arrowWidth div def
5984/padtail brushWidth 2 div def
5985tipx tipy translate
5986angle rotate
5987padtip 0 translate
5988arrowHeight padtip add padtail add arrowHeight div dup scale
5989arrowheadpath
5990ifill
5991} if
5992brushNone not {
5993originalCTM setmatrix
5994tipx tipy translate
5995angle rotate
5996arrowheadpath
5997istroke
5998} if
5999grestore
6000end
6001} dup 0 9 dict put def
6002
6003/arrowheadpath {
6004newpath
6005arrowHeight neg arrowWidth 2 div moveto
60060 0 lineto
6007arrowHeight neg arrowWidth 2 div neg lineto
6008} def
6009
6010/leftarrow {
60110 begin
6012y exch get /taily exch def
6013x exch get /tailx exch def
6014y exch get /tipy exch def
6015x exch get /tipx exch def
6016brushLeftArrow { tipx tipy tailx taily arrowhead } if
6017end
6018} dup 0 4 dict put def
6019
6020/rightarrow {
60210 begin
6022y exch get /tipy exch def
6023x exch get /tipx exch def
6024y exch get /taily exch def
6025x exch get /tailx exch def
6026brushRightArrow { tipx tipy tailx taily arrowhead } if
6027end
6028} dup 0 4 dict put def
6029
6030%%EndIdrawPrologue
6031
6032%I Idraw 10 Grid 8 8
6033
6034%%Page: 1 1
6035
6036Begin
6037%I b u
6038%I cfg u
6039%I cbg u
6040%I f u
6041%I p u
6042%I t
6043[ 0.77233 0 0 0.77233 0 0 ] concat
6044/originalCTM matrix currentmatrix def
6045
6046Begin %I Rect
6047%I b 65535
60480 0 0 [] 0 SetB
6049%I cfg Black
60500 0 0 SetCFg
6051%I cbg White
60521 1 1 SetCBg
6053none SetP %I p n
6054%I t
6055[ 1 0 0 1 30 112 ] concat
6056%I
605726 616 650 656 Rect
6058End
6059
6060Begin %I Line
6061%I b 65535
60620 0 0 [] 0 SetB
6063%I cfg Black
60640 0 0 SetCFg
6065%I cbg White
60661 1 1 SetCBg
6067none SetP %I p n
6068%I t
6069[ 1 0 0 1 30 112 ] concat
6070%I
6071618 656 618 616 Line
6072%I 1
6073End
6074
6075Begin %I Line
6076%I b 65535
60770 0 0 [] 0 SetB
6078%I cfg Black
60790 0 0 SetCFg
6080%I cbg White
60811 1 1 SetCBg
6082none SetP %I p n
6083%I t
6084[ 1 0 0 1 -10 112 ] concat
6085%I
6086618 656 618 616 Line
6087%I 1
6088End
6089
6090Begin %I Line
6091%I b 65535
60920 0 0 [] 0 SetB
6093%I cfg Black
60940 0 0 SetCFg
6095%I cbg White
60961 1 1 SetCBg
6097none SetP %I p n
6098%I t
6099[ 1 0 0 1 -50 112 ] concat
6100%I
6101618 656 618 616 Line
6102%I 1
6103End
6104
6105Begin %I Line
6106%I b 65535
61070 0 0 [] 0 SetB
6108%I cfg Black
61090 0 0 SetCFg
6110%I cbg White
61111 1 1 SetCBg
6112none SetP %I p n
6113%I t
6114[ 1 0 0 1 -90 112 ] concat
6115%I
6116618 656 618 616 Line
6117%I 1
6118End
6119
6120Begin %I Line
6121%I b 65535
61220 0 0 [] 0 SetB
6123%I cfg Black
61240 0 0 SetCFg
6125%I cbg White
61261 1 1 SetCBg
6127none SetP %I p n
6128%I t
6129[ 1 0 0 1 -130 112 ] concat
6130%I
6131618 656 618 616 Line
6132%I 1
6133End
6134
6135Begin %I Rect
6136%I b 65535
61370 0 0 [] 0 SetB
6138%I cfg Black
61390 0 0 SetCFg
6140%I cbg White
61411 1 1 SetCBg
6142%I p
61430.5 SetP
6144%I t
6145[ 1 0 0 1 30 112 ] concat
6146%I
614726 616 274 656 Rect
6148End
6149
6150Begin %I Text
6151%I cfg Black
61520 0 0 SetCFg
6153%I f *-helvetica-bold-r-normal--12-*-75-*
6154Helvetica-Bold 12 SetF
6155%I t
6156[ 1 0 0 1 304 795 ] concat
6157%I
6158[
6159(15)
6160] Text
6161End
6162
6163Begin %I Text
6164%I cfg Black
61650 0 0 SetCFg
6166%I f *-helvetica-bold-r-normal--12-*-75-*
6167Helvetica-Bold 12 SetF
6168%I t
6169[ 1 0 0 1 368 795 ] concat
6170%I
6171[
6172(10)
6173] Text
6174End
6175
6176Begin %I Text
6177%I cfg Black
61780 0 0 SetCFg
6179%I f *-helvetica-bold-r-normal--12-*-75-*
6180Helvetica-Bold 12 SetF
6181%I t
6182[ 1 0 0 1 656 795 ] concat
6183%I
6184[
6185(0)
6186] Text
6187End
6188
6189Begin %I Text
6190%I cfg Black
61910 0 0 SetCFg
6192%I f *-helvetica-bold-r-normal--12-*-75-*
6193Helvetica-Bold 12 SetF
6194%I t
6195[ 1 0 0 1 616 795 ] concat
6196%I
6197[
6198(1)
6199] Text
6200End
6201
6202Begin %I Text
6203%I cfg Black
62040 0 0 SetCFg
6205%I f *-helvetica-bold-r-normal--12-*-75-*
6206Helvetica-Bold 12 SetF
6207%I t
6208[ 1 0 0 1 584 795 ] concat
6209%I
6210[
6211(2)
6212] Text
6213End
6214
6215Begin %I Text
6216%I cfg Black
62170 0 0 SetCFg
6218%I f *-helvetica-bold-r-normal--12-*-75-*
6219Helvetica-Bold 12 SetF
6220%I t
6221[ 1 0 0 1 545 795 ] concat
6222%I
6223[
6224(3)
6225] Text
6226End
6227
6228Begin %I Text
6229%I cfg Black
62300 0 0 SetCFg
6231%I f *-helvetica-bold-r-normal--12-*-75-*
6232Helvetica-Bold 12 SetF
6233%I t
6234[ 1 0 0 1 505 795 ] concat
6235%I
6236[
6237(4)
6238] Text
6239End
6240
6241Begin %I Text
6242%I cfg Black
62430 0 0 SetCFg
6244%I f *-helvetica-bold-r-normal--12-*-75-*
6245Helvetica-Bold 12 SetF
6246%I t
6247[ 1 0 0 1 465 795 ] concat
6248%I
6249[
6250(5)
6251] Text
6252End
6253
6254Begin %I Rect
6255%I b 65535
62560 0 0 [] 0 SetB
6257%I cfg Black
62580 0 0 SetCFg
6259%I cbg White
62601 1 1 SetCBg
6261%I p
62620.5 SetP
6263%I t
6264[ 1 0 0 1 22 168 ] concat
6265%I
6266354 560 426 600 Rect
6267End
6268
6269Begin %I Text
6270%I cfg Black
62710 0 0 SetCFg
6272%I f *-helvetica-bold-r-normal--12-*-75-*
6273Helvetica-Bold 12 SetF
6274%I t
6275[ 1 0 0 1 312 707 ] concat
6276%I
6277[
6278(Interrupt)
6279(Mask)
6280] Text
6281End
6282
6283Begin %I Text
6284%I cfg Black
62850 0 0 SetCFg
6286%I f *-helvetica-bold-r-normal--12-*-75-*
6287Helvetica-Bold 12 SetF
6288%I t
6289[ 1 0 0 1 478.5 715 ] concat
6290%I
6291[
6292(Old)
6293] Text
6294End
6295
6296Begin %I Text
6297%I cfg Black
62980 0 0 SetCFg
6299%I f *-helvetica-bold-r-normal--12-*-75-*
6300Helvetica-Bold 12 SetF
6301%I t
6302[ 1 0 0 1 542.5 715 ] concat
6303%I
6304[
6305(Previous)
6306] Text
6307End
6308
6309Begin %I Text
6310%I cfg Black
63110 0 0 SetCFg
6312%I f *-helvetica-bold-r-normal--12-*-75-*
6313Helvetica-Bold 12 SetF
6314%I t
6315[ 1 0 0 1 626.5 715 ] concat
6316%I
6317[
6318(Current)
6319] Text
6320End
6321
6322Begin %I Pict
6323%I b u
6324%I cfg u
6325%I cbg u
6326%I f u
6327%I p u
6328%I t
6329[ 1 0 0 1 -0.487396 0 ] concat
6330
6331Begin %I Text
6332%I cfg Black
63330 0 0 SetCFg
6334%I f *-helvetica-bold-r-normal--10-*-75-*
6335Helvetica-Bold 10 SetF
6336%I t
6337[ 0.707107 0.707107 -0.707107 0.707107 447.469 666.282 ] concat
6338%I
6339[
6340(Kernel/)
6341(User)
6342] Text
6343End
6344
6345Begin %I Text
6346%I cfg Black
63470 0 0 SetCFg
6348%I f *-helvetica-bold-r-normal--10-*-75-*
6349Helvetica-Bold 10 SetF
6350%I t
6351[ 0.707107 0.707107 -0.707107 0.707107 488.494 666.282 ] concat
6352%I
6353[
6354(Interrupt)
6355(Enable)
6356] Text
6357End
6358
6359End %I eop
6360
6361Begin %I Pict
6362%I b u
6363%I cfg u
6364%I cbg u
6365%I f u
6366%I p u
6367%I t
6368[ 1 0 0 1 79.5124 -0.000488281 ] concat
6369
6370Begin %I Text
6371%I cfg Black
63720 0 0 SetCFg
6373%I f *-helvetica-bold-r-normal--10-*-75-*
6374Helvetica-Bold 10 SetF
6375%I t
6376[ 0.707107 0.707107 -0.707107 0.707107 447.469 666.283 ] concat
6377%I
6378[
6379(Kernel/)
6380(User)
6381] Text
6382End
6383
6384Begin %I Text
6385%I cfg Black
63860 0 0 SetCFg
6387%I f *-helvetica-bold-r-normal--10-*-75-*
6388Helvetica-Bold 10 SetF
6389%I t
6390[ 0.707107 0.707107 -0.707107 0.707107 488.494 666.283 ] concat
6391%I
6392[
6393(Interrupt)
6394(Enable)
6395] Text
6396End
6397
6398End %I eop
6399
6400Begin %I Pict
6401%I b u
6402%I cfg u
6403%I cbg u
6404%I f u
6405%I p u
6406%I t
6407[ 1 0 0 1 159.512 -0.000488281 ] concat
6408
6409Begin %I Text
6410%I cfg Black
64110 0 0 SetCFg
6412%I f *-helvetica-bold-r-normal--10-*-75-*
6413Helvetica-Bold 10 SetF
6414%I t
6415[ 0.707107 0.707107 -0.707107 0.707107 447.469 666.283 ] concat
6416%I
6417[
6418(Kernel/)
6419(User)
6420] Text
6421End
6422
6423Begin %I Text
6424%I cfg Black
64250 0 0 SetCFg
6426%I f *-helvetica-bold-r-normal--10-*-75-*
6427Helvetica-Bold 10 SetF
6428%I t
6429[ 0.707107 0.707107 -0.707107 0.707107 488.494 666.283 ] concat
6430%I
6431[
6432(Interrupt)
6433(Enable)
6434] Text
6435End
6436
6437End %I eop
6438
6439Begin %I Line
6440%I b 65535
64410 0 0 [] 0 SetB
6442%I cfg Black
64430 0 0 SetCFg
6444%I cbg White
64451 1 1 SetCBg
6446%I p
64470.5 SetP
6448%I t
6449[ 1 0 0 1 30 168 ] concat
6450%I
6451426 544 442 544 Line
6452%I 1
6453End
6454
6455Begin %I Line
6456%I b 65535
64570 0 0 [] 0 SetB
6458%I cfg Black
64590 0 0 SetCFg
6460%I cbg White
64611 1 1 SetCBg
6462%I p
64630.5 SetP
6464%I t
6465[ 1 0 0 1 78 168 ] concat
6466%I
6467426 544 442 544 Line
6468%I 1
6469End
6470
6471Begin %I Line
6472%I b 65535
64730 0 0 [] 0 SetB
6474%I cfg Black
64750 0 0 SetCFg
6476%I cbg White
64771 1 1 SetCBg
6478%I p
64790.5 SetP
6480%I t
6481[ 1 0 0 1 30 168 ] concat
6482%I
6483506 544 514 544 Line
6484%I 1
6485End
6486
6487Begin %I Line
6488%I b 65535
64890 0 0 [] 0 SetB
6490%I cfg Black
64910 0 0 SetCFg
6492%I cbg White
64931 1 1 SetCBg
6494%I p
64950.5 SetP
6496%I t
6497[ 1 0 0 1 86 168 ] concat
6498%I
6499506 544 514 544 Line
6500%I 1
6501End
6502
6503Begin %I Line
6504%I b 65535
65050 0 0 [] 0 SetB
6506%I cfg Black
65070 0 0 SetCFg
6508%I cbg White
65091 1 1 SetCBg
6510%I p
65110.5 SetP
6512%I t
6513[ 1 0 0 1 30 168 ] concat
6514%I
6515586 544 594 544 Line
6516%I 1
6517End
6518
6519Begin %I Line
6520%I b 65535
65210 0 0 [] 0 SetB
6522%I cfg Black
65230 0 0 SetCFg
6524%I cbg White
65251 1 1 SetCBg
6526%I p
65270.5 SetP
6528%I t
6529[ 1 0 0 1 86 168 ] concat
6530%I
6531586 544 594 544 Line
6532%I 1
6533End
6534
6535End %I eop
6536
6537showpage
6538
6539%%Trailer
6540
6541end
6542
6543%%EndDocument
6544
6545 endTexFig
6546 1355 1153 a Fu(Figure)30 b(3:)41 b(The)29 b Fk(Status)g
6547Fu(register.)-52 1270 y
6548 31838372 5920358 2762833 34666987 34601205 40587345 startTexFig
6549 -52 1270 a
6550%%BeginDocument: cause_reg.id
6551%!PS-Adobe-2.0 EPSF-1.2
6552%%Creator: idraw
6553%%DocumentFonts: Helvetica-Bold
6554%%Pages: 1
6555%%BoundingBox: 42 527 526 617
6556%%EndComments
6557
6558/arrowHeight 10 def
6559/arrowWidth 5 def
6560
6561/IdrawDict 51 dict def
6562IdrawDict begin
6563
6564/reencodeISO {
6565dup dup findfont dup length dict begin
6566{ 1 index /FID ne { def }{ pop pop } ifelse } forall
6567/Encoding ISOLatin1Encoding def
6568currentdict end definefont
6569} def
6570
6571/ISOLatin1Encoding [
6572/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
6573/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
6574/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
6575/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
6576/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
6577/parenleft/parenright/asterisk/plus/comma/minus/period/slash
6578/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
6579/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
6580/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
6581/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
6582/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
6583/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
6584/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
6585/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
6586/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
6587/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
6588/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
6589/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
6590/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
6591/guillemotright/onequarter/onehalf/threequarters/questiondown
6592/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
6593/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
6594/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
6595/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
6596/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
6597/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
6598/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
6599/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
6600/yacute/thorn/ydieresis
6601] def
6602/Helvetica-Bold reencodeISO def
6603
6604/none null def
6605/numGraphicParameters 17 def
6606/stringLimit 65535 def
6607
6608/Begin {
6609save
6610numGraphicParameters dict begin
6611} def
6612
6613/End {
6614end
6615restore
6616} def
6617
6618/SetB {
6619dup type /nulltype eq {
6620pop
6621false /brushRightArrow idef
6622false /brushLeftArrow idef
6623true /brushNone idef
6624} {
6625/brushDashOffset idef
6626/brushDashArray idef
66270 ne /brushRightArrow idef
66280 ne /brushLeftArrow idef
6629/brushWidth idef
6630false /brushNone idef
6631} ifelse
6632} def
6633
6634/SetCFg {
6635/fgblue idef
6636/fggreen idef
6637/fgred idef
6638} def
6639
6640/SetCBg {
6641/bgblue idef
6642/bggreen idef
6643/bgred idef
6644} def
6645
6646/SetF {
6647/printSize idef
6648/printFont idef
6649} def
6650
6651/SetP {
6652dup type /nulltype eq {
6653pop true /patternNone idef
6654} {
6655dup -1 eq {
6656/patternGrayLevel idef
6657/patternString idef
6658} {
6659/patternGrayLevel idef
6660} ifelse
6661false /patternNone idef
6662} ifelse
6663} def
6664
6665/BSpl {
66660 begin
6667storexyn
6668newpath
6669n 1 gt {
66700 0 0 0 0 0 1 1 true subspline
6671n 2 gt {
66720 0 0 0 1 1 2 2 false subspline
66731 1 n 3 sub {
6674/i exch def
6675i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
6676} for
6677n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
6678} if
6679n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
6680patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
6681brushNone not { istroke } if
66820 0 1 1 leftarrow
6683n 2 sub dup n 1 sub dup rightarrow
6684} if
6685end
6686} dup 0 4 dict put def
6687
6688/Circ {
6689newpath
66900 360 arc
6691patternNone not { ifill } if
6692brushNone not { istroke } if
6693} def
6694
6695/CBSpl {
66960 begin
6697dup 2 gt {
6698storexyn
6699newpath
6700n 1 sub dup 0 0 1 1 2 2 true subspline
67011 1 n 3 sub {
6702/i exch def
6703i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
6704} for
6705n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
6706n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
6707patternNone not { ifill } if
6708brushNone not { istroke } if
6709} {
6710Poly
6711} ifelse
6712end
6713} dup 0 4 dict put def
6714
6715/Elli {
67160 begin
6717newpath
67184 2 roll
6719translate
6720scale
67210 0 1 0 360 arc
6722patternNone not { ifill } if
6723brushNone not { istroke } if
6724end
6725} dup 0 1 dict put def
6726
6727/Line {
67280 begin
67292 storexyn
6730newpath
6731x 0 get y 0 get moveto
6732x 1 get y 1 get lineto
6733brushNone not { istroke } if
67340 0 1 1 leftarrow
67350 0 1 1 rightarrow
6736end
6737} dup 0 4 dict put def
6738
6739/MLine {
67400 begin
6741storexyn
6742newpath
6743n 1 gt {
6744x 0 get y 0 get moveto
67451 1 n 1 sub {
6746/i exch def
6747x i get y i get lineto
6748} for
6749patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
6750brushNone not { istroke } if
67510 0 1 1 leftarrow
6752n 2 sub dup n 1 sub dup rightarrow
6753} if
6754end
6755} dup 0 4 dict put def
6756
6757/Poly {
67583 1 roll
6759newpath
6760moveto
6761-1 add
6762{ lineto } repeat
6763closepath
6764patternNone not { ifill } if
6765brushNone not { istroke } if
6766} def
6767
6768/Rect {
67690 begin
6770/t exch def
6771/r exch def
6772/b exch def
6773/l exch def
6774newpath
6775l b moveto
6776l t lineto
6777r t lineto
6778r b lineto
6779closepath
6780patternNone not { ifill } if
6781brushNone not { istroke } if
6782end
6783} dup 0 4 dict put def
6784
6785/Text {
6786ishow
6787} def
6788
6789/idef {
6790dup where { pop pop pop } { exch def } ifelse
6791} def
6792
6793/ifill {
67940 begin
6795gsave
6796patternGrayLevel -1 ne {
6797fgred bgred fgred sub patternGrayLevel mul add
6798fggreen bggreen fggreen sub patternGrayLevel mul add
6799fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
6800eofill
6801} {
6802eoclip
6803originalCTM setmatrix
6804pathbbox /t exch def /r exch def /b exch def /l exch def
6805/w r l sub ceiling cvi def
6806/h t b sub ceiling cvi def
6807/imageByteWidth w 8 div ceiling cvi def
6808/imageHeight h def
6809bgred bggreen bgblue setrgbcolor
6810eofill
6811fgred fggreen fgblue setrgbcolor
6812w 0 gt h 0 gt and {
6813l b translate w h scale
6814w h true [w 0 0 h neg 0 h] { patternproc } imagemask
6815} if
6816} ifelse
6817grestore
6818end
6819} dup 0 8 dict put def
6820
6821/istroke {
6822gsave
6823brushDashOffset -1 eq {
6824[] 0 setdash
68251 setgray
6826} {
6827brushDashArray brushDashOffset setdash
6828fgred fggreen fgblue setrgbcolor
6829} ifelse
6830brushWidth setlinewidth
6831originalCTM setmatrix
6832stroke
6833grestore
6834} def
6835
6836/ishow {
68370 begin
6838gsave
6839fgred fggreen fgblue setrgbcolor
6840/fontDict printFont printSize scalefont dup setfont def
6841/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
6842transform exch pop def
6843/vertoffset 1 printSize sub descender sub def {
68440 vertoffset moveto show
6845/vertoffset vertoffset printSize sub def
6846} forall
6847grestore
6848end
6849} dup 0 3 dict put def
6850/patternproc {
68510 begin
6852/patternByteLength patternString length def
6853/patternHeight patternByteLength 8 mul sqrt cvi def
6854/patternWidth patternHeight def
6855/patternByteWidth patternWidth 8 idiv def
6856/imageByteMaxLength imageByteWidth imageHeight mul
6857stringLimit patternByteWidth sub min def
6858/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
6859patternHeight mul patternHeight max def
6860/imageHeight imageHeight imageMaxHeight sub store
6861/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
68620 1 imageMaxHeight 1 sub {
6863/y exch def
6864/patternRow y patternByteWidth mul patternByteLength mod def
6865/patternRowString patternString patternRow patternByteWidth getinterval def
6866/imageRow y imageByteWidth mul def
68670 patternByteWidth imageByteWidth 1 sub {
6868/x exch def
6869imageString imageRow x add patternRowString putinterval
6870} for
6871} for
6872imageString
6873end
6874} dup 0 12 dict put def
6875
6876/min {
6877dup 3 2 roll dup 4 3 roll lt { exch } if pop
6878} def
6879
6880/max {
6881dup 3 2 roll dup 4 3 roll gt { exch } if pop
6882} def
6883
6884/midpoint {
68850 begin
6886/y1 exch def
6887/x1 exch def
6888/y0 exch def
6889/x0 exch def
6890x0 x1 add 2 div
6891y0 y1 add 2 div
6892end
6893} dup 0 4 dict put def
6894
6895/thirdpoint {
68960 begin
6897/y1 exch def
6898/x1 exch def
6899/y0 exch def
6900/x0 exch def
6901x0 2 mul x1 add 3 div
6902y0 2 mul y1 add 3 div
6903end
6904} dup 0 4 dict put def
6905
6906/subspline {
69070 begin
6908/movetoNeeded exch def
6909y exch get /y3 exch def
6910x exch get /x3 exch def
6911y exch get /y2 exch def
6912x exch get /x2 exch def
6913y exch get /y1 exch def
6914x exch get /x1 exch def
6915y exch get /y0 exch def
6916x exch get /x0 exch def
6917x1 y1 x2 y2 thirdpoint
6918/p1y exch def
6919/p1x exch def
6920x2 y2 x1 y1 thirdpoint
6921/p2y exch def
6922/p2x exch def
6923x1 y1 x0 y0 thirdpoint
6924p1x p1y midpoint
6925/p0y exch def
6926/p0x exch def
6927x2 y2 x3 y3 thirdpoint
6928p2x p2y midpoint
6929/p3y exch def
6930/p3x exch def
6931movetoNeeded { p0x p0y moveto } if
6932p1x p1y p2x p2y p3x p3y curveto
6933end
6934} dup 0 17 dict put def
6935
6936/storexyn {
6937/n exch def
6938/y n array def
6939/x n array def
6940n 1 sub -1 0 {
6941/i exch def
6942y i 3 2 roll put
6943x i 3 2 roll put
6944} for
6945} def
6946
6947/SSten {
6948fgred fggreen fgblue setrgbcolor
6949dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
6950} def
6951
6952/FSten {
6953dup 3 -1 roll dup 4 1 roll exch
6954newpath
69550 0 moveto
6956dup 0 exch lineto
6957exch dup 3 1 roll exch lineto
69580 lineto
6959closepath
6960bgred bggreen bgblue setrgbcolor
6961eofill
6962SSten
6963} def
6964
6965/Rast {
6966exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
6967} def
6968
6969%%EndProlog
6970
6971%%BeginIdrawPrologue
6972/arrowhead {
69730 begin
6974transform originalCTM itransform
6975/taily exch def
6976/tailx exch def
6977transform originalCTM itransform
6978/tipy exch def
6979/tipx exch def
6980/dy tipy taily sub def
6981/dx tipx tailx sub def
6982/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
6983gsave
6984originalCTM setmatrix
6985tipx tipy translate
6986angle rotate
6987newpath
6988arrowHeight neg arrowWidth 2 div moveto
69890 0 lineto
6990arrowHeight neg arrowWidth 2 div neg lineto
6991patternNone not {
6992originalCTM setmatrix
6993/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
6994arrowWidth div def
6995/padtail brushWidth 2 div def
6996tipx tipy translate
6997angle rotate
6998padtip 0 translate
6999arrowHeight padtip add padtail add arrowHeight div dup scale
7000arrowheadpath
7001ifill
7002} if
7003brushNone not {
7004originalCTM setmatrix
7005tipx tipy translate
7006angle rotate
7007arrowheadpath
7008istroke
7009} if
7010grestore
7011end
7012} dup 0 9 dict put def
7013
7014/arrowheadpath {
7015newpath
7016arrowHeight neg arrowWidth 2 div moveto
70170 0 lineto
7018arrowHeight neg arrowWidth 2 div neg lineto
7019} def
7020
7021/leftarrow {
70220 begin
7023y exch get /taily exch def
7024x exch get /tailx exch def
7025y exch get /tipy exch def
7026x exch get /tipx exch def
7027brushLeftArrow { tipx tipy tailx taily arrowhead } if
7028end
7029} dup 0 4 dict put def
7030
7031/rightarrow {
70320 begin
7033y exch get /tipy exch def
7034x exch get /tipx exch def
7035y exch get /taily exch def
7036x exch get /tailx exch def
7037brushRightArrow { tipx tipy tailx taily arrowhead } if
7038end
7039} dup 0 4 dict put def
7040
7041%%EndIdrawPrologue
7042
7043%I Idraw 10 Grid 8 8
7044
7045%%Page: 1 1
7046
7047Begin
7048%I b u
7049%I cfg u
7050%I cbg u
7051%I f u
7052%I p u
7053%I t
7054[ 0.77233 0 0 0.77233 0 0 ] concat
7055/originalCTM matrix currentmatrix def
7056
7057Begin %I Rect
7058%I b 65535
70590 0 0 [] 0 SetB
7060%I cfg Black
70610 0 0 SetCFg
7062%I cbg White
70631 1 1 SetCBg
7064none SetP %I p n
7065%I t
7066[ 1 0 0 1 30 112 ] concat
7067%I
706826 616 650 656 Rect
7069End
7070
7071Begin %I Rect
7072%I b 65535
70730 0 0 [] 0 SetB
7074%I cfg Black
70750 0 0 SetCFg
7076%I cbg White
70771 1 1 SetCBg
7078%I p
70790.5 SetP
7080%I t
7081[ 1 0 0 1 30 168 ] concat
7082%I
7083610 560 650 600 Rect
7084End
7085
7086Begin %I Rect
7087%I b 65535
70880 0 0 [] 0 SetB
7089%I cfg Black
70900 0 0 SetCFg
7091%I cbg White
70921 1 1 SetCBg
7093%I p
70940.5 SetP
7095%I t
7096[ 1.21774 0 0 0.97619 -64.4976 181.333 ] concat
7097%I
7098434 560 506 600 Rect
7099End
7100
7101Begin %I Rect
7102%I b 65535
71030 0 0 [] 0 SetB
7104%I cfg Black
71050 0 0 SetCFg
7106%I cbg White
71071 1 1 SetCBg
7108%I p
71090.5 SetP
7110%I t
7111[ 1 0 0 1 30 168 ] concat
7112%I
711326 560 346 600 Rect
7114End
7115
7116Begin %I Text
7117%I cfg Black
71180 0 0 SetCFg
7119%I f *-helvetica-bold-r-normal--12-*-75-*
7120Helvetica-Bold 12 SetF
7121%I t
7122[ 1 0 0 1 624 795 ] concat
7123%I
7124[
7125(2)
7126] Text
7127End
7128
7129Begin %I Text
7130%I cfg Black
71310 0 0 SetCFg
7132%I f *-helvetica-bold-r-normal--12-*-75-*
7133Helvetica-Bold 12 SetF
7134%I t
7135[ 1 0 0 1 544 795 ] concat
7136%I
7137[
7138(5)
7139] Text
7140End
7141
7142Begin %I Text
7143%I cfg Black
71440 0 0 SetCFg
7145%I f *-helvetica-bold-r-normal--12-*-75-*
7146Helvetica-Bold 12 SetF
7147%I t
7148[ 1 0 0 1 456 795 ] concat
7149%I
7150[
7151(10)
7152] Text
7153End
7154
7155Begin %I Text
7156%I cfg Black
71570 0 0 SetCFg
7158%I f *-helvetica-bold-r-normal--12-*-75-*
7159Helvetica-Bold 12 SetF
7160%I t
7161[ 1 0 0 1 376 795 ] concat
7162%I
7163[
7164(15)
7165] Text
7166End
7167
7168Begin %I Text
7169%I cfg Black
71700 0 0 SetCFg
7171%I f *-helvetica-bold-r-normal--12-*-75-*
7172Helvetica-Bold 12 SetF
7173%I t
7174[ 1 0 0 1 391 707 ] concat
7175%I
7176[
7177(Pending)
7178(Interrupts)
7179] Text
7180End
7181
7182Begin %I Text
7183%I cfg Black
71840 0 0 SetCFg
7185%I f *-helvetica-bold-r-normal--12-*-75-*
7186Helvetica-Bold 12 SetF
7187%I t
7188[ 1 0 0 1 567.5 707 ] concat
7189%I
7190[
7191(Exception)
7192(Code)
7193] Text
7194End
7195
7196End %I eop
7197
7198showpage
7199
7200%%Trailer
7201
7202end
7203
7204%%EndDocument
7205
7206 endTexFig
7207 1379 2216 a Fu(Figure)g(4:)41 b(The)30 b Fk(Cause)f
7208Fu(register.)75 2491 y(the)h Fk(Status)e Fu(register)i(implemen)m(t)f
7209(a)h(three-lev)m(el)h(stac)m(k)g(for)f(the)g Fk(kernel/user)d
7210Fu(and)i Fk(interrupt)46 b(enable)75 2604 y Fu(bits.)59
7211b(The)37 b Fk(kernel/user)d Fu(bit)i(is)g(0)h(if)f(the)h(program)g(w)m
7212(as)g(running)d(in)i(the)h(k)m(ernel)f(when)g(the)h(in)m(terrupt)75
72132717 y(o)s(ccurred)27 b(and)h(1)g(if)f(it)g(w)m(as)h(in)f(user)g(mo)s
7214(de.)40 b(If)27 b(the)h Fk(interrupt)45 b(enable)26 b
7215Fu(bit)h(is)g(1,)i(in)m(terrupts)e(are)h(allo)m(w)m(ed.)75
72162830 y(If)34 b(it)g(is)g(0,)i(they)f(are)g(disabled.)51
7217b(A)m(t)35 b(an)g(in)m(terrupt,)f(these)h(six)f(bits)f(are)i(shifted)e
7218(left)i(b)m(y)f(t)m(w)m(o)i(bits,)f(so)g(the)75 2943
7219y(curren)m(t)f(bits)g(b)s(ecome)h(the)g(previous)e(bits)h(and)g(the)h
7220(previous)e(bits)h(b)s(ecome)h(the)g(old)e(bits.)53 b(The)34
7221b(curren)m(t)75 3056 y(bits)29 b(are)i(b)s(oth)f(set)h(to)g(0)f
7222(\(i.e.,)i(k)m(ernel)d(mo)s(de)h(with)f(in)m(terrupts)g(disabled\).)216
72233169 y(Figure)j(4)g(describ)s(es)f(the)h(bits)f(in)g(the)i
7224Fk(Cause)d Fu(registers.)46 b(The)32 b(\014v)m(e)h Fk(pending)45
7225b(interrupt)30 b Fu(bits)h(corre-)75 3282 y(sp)s(ond)g(to)i(the)f
7226(\014v)m(e)h(in)m(terrupt)e(lev)m(els.)46 b(A)33 b(bit)e(b)s(ecomes)i
7227(1)g(when)e(an)h(in)m(terrupt)f(at)j(its)d(lev)m(el)h(has)h(o)s
7228(ccurred)75 3395 y(but)k(has)h(not)h(b)s(een)e(serviced.)63
7229b(The)38 b Fk(exception)45 b(code)37 b Fu(register)h(con)m(tains)h(a)f
7230(co)s(de)g(from)g(the)g(follo)m(wing)75 3508 y(table)30
7231b(describing)e(the)j(cause)g(of)f(an)h(exception.)p 537
72323612 2857 4 v 535 3711 4 100 v 586 3681 a Ff(Num)m(b)s(er)p
7233978 3711 V 99 w(Name)p 1458 3711 V 234 w(Description)p
72343392 3711 V 537 3715 2857 4 v 537 3731 V 535 3831 4 100
7235v 586 3801 a Fx(0)p 978 3831 V 402 w(INT)p 1458 3831
7236V 328 w(External)26 b(in)n(terrupt)p 3392 3831 V 535
72373930 V 586 3901 a(4)p 978 3930 V 402 w(ADDRL)p 1458 3930
7238V 179 w(Address)h(error)e(exception)j(\(load)f(or)g(instruction)g(fetc)
7239n(h\))p 3392 3930 V 535 4030 V 586 4000 a(5)p 978 4030
7240V 402 w(ADDRS)p 1458 4030 V 185 w(Address)g(error)e(exception)j
7241(\(store\))p 3392 4030 V 535 4130 V 586 4100 a(6)p 978
72424130 V 402 w(IBUS)p 1458 4130 V 283 w(Bus)f(error)f(on)h(instruction)g
7243(fetc)n(h)p 3392 4130 V 535 4229 V 586 4199 a(7)p 978
72444229 V 402 w(DBUS)p 1458 4229 V 250 w(Bus)g(error)f(on)h(data)g(load)g
7245(or)g(store)p 3392 4229 V 535 4329 V 586 4299 a(8)p 978
72464329 V 402 w(SYSCALL)p 1458 4329 V 100 w(Syscall)g(exception)p
72473392 4329 V 535 4429 V 586 4399 a(9)p 978 4429 V 402
7248w(BKPT)p 1458 4429 V 239 w(Breakp)r(oin)n(t)f(exception)p
72493392 4429 V 535 4528 V 586 4498 a(10)p 978 4528 V 360
7250w(RI)p 1458 4528 V 389 w(Reserv)n(ed)g(instruction)h(exception)p
72513392 4528 V 535 4628 V 586 4598 a(12)p 978 4628 V 360
7252w(O)n(VF)p 1458 4628 V 301 w(Arithmetic)h(o)n(v)n(er\015o)n(w)d
7253(exception)p 3392 4628 V 537 4631 2857 4 v 75 4836 a
7254Fm(2.2)112 b(Byte)37 b(Order)75 5007 y Fu(Pro)s(cessors)27
7255b(can)h(n)m(um)m(b)s(er)f(the)h(b)m(ytes)g(within)d(a)j(w)m(ord)f(to)i
7256(mak)m(e)f(the)g(b)m(yte)g(with)f(the)h(lo)m(w)m(est)g(n)m(um)m(b)s(er)
7257e(either)75 5120 y(the)42 b(leftmost)g(or)g(righ)m(tmost)g(one.)76
7258b(The)42 b(con)m(v)m(en)m(tion)h(used)e(b)m(y)h(a)g(mac)m(hine)g(is)f
7259(its)g Fl(byte)i(or)-5 b(der)10 b Fu(.)77 b(MIPS)75 5233
7260y(pro)s(cessors)30 b(can)h(op)s(erate)g(with)e(either)g
7261Fl(big-endian)38 b Fu(b)m(yte)31 b(order:)1920 5656 y(12)p
7262eop
7263%%Page: 13 13
726413 12 bop 1795 86 a Fi(Byte)35 b(#)p 1675 123 581 4 v
72651673 236 4 113 v 1725 202 a Fu(0)p 1818 236 V 100 w(1)p
72661963 236 V 100 w(2)p 2108 236 V 100 w(3)p 2254 236 V
72671675 240 581 4 v 75 380 a(or)30 b Fl(little-endian)39
7268b Fu(b)m(yte)31 b(order:)1795 555 y Fi(Byte)k(#)p 1675
7269592 V 1673 705 4 113 v 1725 671 a Fu(3)p 1818 705 V 100
7270w(2)p 1963 705 V 100 w(1)p 2108 705 V 100 w(0)p 2254
7271705 V 1675 708 581 4 v 75 849 a(SPIM)h(op)s(erates)h(with)e(b)s(oth)h
7272(b)m(yte)h(orders.)59 b(SPIM's)36 b(b)m(yte)h(order)f(is)f(determined)h
7273(b)m(y)g(the)h(b)m(yte)g(order)f(of)75 962 y(the)c(underlying)d(hardw)m
7274(are)i(running)e(the)j(sim)m(ulator.)44 b(On)31 b(a)i(DECstation)f
7275(3100,)i(SPIM)d(is)g(little-endian,)75 1075 y(while)d(on)j(a)f(HP)h
7276(Bob)s(cat,)g(Sun)e(4)i(or)f(PC/R)-8 b(T,)31 b(SPIM)f(is)f(big-endian.)
727775 1317 y Fm(2.3)112 b(Addressing)38 b(Mo)s(des)75 1489
7278y Fu(MIPS)h(is)g(a)h(load/store)h(arc)m(hitecture,)i(whic)m(h)38
7279b(means)i(that)g(only)f(load)g(and)h(store)g(instructions)e(access)75
72801602 y(memory)-8 b(.)83 b(Computation)44 b(instructions)e(op)s(erate)j
7281(only)e(on)i(v)-5 b(alues)43 b(in)h(registers.)82 b(The)44
7282b(bare)g(mac)m(hine)75 1715 y(pro)m(vides)g(only)g(one)h(memory)g
7283(addressing)e(mo)s(de:)69 b Fk(c\(rx\))p Fu(,)48 b(whic)m(h)43
7284b(uses)i(the)g(sum)f(of)h(the)g(immediate)75 1828 y(\(in)m(teger\))39
7285b Fk(c)f Fu(and)g(the)g(con)m(ten)m(ts)i(of)e(register)g
7286Fk(rx)g Fu(as)g(the)g(address.)64 b(The)37 b(virtual)g(mac)m(hine)h
7287(pro)m(vides)f(the)75 1941 y(follo)m(wing)29 b(addressing)g(mo)s(des)g
7288(for)h(load)g(and)g(store)h(instructions:)p 309 2039
72893313 4 v 307 2139 4 100 v 657 2109 a Ff(F)-8 b(ormat)p
72901305 2139 V 1305 2139 V 1045 w(Address)31 b(Computation)p
72913620 2139 V 309 2142 3313 4 v 309 2159 V 307 2258 4 100
7292v 359 2228 a Fx(\(register\))p 1305 2258 V 664 w(con)n(ten)n(ts)c(of)g
7293(register)p 3620 2258 V 307 2358 V 359 2328 a(imm)p 1305
72942358 V 837 w(immediate)p 3620 2358 V 307 2458 V 359 2428
7295a(imm)h(\(register\))p 1305 2458 V 475 w(immediate)g(+)f(con)n(ten)n
7296(ts)g(of)g(register)p 3620 2458 V 307 2557 V 359 2527
7297a(sym)n(b)r(ol)p 1305 2557 V 741 w(address)f(of)i(sym)n(b)r(ol)p
72983620 2557 V 307 2657 V 359 2627 a(sym)n(b)r(ol)f Fc(\006)g
7299Fx(imm)p 1305 2657 V 461 w(address)f(of)i(sym)n(b)r(ol)f(+)g(or)g
7300Fc(\000)g Fx(immediate)p 3620 2657 V 307 2756 V 359 2727
7301a(sym)n(b)r(ol)g Fc(\006)g Fx(imm)h(\(register\))p 1305
73022756 V 99 w(address)e(of)i(sym)n(b)r(ol)f(+)g(or)g Fc(\000)g
7303Fx(\(immediate)h(+)f(con)n(ten)n(ts)g(of)h(register\))p
73043620 2756 V 309 2760 3313 4 v 216 2901 a Fu(Most)35 b(load)f(and)f
7305(store)i(instructions)c(op)s(erate)k(only)e(on)h(aligned)f(data.)52
7306b(A)34 b(quan)m(tit)m(y)g(is)f Fl(aligne)-5 b(d)45 b
7307Fu(if)33 b(its)75 3013 y(memory)g(address)f(is)g(a)h(m)m(ultiple)d(of)j
7308(its)f(size)h(in)f(b)m(ytes.)48 b(Therefore,)34 b(a)f(halfw)m(ord)e(ob)
73095 b(ject)34 b(m)m(ust)f(b)s(e)f(stored)75 3126 y(at)i(ev)m(en)h
7310(addresses)e(and)g(a)h(full)e(w)m(ord)h(ob)5 b(ject)34
7311b(m)m(ust)g(b)s(e)f(stored)h(at)g(addresses)g(that)g(are)g(a)g(m)m
7312(ultiple)d(of)j(4.)75 3239 y(Ho)m(w)m(ev)m(er,)f(MIPS)d(pro)m(vides)f
7313(some)i(instructions)d(for)i(manipulating)e(unaligned)g(data.)75
73143482 y Fm(2.4)112 b(Arithmetic)34 b(and)39 b(Logical)d(Instructions)75
73153653 y Fu(In)28 b(all)f(instructions)g(b)s(elo)m(w,)h
7316Fk(Src2)g Fu(can)g(either)g(b)s(e)g(a)h(register)g(or)f(an)h(immediate)
7317f(v)-5 b(alue)28 b(\(a)h(16)g(bit)f(in)m(teger\).)75
73183766 y(The)38 b(immediate)h(forms)f(of)h(the)g(instructions)e(are)i
7319(only)g(included)d(for)j(reference.)67 b(The)38 b(assem)m(bler)h(will)
732075 3879 y(translate)j(the)g(more)g(general)g(form)g(of)g(an)g
7321(instruction)d(\(e.g.,)47 b Fk(add)p Fu(\))42 b(in)m(to)f(the)i
7322(immediate)e(form)g(\(e.g.,)75 3992 y Fk(addi)p Fu(\))30
7323b(if)f(the)h(second)h(argumen)m(t)g(is)e(constan)m(t.)75
73244200 y Fk(abs)47 b(Rdest,)f(Rsrc)2407 b Fl(A)n(bsolute)32
7325b(V)-7 b(alue)3819 4167 y Fb(y)75 4313 y Fu(Put)30 b(the)h(absolute)f
7326(v)-5 b(alue)30 b(of)g(the)h(in)m(teger)f(from)g(register)h
7327Fk(Rsrc)e Fu(in)g(register)h Fk(Rdest)p Fu(.)75 4521
7328y Fk(add)47 b(Rdest,)f(Rsrc1,)g(Src2)1757 b Fl(A)-5 b(ddition)33
7329b(\(with)h(over\015ow\))75 4634 y Fk(addi)47 b(Rdest,)f(Rsrc1,)g(Imm)
73301310 b Fl(A)-5 b(ddition)34 b(Imme)-5 b(diate)34 b(\(with)g
7331(over\015ow\))75 4747 y Fk(addu)47 b(Rdest,)f(Rsrc1,)g(Src2)1583
7332b Fl(A)-5 b(ddition)34 b(\(without)g(over\015ow\))75
73334860 y Fk(addiu)46 b(Rdest,)g(Rsrc1,)h(Imm)1137 b Fl(A)-5
7334b(ddition)34 b(Imme)-5 b(diate)34 b(\(without)g(over\015ow\))75
73354973 y Fu(Put)c(the)h(sum)e(of)i(the)f(in)m(tegers)h(from)f(register)g
7336Fk(Rsrc1)f Fu(and)h Fk(Src2)f Fu(\(or)i Fk(Imm)p Fu(\))e(in)m(to)i
7337(register)f Fk(Rdest)p Fu(.)75 5181 y Fk(and)47 b(Rdest,)f(Rsrc1,)g
7338(Src2)2525 b Fl(AND)75 5294 y Fk(andi)47 b(Rdest,)f(Rsrc1,)g(Imm)2079
7339b Fl(AND)31 b(Imme)-5 b(diate)75 5407 y Fu(Put)30 b(the)g(logical)g
7340(AND)g(of)h(the)f(in)m(tegers)g(from)g(register)g Fk(Rsrc1)f
7341Fu(and)g Fk(Src2)g Fu(\(or)i Fk(Imm)p Fu(\))e(in)m(to)h(register)g
7342Fk(Rdest)p Fu(.)1920 5656 y(13)p eop
7343%%Page: 14 14
734414 13 bop 75 99 a Fk(div)47 b(Rsrc1,)f(Rsrc2)2412 b Fl(Divide)32
7345b(\(signe)-5 b(d\))75 211 y Fk(divu)47 b(Rsrc1,)f(Rsrc2)2264
7346b Fl(Divide)32 b(\(unsigne)-5 b(d\))75 324 y Fu(Divide)30
7347b(the)h(con)m(ten)m(ts)h(of)g(the)f(t)m(w)m(o)h(registers.)42
7348b Fk(divu)30 b Fu(treats)i(is)e(op)s(erands)f(as)i(unsigned)e(v)-5
7349b(alues.)42 b(Lea)m(v)m(e)33 b(the)75 437 y(quotien)m(t)i(in)f
7350(register)i Fk(lo)e Fu(and)h(the)g(remainder)f(in)g(register)h
7351Fk(hi)p Fu(.)55 b(Note)37 b(that)f(if)e(an)h(op)s(erand)f(is)g(negativ)
7352m(e,)75 550 y(the)h(remainder)e(is)g(unsp)s(eci\014ed)f(b)m(y)j(the)f
7353(MIPS)g(arc)m(hitecture)i(and)e(dep)s(ends)e(on)j(the)f(con)m(v)m(en)m
7354(tions)i(of)f(the)75 663 y(mac)m(hine)30 b(on)g(whic)m(h)f(SPIM)h(is)g
7355(run.)75 869 y Fk(div)47 b(Rdest,)f(Rsrc1,)g(Src2)1471
7356b Fl(Divide)32 b(\(signe)-5 b(d,)34 b(with)f(over\015ow\))3819
7357836 y Fb(y)75 981 y Fk(divu)47 b(Rdest,)f(Rsrc1,)g(Src2)1198
7358b Fl(Divide)32 b(\(unsigne)-5 b(d,)33 b(without)h(over\015ow\))3819
7359948 y Fb(y)75 1094 y Fu(Put)d(the)h(quotien)m(t)g(of)g(the)g(in)m
7360(tegers)g(from)f(register)g Fk(Rsrc1)g Fu(and)g Fk(Src2)f
7361Fu(in)m(to)i(register)f Fk(Rdest)p Fu(.)43 b Fk(divu)31
7362b Fu(treats)75 1207 y(is)e(op)s(erands)h(as)g(unsigned)e(v)-5
7363b(alues.)75 1413 y Fk(mul)47 b(Rdest,)f(Rsrc1,)g(Src2)1577
7364b Fl(Multiply)33 b(\(without)h(over\015ow\))3819 1380
7365y Fb(y)75 1526 y Fk(mulo)47 b(Rdest,)f(Rsrc1,)g(Src2)1654
7366b Fl(Multiply)33 b(\(with)h(over\015ow\))3819 1493 y
7367Fb(y)75 1731 y Fk(mulou)46 b(Rdest,)g(Rsrc1,)h(Src2)1214
7368b Fl(Unsigne)-5 b(d)32 b(Multiply)h(\(with)h(over\015ow\))3819
73691698 y Fb(y)75 1844 y Fu(Put)c(the)h(pro)s(duct)e(of)h(the)h(in)m
7370(tegers)f(from)g(register)h Fk(Rsrc1)e Fu(and)g Fk(Src2)h
7371Fu(in)m(to)g(register)g Fk(Rdest)p Fu(.)75 2049 y Fk(mult)47
7372b(Rsrc1,)f(Rsrc2)2642 b Fl(Multiply)75 2162 y Fk(multu)46
7373b(Rsrc1,)g(Rsrc2)2202 b Fl(Unsigne)-5 b(d)33 b(Multiply)75
73742275 y Fu(Multiply)c(the)j(con)m(ten)m(ts)h(of)f(the)g(t)m(w)m(o)h
7375(registers.)44 b(Lea)m(v)m(e)34 b(the)e(lo)m(w-order)f(w)m(ord)h(of)f
7376(the)h(pro)s(duct)f(in)f(register)75 2388 y Fk(lo)g Fu(and)g(the)g
7377(high-w)m(ord)f(in)g(register)h Fk(hi)p Fu(.)75 2594
7378y Fk(neg)47 b(Rdest,)f(Rsrc)1843 b Fl(Ne)-5 b(gate)33
7379b(V)-7 b(alue)32 b(\(with)i(over\015ow\))3819 2561 y
7380Fb(y)75 2707 y Fk(negu)47 b(Rdest,)f(Rsrc)1670 b Fl(Ne)-5
7381b(gate)33 b(V)-7 b(alue)32 b(\(without)i(over\015ow\))3819
73822674 y Fb(y)75 2819 y Fu(Put)c(the)h(negativ)m(e)g(of)g(the)f(in)m
7383(teger)h(from)f(register)g Fk(Rsrc)f Fu(in)m(to)i(register)f
7384Fk(Rdest)p Fu(.)75 3025 y Fk(nor)47 b(Rdest,)f(Rsrc1,)g(Src2)2525
7385b Fl(NOR)75 3138 y Fu(Put)30 b(the)h(logical)e(NOR)i(of)f(the)h(in)m
7386(tegers)f(from)g(register)g Fk(Rsrc1)f Fu(and)h Fk(Src2)f
7387Fu(in)m(to)i(register)f Fk(Rdest)p Fu(.)75 3343 y Fk(not)47
7388b(Rdest,)f(Rsrc)2793 b Fl(NOT)3819 3310 y Fb(y)75 3456
7389y Fu(Put)30 b(the)h(bit)m(wise)e(logical)g(negation)i(of)g(the)f(in)m
7390(teger)h(from)f(register)g Fk(Rsrc)f Fu(in)m(to)i(register)f
7391Fk(Rdest)p Fu(.)75 3662 y Fk(or)47 b(Rdest,)f(Rsrc1,)g(Src2)2641
7392b Fl(OR)75 3775 y Fk(ori)47 b(Rdest,)f(Rsrc1,)g(Imm)2195
7393b Fl(OR)32 b(Imme)-5 b(diate)75 3888 y Fu(Put)30 b(the)h(logical)e(OR)h
7394(of)h(the)f(in)m(tegers)h(from)f(register)g Fk(Rsrc1)f
7395Fu(and)h Fk(Src2)f Fu(\(or)i Fk(Imm)p Fu(\))f(in)m(to)g(register)g
7396Fk(Rdest)p Fu(.)75 4093 y Fk(rem)47 b(Rdest,)f(Rsrc1,)g(Src2)2231
7397b Fl(R)-5 b(emainder)3819 4060 y Fb(y)75 4206 y Fk(remu)47
7398b(Rdest,)f(Rsrc1,)g(Src2)1790 b Fl(Unsigne)-5 b(d)33
7399b(R)-5 b(emainder)3819 4173 y Fb(y)75 4319 y Fu(Put)24
7400b(the)h(remainder)d(from)i(dividing)d(the)k(in)m(teger)g(in)e(register)
7401h Fk(Rsrc1)f Fu(b)m(y)h(the)h(in)m(teger)f(in)g Fk(Src2)f
7402Fu(in)m(to)h(register)75 4432 y Fk(Rdest)p Fu(.)36 b(Note)22
7403b(that)f(if)f(an)h(op)s(erand)e(is)h(negativ)m(e,)k(the)d(remainder)e
7404(is)h(unsp)s(eci\014ed)e(b)m(y)i(the)h(MIPS)f(arc)m(hitecture)75
74054545 y(and)30 b(dep)s(ends)e(on)j(the)f(con)m(v)m(en)m(tions)i(of)e
7406(the)h(mac)m(hine)f(on)g(whic)m(h)f(SPIM)h(is)f(run.)75
74074750 y Fk(rol)47 b(Rdest,)f(Rsrc1,)g(Src2)2219 b Fl(R)-5
7408b(otate)35 b(L)-5 b(eft)3819 4717 y Fb(y)75 4863 y Fk(ror)47
7409b(Rdest,)f(Rsrc1,)g(Src2)2161 b Fl(R)-5 b(otate)35 b(R)n(ight)3819
74104830 y Fb(y)75 4976 y Fu(Rotate)30 b(the)f(con)m(ten)m(ts)h(of)f
7411(register)g Fk(Rsrc1)e Fu(left)h(\(righ)m(t\))h(b)m(y)f(the)h(distance)
7412f(indicated)f(b)m(y)i Fk(Src2)e Fu(and)h(put)g(the)75
74135089 y(result)h(in)g(register)i Fk(Rdest)p Fu(.)75 5294
7414y Fk(sll)47 b(Rdest,)f(Rsrc1,)g(Src2)2057 b Fl(Shift)33
7415b(L)-5 b(eft)33 b(L)-5 b(o)g(gic)g(al)75 5407 y Fk(sllv)47
7416b(Rdest,)f(Rsrc1,)g(Rsrc2)1602 b Fl(Shift)33 b(L)-5 b(eft)33
7417b(L)-5 b(o)g(gic)g(al)34 b(V)-7 b(ariable)1920 5656 y
7418Fu(14)p eop
7419%%Page: 15 15
742015 14 bop 75 99 a Fk(sra)47 b(Rdest,)f(Rsrc1,)g(Src2)1846
7421b Fl(Shift)33 b(R)n(ight)g(A)n(rithmetic)75 211 y Fk(srav)47
7422b(Rdest,)f(Rsrc1,)g(Rsrc2)1391 b Fl(Shift)33 b(R)n(ight)g(A)n
7423(rithmetic)f(V)-7 b(ariable)75 324 y Fk(srl)47 b(Rdest,)f(Rsrc1,)g
7424(Src2)1999 b Fl(Shift)33 b(R)n(ight)g(L)-5 b(o)g(gic)g(al)75
7425437 y Fk(srlv)47 b(Rdest,)f(Rsrc1,)g(Rsrc2)1544 b Fl(Shift)33
7426b(R)n(ight)g(L)-5 b(o)g(gic)g(al)34 b(V)-7 b(ariable)75
7427550 y Fu(Shift)31 b(the)i(con)m(ten)m(ts)h(of)f(register)f
7428Fk(Rsrc1)g Fu(left)g(\(righ)m(t\))h(b)m(y)f(the)h(distance)f(indicated)
7429g(b)m(y)g Fk(Src2)g Fu(\()p Fk(Rsrc2)p Fu(\))g(and)75
7430663 y(put)e(the)g(result)g(in)f(register)h Fk(Rdest)p
7431Fu(.)75 852 y Fk(sub)47 b(Rdest,)f(Rsrc1,)g(Src2)1772
7432b Fl(Subtr)-5 b(act)33 b(\(with)h(over\015ow\))75 965
7433y Fk(subu)47 b(Rdest,)f(Rsrc1,)g(Src2)1598 b Fl(Subtr)-5
7434b(act)34 b(\(without)g(over\015ow\))75 1078 y Fu(Put)c(the)h
7435(di\013erence)e(of)i(the)g(in)m(tegers)f(from)g(register)g
7436Fk(Rsrc1)f Fu(and)h Fk(Src2)f Fu(in)m(to)i(register)f
7437Fk(Rdest)p Fu(.)75 1267 y Fk(xor)47 b(Rdest,)f(Rsrc1,)g(Src2)2528
7438b Fl(X)n(OR)75 1380 y Fk(xori)47 b(Rdest,)f(Rsrc1,)g(Imm)2081
7439b Fl(X)n(OR)32 b(Imme)-5 b(diate)75 1493 y Fu(Put)30
7440b(the)g(logical)g(X)m(OR)h(of)f(the)g(in)m(tegers)h(from)f(register)g
7441Fk(Rsrc1)f Fu(and)g Fk(Src2)g Fu(\(or)i Fk(Imm)p Fu(\))f(in)m(to)g
7442(register)g Fk(Rdest)p Fu(.)75 1731 y Fm(2.5)112 b(Constan)m
7443(t-Manipulating)38 b(Instructions)75 1979 y Fk(li)47
7444b(Rdest,)f(imm)2458 b Fl(L)-5 b(o)g(ad)34 b(Imme)-5 b(diate)3819
74451946 y Fb(y)75 2092 y Fu(Mo)m(v)m(e)32 b(the)f(immediate)e
7446Fk(imm)h Fu(in)m(to)g(register)h Fk(Rdest)p Fu(.)75 2281
7447y Fk(lui)47 b(Rdest,)f(imm)2209 b Fl(L)-5 b(o)g(ad)35
7448b(Upp)-5 b(er)33 b(Imme)-5 b(diate)75 2394 y Fu(Load)33
7449b(the)g(lo)m(w)m(er)g(halfw)m(ord)e(of)i(the)g(immediate)f
7450Fk(imm)g Fu(in)m(to)h(the)g(upp)s(er)e(halfw)m(ord)g(of)i(register)g
7451Fk(Rdest)p Fu(.)46 b(The)75 2507 y(lo)m(w)m(er)31 b(bits)e(of)h(the)h
7452(register)f(are)h(set)g(to)g(0.)75 2745 y Fm(2.6)112
7453b(Comparison)37 b(Instructions)75 2917 y Fu(In)28 b(all)f(instructions)
7454g(b)s(elo)m(w,)h Fk(Src2)g Fu(can)g(either)g(b)s(e)g(a)h(register)g(or)
7455f(an)h(immediate)f(v)-5 b(alue)28 b(\(a)h(16)g(bit)f(in)m(teger\).)75
74563106 y Fk(seq)47 b(Rdest,)f(Rsrc1,)g(Src2)2283 b Fl(Set)33
7457b(Equal)3819 3073 y Fb(y)75 3219 y Fu(Set)e(register)f
7458Fk(Rdest)f Fu(to)i(1)g(if)e(register)h Fk(Rsrc1)f Fu(equals)h
7459Fk(Src2)f Fu(and)h(to)h(b)s(e)f(0)g(otherwise.)75 3408
7460y Fk(sge)47 b(Rdest,)f(Rsrc1,)g(Src2)1711 b Fl(Set)33
7461b(Gr)-5 b(e)g(ater)34 b(Than)g(Equal)3819 3375 y Fb(y)75
74623521 y Fk(sgeu)47 b(Rdest,)f(Rsrc1,)g(Src2)1270 b Fl(Set)33
7463b(Gr)-5 b(e)g(ater)35 b(Than)e(Equal)g(Unsigne)-5 b(d)3819
74643488 y Fb(y)75 3634 y Fu(Set)31 b(register)f Fk(Rdest)f
7465Fu(to)i(1)g(if)e(register)h Fk(Rsrc1)f Fu(is)h(greater)h(than)f(or)h
7466(equal)f(to)h Fk(Src2)e Fu(and)h(to)h(0)f(otherwise.)75
74673823 y Fk(sgt)47 b(Rdest,)f(Rsrc1,)g(Src2)1966 b Fl(Set)32
7468b(Gr)-5 b(e)g(ater)35 b(Than)3819 3790 y Fb(y)75 3936
7469y Fk(sgtu)47 b(Rdest,)f(Rsrc1,)g(Src2)1525 b Fl(Set)33
7470b(Gr)-5 b(e)g(ater)34 b(Than)g(Unsigne)-5 b(d)3819 3903
7471y Fb(y)75 4049 y Fu(Set)31 b(register)f Fk(Rdest)f Fu(to)i(1)g(if)e
7472(register)h Fk(Rsrc1)f Fu(is)h(greater)h(than)f Fk(Src2)f
7473Fu(and)h(to)h(0)g(otherwise.)75 4238 y Fk(sle)47 b(Rdest,)f(Rsrc1,)g
7474(Src2)1841 b Fl(Set)32 b(L)-5 b(ess)33 b(Than)h(Equal)3819
74754205 y Fb(y)75 4351 y Fk(sleu)47 b(Rdest,)f(Rsrc1,)g(Src2)1400
7476b Fl(Set)32 b(L)-5 b(ess)34 b(Than)f(Equal)g(Unsigne)-5
7477b(d)3819 4318 y Fb(y)75 4464 y Fu(Set)31 b(register)f
7478Fk(Rdest)f Fu(to)i(1)g(if)e(register)h Fk(Rsrc1)f Fu(is)h(less)f(than)h
7479(or)h(equal)f(to)h Fk(Src2)e Fu(and)h(to)h(0)g(otherwise.)75
74804653 y Fk(slt)47 b(Rdest,)f(Rsrc1,)g(Src2)2163 b Fl(Set)33
7481b(L)-5 b(ess)33 b(Than)75 4766 y Fk(slti)47 b(Rdest,)f(Rsrc1,)g(Imm)
74821717 b Fl(Set)33 b(L)-5 b(ess)33 b(Than)g(Imme)-5 b(diate)75
74834879 y Fk(sltu)47 b(Rdest,)f(Rsrc1,)g(Src2)1722 b Fl(Set)33
7484b(L)-5 b(ess)33 b(Than)h(Unsigne)-5 b(d)75 4992 y Fk(sltiu)46
7485b(Rdest,)g(Rsrc1,)h(Imm)1276 b Fl(Set)33 b(L)-5 b(ess)33
7486b(Than)g(Unsigne)-5 b(d)33 b(Imme)-5 b(diate)75 5105
7487y Fu(Set)31 b(register)f Fk(Rdest)f Fu(to)i(1)g(if)e(register)h
7488Fk(Rsrc1)f Fu(is)h(less)f(than)h Fk(Src2)g Fu(\(or)g
7489Fk(Imm)p Fu(\))g(and)g(to)h(0)g(otherwise.)75 5294 y
7490Fk(sne)47 b(Rdest,)f(Rsrc1,)g(Src2)2107 b Fl(Set)32 b(Not)h(Equal)3819
74915261 y Fb(y)75 5407 y Fu(Set)e(register)f Fk(Rdest)f
7492Fu(to)i(1)g(if)e(register)h Fk(Rsrc1)f Fu(is)h(not)g(equal)g(to)h
7493Fk(Src2)e Fu(and)h(to)h(0)g(otherwise.)1920 5656 y(15)p
7494eop
7495%%Page: 16 16
749616 15 bop 75 99 a Fm(2.7)112 b(Branc)m(h)38 b(and)g(Jump)f
7497(Instructions)75 270 y Fu(In)28 b(all)h(instructions)e(b)s(elo)m(w,)i
7498Fk(Src2)f Fu(can)h(either)g(b)s(e)f(a)i(register)f(or)g(an)g(immediate)
7499g(v)-5 b(alue)28 b(\(in)m(teger\).)42 b(Branc)m(h)75
7500383 y(instructions)25 b(use)h(a)h(signed)f(16-bit)h(o\013set)h
7501(\014eld;)e(hence)h(they)g(can)g(jump)f(2)2673 350 y
7502Fr(15)2761 383 y Fj(\000)13 b Fu(1)26 b Fl(instructions)36
7503b Fu(\(not)27 b(b)m(ytes\))75 496 y(forw)m(ard)j(or)g(2)565
7504463 y Fr(15)671 496 y Fu(instructions)e(bac)m(kw)m(ards.)41
7505b(The)30 b Fl(jump)36 b Fu(instruction)29 b(con)m(tains)h(a)h(26)g(bit)
7506f(address)f(\014eld.)75 708 y Fk(b)47 b(label)2630 b
7507Fl(Br)-5 b(anch)34 b(instruction)3819 675 y Fb(y)75 821
7508y Fu(Unconditionally)28 b(branc)m(h)h(to)i(the)g(instruction)d(at)k
7509(the)e(lab)s(el.)75 1034 y Fk(bc)p Fa(z)p Fk(t)47 b(label)2215
7510b Fl(Br)-5 b(anch)34 b(Copr)-5 b(o)g(c)g(essor)36 b Fg(z)h
7511Fl(T)-7 b(rue)75 1147 y Fk(bc)p Fa(z)p Fk(f)47 b(label)2201
7512b Fl(Br)-5 b(anch)34 b(Copr)-5 b(o)g(c)g(essor)36 b Fg(z)h
7513Fl(F)-7 b(alse)75 1260 y Fu(Conditionally)39 b(branc)m(h)j(to)h(the)f
7514(instruction)f(at)i(the)f(lab)s(el)f(if)g(copro)s(cessor)i
7515Fg(z)t Fu('s)f(condition)f(\015ag)i(is)e(true)75 1373
7516y(\(false\).)75 1585 y Fk(beq)47 b(Rsrc1,)f(Src2,)g(label)2061
7517b Fl(Br)-5 b(anch)34 b(on)f(Equal)75 1698 y Fu(Conditionally)21
7518b(branc)m(h)j(to)h(the)f(instruction)e(at)j(the)g(lab)s(el)d(if)h(the)i
7519(con)m(ten)m(ts)h(of)e(register)g Fk(Rsrc1)f Fu(equals)h
7520Fk(Src2)p Fu(.)75 1911 y Fk(beqz)47 b(Rsrc,)f(label)2069
7521b Fl(Br)-5 b(anch)34 b(on)f(Equal)f(Zer)-5 b(o)3819 1878
7522y Fb(y)75 2024 y Fu(Conditionally)27 b(branc)m(h)j(to)h(the)g
7523(instruction)d(at)j(the)g(lab)s(el)d(if)i(the)g(con)m(ten)m(ts)i(of)f
7524Fk(Rsrc)e Fu(equals)h(0.)75 2236 y Fk(bge)47 b(Rsrc1,)f(Src2,)g(label)
75251421 b Fl(Br)-5 b(anch)34 b(on)f(Gr)-5 b(e)g(ater)34
7526b(Than)g(Equal)3819 2203 y Fb(y)75 2349 y Fk(bgeu)47
7527b(Rsrc1,)f(Src2,)g(label)1577 b Fl(Br)-5 b(anch)34 b(on)f(GTE)g
7528(Unsigne)-5 b(d)3819 2316 y Fb(y)75 2462 y Fu(Conditionally)25
7529b(branc)m(h)j(to)h(the)g(instruction)d(at)j(the)g(lab)s(el)d(if)i(the)g
7530(con)m(ten)m(ts)i(of)f(register)f Fk(Rsrc1)f Fu(are)i(greater)75
75312575 y(than)h(or)g(equal)g(to)h Fk(Src2)p Fu(.)75 2787
7532y Fk(bgez)47 b(Rsrc,)f(label)1564 b Fl(Br)-5 b(anch)35
7533b(on)e(Gr)-5 b(e)g(ater)34 b(Than)g(Equal)e(Zer)-5 b(o)75
75342900 y Fu(Conditionally)28 b(branc)m(h)j(to)h(the)g(instruction)e(at)i
7535(the)g(lab)s(el)e(if)g(the)i(con)m(ten)m(ts)h(of)f Fk(Rsrc)e
7536Fu(are)i(greater)h(than)e(or)75 3013 y(equal)f(to)h(0.)75
75373226 y Fk(bgezal)46 b(Rsrc,)g(label)1064 b Fl(Br)-5 b(anch)34
7538b(on)f(Gr)-5 b(e)g(ater)34 b(Than)g(Equal)f(Zer)-5 b(o)33
7539b(A)n(nd)f(Link)75 3339 y Fu(Conditionally)c(branc)m(h)j(to)h(the)g
7540(instruction)e(at)i(the)g(lab)s(el)e(if)g(the)i(con)m(ten)m(ts)h(of)f
7541Fk(Rsrc)e Fu(are)i(greater)h(than)e(or)75 3452 y(equal)f(to)h(0.)41
7542b(Sa)m(v)m(e)32 b(the)e(address)g(of)g(the)h(next)f(instruction)f(in)g
7543(register)h(31.)75 3664 y Fk(bgt)47 b(Rsrc1,)f(Src2,)g(label)1675
7544b Fl(Br)-5 b(anch)34 b(on)f(Gr)-5 b(e)g(ater)35 b(Than)3819
75453631 y Fb(y)75 3777 y Fk(bgtu)47 b(Rsrc1,)f(Src2,)g(label)1234
7546b Fl(Br)-5 b(anch)34 b(on)g(Gr)-5 b(e)g(ater)34 b(Than)g(Unsigne)-5
7547b(d)3819 3744 y Fb(y)75 3890 y Fu(Conditionally)25 b(branc)m(h)j(to)h
7548(the)g(instruction)d(at)j(the)g(lab)s(el)d(if)i(the)g(con)m(ten)m(ts)i
7549(of)f(register)f Fk(Rsrc1)f Fu(are)i(greater)75 4003
7550y(than)h Fk(Src2)p Fu(.)75 4215 y Fk(bgtz)47 b(Rsrc,)f(label)1819
7551b Fl(Br)-5 b(anch)34 b(on)f(Gr)-5 b(e)g(ater)35 b(Than)e(Zer)-5
7552b(o)75 4328 y Fu(Conditionally)27 b(branc)m(h)j(to)h(the)g(instruction)
7553d(at)j(the)g(lab)s(el)d(if)i(the)g(con)m(ten)m(ts)i(of)f
7554Fk(Rsrc)e Fu(are)i(greater)g(than)g(0.)75 4541 y Fk(ble)47
7555b(Rsrc1,)f(Src2,)g(label)1550 b Fl(Br)-5 b(anch)34 b(on)f(L)-5
7556b(ess)33 b(Than)h(Equal)3819 4508 y Fb(y)75 4654 y Fk(bleu)47
7557b(Rsrc1,)f(Src2,)g(label)1597 b Fl(Br)-5 b(anch)34 b(on)f(L)-7
7558b(TE)33 b(Unsigne)-5 b(d)3819 4621 y Fb(y)75 4767 y Fu(Conditionally)35
7559b(branc)m(h)i(to)h(the)g(instruction)e(at)i(the)g(lab)s(el)e(if)h(the)h
7560(con)m(ten)m(ts)i(of)e(register)f Fk(Rsrc1)f Fu(are)j(less)75
75614880 y(than)30 b(or)g(equal)g(to)h Fk(Src2)p Fu(.)75
75625092 y Fk(blez)47 b(Rsrc,)f(label)1694 b Fl(Br)-5 b(anch)34
7563b(on)f(L)-5 b(ess)33 b(Than)h(Equal)e(Zer)-5 b(o)75 5205
7564y Fu(Conditionally)22 b(branc)m(h)j(to)i(the)f(instruction)d(at)k(the)e
7565(lab)s(el)f(if)h(the)h(con)m(ten)m(ts)h(of)f Fk(Rsrc)e
7566Fu(are)i(less)f(than)h(or)f(equal)75 5318 y(to)31 b(0.)1920
75675656 y(16)p eop
7568%%Page: 17 17
756917 16 bop 75 99 a Fk(bgezal)46 b(Rsrc,)g(label)1064 b
7570Fl(Br)-5 b(anch)34 b(on)f(Gr)-5 b(e)g(ater)34 b(Than)g(Equal)f(Zer)-5
7571b(o)33 b(A)n(nd)f(Link)75 211 y Fk(bltzal)46 b(Rsrc,)g(label)1658
7572b Fl(Br)-5 b(anch)34 b(on)f(L)-5 b(ess)33 b(Than)h(A)n(nd)e(Link)75
7573324 y Fu(Conditionally)27 b(branc)m(h)i(to)h(the)g(instruction)e(at)j
7574(the)f(lab)s(el)e(if)g(the)i(con)m(ten)m(ts)i(of)e Fk(Rsrc)e
7575Fu(are)j(greater)g(or)e(equal)75 437 y(to)i(0)g(or)f(less)g(than)g(0,)h
7576(resp)s(ectiv)m(ely)-8 b(.)41 b(Sa)m(v)m(e)31 b(the)g(address)e(of)i
7577(the)f(next)h(instruction)d(in)h(register)h(31.)75 650
7578y Fk(blt)47 b(Rsrc1,)f(Src2,)g(label)1805 b Fl(Br)-5
7579b(anch)34 b(on)f(L)-5 b(ess)33 b(Than)3819 617 y Fb(y)75
7580763 y Fk(bltu)47 b(Rsrc1,)f(Src2,)g(label)1364 b Fl(Br)-5
7581b(anch)34 b(on)f(L)-5 b(ess)33 b(Than)h(Unsigne)-5 b(d)3819
7582730 y Fb(y)75 876 y Fu(Conditionally)35 b(branc)m(h)i(to)h(the)g
7583(instruction)e(at)i(the)g(lab)s(el)e(if)h(the)h(con)m(ten)m(ts)i(of)e
7584(register)f Fk(Rsrc1)f Fu(are)j(less)75 989 y(than)30
7585b Fk(Src2)p Fu(.)75 1201 y Fk(bltz)47 b(Rsrc,)f(label)1948
7586b Fl(Br)-5 b(anch)35 b(on)e(L)-5 b(ess)33 b(Than)g(Zer)-5
7587b(o)75 1314 y Fu(Conditionally)27 b(branc)m(h)j(to)h(the)g(instruction)
7588d(at)j(the)g(lab)s(el)d(if)i(the)g(con)m(ten)m(ts)i(of)f
7589Fk(Rsrc)e Fu(are)i(less)f(than)g(0.)75 1526 y Fk(bne)47
7590b(Rsrc1,)f(Src2,)g(label)1884 b Fl(Br)-5 b(anch)34 b(on)f(Not)g(Equal)
759175 1639 y Fu(Conditionally)i(branc)m(h)j(to)g(the)h(instruction)d(at)j
7592(the)f(lab)s(el)f(if)g(the)h(con)m(ten)m(ts)i(of)e(register)g
7593Fk(Rsrc1)f Fu(are)i(not)75 1752 y(equal)30 b(to)h Fk(Src2)p
7594Fu(.)75 1965 y Fk(bnez)47 b(Rsrc,)f(label)1892 b Fl(Br)-5
7595b(anch)34 b(on)f(Not)g(Equal)f(Zer)-5 b(o)3819 1932 y
7596Fb(y)75 2078 y Fu(Conditionally)27 b(branc)m(h)j(to)h(the)g
7597(instruction)d(at)j(the)g(lab)s(el)d(if)i(the)g(con)m(ten)m(ts)i(of)f
7598Fk(Rsrc)e Fu(are)i(not)f(equal)g(to)h(0.)75 2290 y Fk(j)47
7599b(label)3228 b Fl(Jump)75 2403 y Fu(Unconditionally)28
7600b(jump)g(to)k(the)e(instruction)e(at)k(the)e(lab)s(el.)75
76012616 y Fk(jal)47 b(label)2745 b Fl(Jump)33 b(and)g(Link)75
76022729 y Fk(jalr)47 b(Rsrc)2396 b Fl(Jump)33 b(and)h(Link)e(R)-5
7603b(e)g(gister)75 2842 y Fu(Unconditionally)28 b(jump)h(to)j(the)f
7604(instruction)d(at)k(the)f(lab)s(el)e(or)i(whose)f(address)g(is)g(in)f
7605(register)i Fk(Rsrc)p Fu(.)41 b(Sa)m(v)m(e)75 2954 y(the)31
7606b(address)e(of)i(the)f(next)h(instruction)d(in)h(register)h(31.)75
76073167 y Fk(jr)47 b(Rsrc)2879 b Fl(Jump)33 b(R)-5 b(e)g(gister)75
76083280 y Fu(Unconditionally)28 b(jump)g(to)k(the)e(instruction)e(whose)j
7609(address)e(is)h(in)f(register)h Fk(Rsrc)p Fu(.)75 3523
7610y Fm(2.8)112 b(Load)39 b(Instructions)75 3795 y Fk(la)47
7611b(Rdest,)f(address)2374 b Fl(L)-5 b(o)g(ad)34 b(A)-5
7612b(ddr)g(ess)3819 3762 y Fb(y)75 3908 y Fu(Load)31 b(computed)f
7613Fl(addr)-5 b(ess)7 b Fu(,)33 b(not)e(the)f(con)m(ten)m(ts)i(of)f(the)f
7614(lo)s(cation,)h(in)m(to)f(register)g Fk(Rdest)p Fu(.)75
76154120 y Fk(lb)47 b(Rdest,)f(address)2567 b Fl(L)-5 b(o)g(ad)35
7616b(Byte)75 4233 y Fk(lbu)47 b(Rdest,)f(address)2126 b
7617Fl(L)-5 b(o)g(ad)35 b(Unsigne)-5 b(d)33 b(Byte)75 4346
7618y Fu(Load)e(the)f(b)m(yte)h(at)g Fl(addr)-5 b(ess)40
7619b Fu(in)m(to)30 b(register)h Fk(Rdest)p Fu(.)39 b(The)30
7620b(b)m(yte)h(is)e(sign-extended)h(b)m(y)g(the)h Fk(lb)p
7621Fu(,)f(but)f(not)i(the)75 4459 y Fk(lbu)p Fu(,)f(instruction.)75
76224671 y Fk(ld)47 b(Rdest,)f(address)2159 b Fl(L)-5 b(o)g(ad)34
7623b(Double-Wor)-5 b(d)3819 4638 y Fb(y)75 4784 y Fu(Load)31
7624b(the)f(64-bit)h(quan)m(tit)m(y)f(at)h Fl(addr)-5 b(ess)40
7625b Fu(in)m(to)31 b(registers)f Fk(Rdest)f Fu(and)h Fk(Rdest)46
7626b(+)h(1)p Fu(.)75 4997 y Fk(lh)g(Rdest,)f(address)2395
7627b Fl(L)-5 b(o)g(ad)35 b(Halfwor)-5 b(d)75 5110 y Fk(lhu)47
7628b(Rdest,)f(address)1954 b Fl(L)-5 b(o)g(ad)35 b(Unsigne)-5
7629b(d)33 b(Halfwor)-5 b(d)75 5223 y Fu(Load)21 b(the)f(16-bit)h(quan)m
7630(tit)m(y)g(\(halfw)m(ord\))e(at)i Fl(addr)-5 b(ess)31
7631b Fu(in)m(to)20 b(register)g Fk(Rdest)p Fu(.)36 b(The)20
7632b(halfw)m(ord)f(is)h(sign-extended)75 5335 y(b)m(y)30
7633b(the)h Fk(lh)p Fu(,)f(but)g(not)g(the)h Fi(lh)m(u)p
7634Fu(,)g(instruction)1920 5656 y(17)p eop
7635%%Page: 18 18
763618 17 bop 75 99 a Fk(lw)47 b(Rdest,)f(address)2530 b
7637Fl(L)-5 b(o)g(ad)35 b(Wor)-5 b(d)75 211 y Fu(Load)31
7638b(the)f(32-bit)h(quan)m(tit)m(y)f(\(w)m(ord\))h(at)g
7639Fl(addr)-5 b(ess)40 b Fu(in)m(to)31 b(register)f Fk(Rdest)p
7640Fu(.)75 424 y Fk(lwc)p Fa(z)62 b Fk(Rdest,)47 b(address)1914
7641b Fl(L)-5 b(o)g(ad)34 b(Wor)-5 b(d)34 b(Copr)-5 b(o)g(c)g(essor)75
7642537 y Fu(Load)31 b(the)f(w)m(ord)g(at)h Fl(addr)-5 b(ess)40
7643b Fu(in)m(to)31 b(register)f Fk(Rdest)f Fu(of)h(copro)s(cessor)h
7644Fg(z)k Fu(\(0{3\).)75 749 y Fk(lwl)47 b(Rdest,)f(address)2297
7645b Fl(L)-5 b(o)g(ad)35 b(Wor)-5 b(d)34 b(L)-5 b(eft)75
7646862 y Fk(lwr)47 b(Rdest,)f(address)2239 b Fl(L)-5 b(o)g(ad)35
7647b(Wor)-5 b(d)34 b(R)n(ight)75 975 y Fu(Load)29 b(the)g(left)g(\(righ)m
7648(t\))g(b)m(ytes)h(from)e(the)h(w)m(ord)g(at)g(the)h(p)s
7649(ossibly-unaligned)24 b Fl(addr)-5 b(ess)38 b Fu(in)m(to)29
7650b(register)g Fk(Rdest)p Fu(.)75 1188 y Fk(ulh)47 b(Rdest,)f(address)
76511854 b Fl(Unaligne)-5 b(d)33 b(L)-5 b(o)g(ad)35 b(Halfwor)-5
7652b(d)3819 1155 y Fb(y)75 1301 y Fk(ulhu)47 b(Rdest,)f(address)1413
7653b Fl(Unaligne)-5 b(d)33 b(L)-5 b(o)g(ad)35 b(Halfwor)-5
7654b(d)35 b(Unsigne)-5 b(d)3819 1268 y Fb(y)75 1414 y Fu(Load)30
7655b(the)g(16-bit)h(quan)m(tit)m(y)f(\(halfw)m(ord\))f(at)i(the)f(p)s
7656(ossibly-unaligned)c Fl(addr)-5 b(ess)39 b Fu(in)m(to)30
7657b(register)g Fk(Rdest)p Fu(.)39 b(The)75 1526 y(halfw)m(ord)29
7658b(is)g(sign-extended)h(b)m(y)g(the)h Fk(ulh)p Fu(,)f(but)f(not)i(the)g
7659Fi(ulh)m(u)p Fu(,)f(instruction)75 1739 y Fk(ulw)47 b(Rdest,)f(address)
76601989 b Fl(Unaligne)-5 b(d)33 b(L)-5 b(o)g(ad)35 b(Wor)-5
7661b(d)3819 1706 y Fb(y)75 1852 y Fu(Load)31 b(the)f(32-bit)h(quan)m(tit)m
7662(y)f(\(w)m(ord\))h(at)g(the)g(p)s(ossibly-unaligned)25
7663b Fl(addr)-5 b(ess)40 b Fu(in)m(to)31 b(register)f Fk(Rdest)p
7664Fu(.)75 2095 y Fm(2.9)112 b(Store)37 b(Instructions)75
76652367 y Fk(sb)47 b(Rsrc,)g(address)2598 b Fl(Stor)-5 b(e)34
7666b(Byte)75 2480 y Fu(Store)d(the)f(lo)m(w)g(b)m(yte)h(from)f(register)g
7667Fk(Rsrc)g Fu(at)h Fl(addr)-5 b(ess)7 b Fu(.)75 2692 y
7668Fk(sd)47 b(Rsrc,)g(address)2189 b Fl(Stor)-5 b(e)34 b(Double-Wor)-5
7669b(d)3819 2659 y Fb(y)75 2805 y Fu(Store)31 b(the)f(64-bit)h(quan)m(tit)
7670m(y)f(in)g(registers)g Fk(Rsrc)f Fu(and)h Fk(Rsrc)46
7671b(+)i(1)30 b Fu(at)h Fl(addr)-5 b(ess)7 b Fu(.)75 3018
7672y Fk(sh)47 b(Rsrc,)g(address)2426 b Fl(Stor)-5 b(e)34
7673b(Halfwor)-5 b(d)75 3130 y Fu(Store)31 b(the)f(lo)m(w)g(halfw)m(ord)f
7674(from)h(register)g Fk(Rsrc)g Fu(at)h Fl(addr)-5 b(ess)7
7675b Fu(.)75 3343 y Fk(sw)47 b(Rsrc,)g(address)2561 b Fl(Stor)-5
7676b(e)34 b(Wor)-5 b(d)75 3456 y Fu(Store)31 b(the)f(w)m(ord)g(from)g
7677(register)g Fk(Rsrc)g Fu(at)h Fl(addr)-5 b(ess)7 b Fu(.)75
76783668 y Fk(swc)p Fa(z)62 b Fk(Rsrc,)47 b(address)1946
7679b Fl(Stor)-5 b(e)33 b(Wor)-5 b(d)34 b(Copr)-5 b(o)g(c)g(essor)75
76803781 y Fu(Store)31 b(the)f(w)m(ord)g(from)g(register)g
7681Fk(Rsrc)g Fu(of)g(copro)s(cessor)h Fg(z)j Fu(at)e Fl(addr)-5
7682b(ess)7 b Fu(.)75 3994 y Fk(swl)47 b(Rsrc,)f(address)2329
7683b Fl(Stor)-5 b(e)34 b(Wor)-5 b(d)34 b(L)-5 b(eft)75 4107
7684y Fk(swr)47 b(Rsrc,)f(address)2271 b Fl(Stor)-5 b(e)34
7685b(Wor)-5 b(d)34 b(R)n(ight)75 4220 y Fu(Store)d(the)f(left)g(\(righ)m
7686(t\))h(b)m(ytes)g(from)f(register)g Fk(Rsrc)f Fu(at)i(the)g(p)s
7687(ossibly-unaligned)25 b Fl(addr)-5 b(ess)7 b Fu(.)75
76884432 y Fk(ush)47 b(Rsrc,)f(address)1886 b Fl(Unaligne)-5
7689b(d)33 b(Stor)-5 b(e)34 b(Halfwor)-5 b(d)3819 4399 y
7690Fb(y)75 4545 y Fu(Store)31 b(the)f(lo)m(w)g(halfw)m(ord)f(from)h
7691(register)g Fk(Rsrc)g Fu(at)h(the)f(p)s(ossibly-unaligned)c
7692Fl(addr)-5 b(ess)7 b Fu(.)75 4758 y Fk(usw)47 b(Rsrc,)f(address)2020
7693b Fl(Unaligne)-5 b(d)34 b(Stor)-5 b(e)34 b(Wor)-5 b(d)3819
76944725 y Fb(y)75 4871 y Fu(Store)31 b(the)f(w)m(ord)g(from)g(register)g
7695Fk(Rsrc)g Fu(at)h(the)f(p)s(ossibly-unaligned)c Fl(addr)-5
7696b(ess)7 b Fu(.)1920 5656 y(18)p eop
7697%%Page: 19 19
769819 18 bop 75 99 a Fm(2.10)112 b(Data)38 b(Mo)m(v)m(emen)m(t)f
7699(Instructions)75 368 y Fk(move)47 b(Rdest,)f(Rsrc)2735
7700b Fl(Move)3819 335 y Fb(y)75 481 y Fu(Mo)m(v)m(e)32 b(the)f(con)m(ten)m
7701(ts)h(of)f Fk(Rsrc)e Fu(to)i Fk(Rdest)p Fu(.)216 692
7702y(The)26 b(m)m(ultiply)e(and)h(divide)f(unit)h(pro)s(duces)g(its)h
7703(result)f(in)g(t)m(w)m(o)j(additional)c(registers,)j(hi)e(and)h(lo.)39
7704b(These)75 805 y(instructions)k(mo)m(v)m(e)j(v)-5 b(alues)44
7705b(to)h(and)f(from)g(these)h(registers.)84 b(The)44 b(m)m(ultiply)-8
7706b(,)46 b(divide,)g(and)f(remainder)75 918 y(instructions)27
7707b(describ)s(ed)g(ab)s(o)m(v)m(e)j(are)f(pseudoinstructions)d(that)j
7708(mak)m(e)h(it)f(app)s(ear)f(as)h(if)f(this)g(unit)f(op)s(erates)75
77091031 y(on)j(the)h(general)f(registers)g(and)g(detect)i(error)e
7710(conditions)f(suc)m(h)h(as)g(divide)f(b)m(y)h(zero)h(or)f(o)m(v)m
7711(er\015o)m(w.)75 1242 y Fk(mfhi)47 b(Rdest)2743 b Fl(Move)32
7712b(F)-7 b(r)i(om)35 b(hi)75 1355 y Fk(mflo)47 b(Rdest)2748
7713b Fl(Move)32 b(F)-7 b(r)i(om)34 b(lo)75 1468 y Fu(Mo)m(v)m(e)e(the)f
7714(con)m(ten)m(ts)h(of)f(the)f(hi)f(\(lo\))i(register)f(to)h(register)g
7715Fk(Rdest)p Fu(.)75 1679 y Fk(mthi)47 b(Rdest)2845 b Fl(Move)33
7716b(T)-7 b(o)33 b(hi)75 1792 y Fk(mtlo)47 b(Rdest)2850
7717b Fl(Move)32 b(T)-7 b(o)33 b(lo)75 1905 y Fu(Mo)m(v)m(e)f(the)f(con)m
7718(ten)m(ts)h(register)e Fk(Rdest)f Fu(to)i(the)g(hi)e(\(lo\))i
7719(register.)216 2116 y(Copro)s(cessors)39 b(ha)m(v)m(e)i(their)e(o)m(wn)
7720h(register)g(sets.)69 b(These)39 b(instructions)f(mo)m(v)m(e)j(v)-5
7721b(alues)39 b(b)s(et)m(w)m(een)h(these)75 2229 y(registers)30
7722b(and)g(the)g(CPU's)h(registers.)75 2440 y Fk(mfc)p Fa(z)62
7723b Fk(Rdest,)47 b(CPsrc)1917 b Fl(Move)32 b(F)-7 b(r)i(om)35
7724b(Copr)-5 b(o)g(c)g(essor)36 b Fg(z)75 2553 y Fu(Mo)m(v)m(e)c(the)f
7725(con)m(ten)m(ts)h(of)f(copro)s(cessor)f Fg(z)t Fu('s)h(register)f
7726Fk(CPsrc)f Fu(to)i(CPU)f(register)h Fk(Rdest)p Fu(.)75
77272764 y Fk(mfc1.d)46 b(Rdest,)g(FRsrc1)1419 b Fl(Move)32
7728b(Double)g(F)-7 b(r)i(om)34 b(Copr)-5 b(o)g(c)g(essor)36
7729b(1)3819 2731 y Fb(y)75 2877 y Fu(Mo)m(v)m(e)h(the)e(con)m(ten)m(ts)h
7730(of)f(\015oating)f(p)s(oin)m(t)g(registers)g Fk(FRsrc1)f
7731Fu(and)h Fk(FRsrc1)47 b(+)g(1)34 b Fu(to)i(CPU)e(registers)g
7732Fk(Rdest)75 2990 y Fu(and)c Fk(Rdest)46 b(+)i(1)p Fu(.)75
77333201 y Fk(mtc)p Fa(z)62 b Fk(Rsrc,)47 b(CPdest)2019 b
7734Fl(Move)33 b(T)-7 b(o)33 b(Copr)-5 b(o)g(c)g(essor)36
7735b Fg(z)75 3314 y Fu(Mo)m(v)m(e)c(the)f(con)m(ten)m(ts)h(of)f(CPU)f
7736(register)g Fk(Rsrc)f Fu(to)i(copro)s(cessor)g Fg(z)t
7737Fu('s)g(register)f Fk(CPdest)p Fu(.)75 3557 y Fm(2.11)112
7738b(Floating)37 b(P)m(oin)m(t)f(Instructions)75 3728 y
7739Fu(The)30 b(MIPS)g(has)h(a)g(\015oating)f(p)s(oin)m(t)g(copro)s(cessor)
7740h(\(n)m(um)m(b)s(ered)f(1\))h(that)h(op)s(erates)f(on)f(single)g
7741(precision)e(\(32-)75 3841 y(bit\))c(and)g(double)f(precision)g
7742(\(64-bit\))i(\015oating)g(p)s(oin)m(t)e(n)m(um)m(b)s(ers.)37
7743b(This)23 b(copro)s(cessor)i(has)f(its)g(o)m(wn)h(registers,)75
77443954 y(whic)m(h)32 b(are)h(n)m(um)m(b)s(ered)f Fk($f0)p
7745Fu({)p Fk($f31)p Fu(.)47 b(Because)35 b(these)e(registers)g(are)h(only)
7746e(32-bits)h(wide,)g(t)m(w)m(o)h(of)f(them)h(are)75 4067
7747y(required)24 b(to)i(hold)e(doubles.)37 b(T)-8 b(o)26
7748b(simplify)c(matters,)28 b(\015oating)d(p)s(oin)m(t)g(op)s(erations)g
7749(only)f(use)h(ev)m(en-n)m(um)m(b)s(ered)75 4180 y(registers|including)i
7750(instructions)h(that)j(op)s(erate)g(on)f(single)f(\015oats.)216
77514293 y(V)-8 b(alues)27 b(are)g(mo)m(v)m(ed)h(in)e(or)h(out)g(of)g
7752(these)g(registers)g(a)g(w)m(ord)g(\(32-bits\))g(at)h(a)f(time)g(b)m(y)
7753f Fk(lwc1)p Fu(,)h Fk(swc1)p Fu(,)g Fk(mtc1)p Fu(,)75
77544406 y(and)40 b Fk(mfc1)g Fu(instructions)f(describ)s(ed)g(ab)s(o)m(v)m
7755(e)j(or)f(b)m(y)g(the)g Fk(l.s)p Fu(,)i Fk(l.d)p Fu(,)g
7756Fk(s.s)p Fu(,)g(and)e Fk(s.d)f Fu(pseudoinstructions)75
77574519 y(describ)s(ed)28 b(b)s(elo)m(w.)39 b(The)29 b(\015ag)h(set)h(b)m
7758(y)e(\015oating)h(p)s(oin)m(t)e(comparison)h(op)s(erations)g(is)g(read)
7759h(b)m(y)f(the)h(CPU)f(with)75 4632 y(its)h Fk(bc1t)f
7760Fu(and)h Fk(bc1f)f Fu(instructions.)216 4744 y(In)38
7761b(all)f(instructions)f(b)s(elo)m(w,)j Fk(FRdest)p Fu(,)g
7762Fk(FRsrc1)p Fu(,)f Fk(FRsrc2)p Fu(,)h(and)f Fk(FRsrc)e
7763Fu(are)j(\015oating)f(p)s(oin)m(t)f(registers)75 4857
7764y(\(e.g.,)32 b Fk($f2)p Fu(\).)75 5068 y Fk(abs.d)46
7765b(FRdest,)g(FRsrc)1376 b Fl(Flo)-5 b(ating)35 b(Point)e(A)n(bsolute)f
7766(V)-7 b(alue)32 b(Double)75 5181 y Fk(abs.s)46 b(FRdest,)g(FRsrc)1410
7767b Fl(Flo)-5 b(ating)34 b(Point)f(A)n(bsolute)g(V)-7 b(alue)32
7768b(Single)75 5294 y Fu(Compute)f(the)g(absolute)g(v)-5
7769b(alue)31 b(of)g(the)h(\015oating)f(\015oat)h(double)e(\(single\))g(in)
7770g(register)h Fk(FRsrc)f Fu(and)h(put)f(it)h(in)75 5407
7771y(register)f Fk(FRdest)p Fu(.)1920 5656 y(19)p eop
7772%%Page: 20 20
777320 19 bop 75 99 a Fk(add.d)46 b(FRdest,)g(FRsrc1,)g(FRsrc2)1195
7774b Fl(Flo)-5 b(ating)34 b(Point)f(A)-5 b(ddition)34 b(Double)75
7775211 y Fk(add.s)46 b(FRdest,)g(FRsrc1,)g(FRsrc2)1229 b
7776Fl(Flo)-5 b(ating)34 b(Point)f(A)-5 b(ddition)34 b(Single)75
7777324 y Fu(Compute)28 b(the)g(sum)f(of)h(the)g(\015oating)g(\015oat)h
7778(doubles)d(\(singles\))h(in)g(registers)g Fk(FRsrc1)g
7779Fu(and)g Fk(FRsrc2)f Fu(and)i(put)75 437 y(it)i(in)f(register)h
7780Fk(FRdest)p Fu(.)75 641 y Fk(c.eq.d)46 b(FRsrc1,)g(FRsrc2)1869
7781b Fl(Comp)-5 b(ar)g(e)35 b(Equal)d(Double)75 754 y Fk(c.eq.s)46
7782b(FRsrc1,)g(FRsrc2)1902 b Fl(Comp)-5 b(ar)g(e)36 b(Equal)c(Single)75
7783866 y Fu(Compare)38 b(the)h(\015oating)g(p)s(oin)m(t)e(double)h(in)f
7784(register)i Fk(FRsrc1)d Fu(against)j(the)g(one)g(in)f
7785Fk(FRsrc2)e Fu(and)j(set)g(the)75 979 y(\015oating)30
7786b(p)s(oin)m(t)g(condition)f(\015ag)h(true)h(if)e(they)h(are)h(equal.)75
77871183 y Fk(c.le.d)46 b(FRsrc1,)g(FRsrc2)1426 b Fl(Comp)-5
7788b(ar)g(e)35 b(L)-5 b(ess)33 b(Than)h(Equal)e(Double)75
77891296 y Fk(c.le.s)46 b(FRsrc1,)g(FRsrc2)1460 b Fl(Comp)-5
7790b(ar)g(e)35 b(L)-5 b(ess)33 b(Than)h(Equal)e(Single)75
77911409 y Fu(Compare)38 b(the)h(\015oating)g(p)s(oin)m(t)e(double)h(in)f
7792(register)i Fk(FRsrc1)d Fu(against)j(the)g(one)g(in)f
7793Fk(FRsrc2)e Fu(and)j(set)g(the)75 1522 y(\015oating)30
7794b(p)s(oin)m(t)g(condition)f(\015ag)h(true)h(if)e(the)h(\014rst)g(is)f
7795(less)h(than)g(or)h(equal)f(to)h(the)f(second.)75 1725
7796y Fk(c.lt.d)46 b(FRsrc1,)g(FRsrc2)1680 b Fl(Comp)-5 b(ar)g(e)36
7797b(L)-5 b(ess)33 b(Than)g(Double)75 1838 y Fk(c.lt.s)46
7798b(FRsrc1,)g(FRsrc2)1714 b Fl(Comp)-5 b(ar)g(e)35 b(L)-5
7799b(ess)33 b(Than)h(Single)75 1951 y Fu(Compare)k(the)h(\015oating)g(p)s
7800(oin)m(t)e(double)h(in)f(register)i Fk(FRsrc1)d Fu(against)j(the)g(one)
7801g(in)f Fk(FRsrc2)e Fu(and)j(set)g(the)75 2064 y(condition)29
7802b(\015ag)i(true)f(if)f(the)i(\014rst)e(is)h(less)f(than)i(the)f
7803(second.)75 2267 y Fk(cvt.d.s)46 b(FRdest,)g(FRsrc)1779
7804b Fl(Convert)34 b(Single)e(to)h(Double)75 2380 y Fk(cvt.d.w)46
7805b(FRdest,)g(FRsrc)1741 b Fl(Convert)33 b(Inte)-5 b(ger)33
7806b(to)g(Double)75 2493 y Fu(Con)m(v)m(ert)45 b(the)f(single)e(precision)
7807g(\015oating)h(p)s(oin)m(t)g(n)m(um)m(b)s(er)g(or)g(in)m(teger)h(in)f
7808(register)g Fk(FRsrc)g Fu(to)h(a)g(double)75 2606 y(precision)29
7809b(n)m(um)m(b)s(er)g(and)g(put)h(it)g(in)f(register)h
7810Fk(FRdest)p Fu(.)75 2809 y Fk(cvt.s.d)46 b(FRdest,)g(FRsrc)1779
7811b Fl(Convert)34 b(Double)e(to)h(Single)75 2922 y Fk(cvt.s.w)46
7812b(FRdest,)g(FRsrc)1774 b Fl(Convert)34 b(Inte)-5 b(ger)33
7813b(to)g(Single)75 3035 y Fu(Con)m(v)m(ert)45 b(the)f(double)e(precision)
7814g(\015oating)h(p)s(oin)m(t)g(n)m(um)m(b)s(er)g(or)g(in)m(teger)h(in)f
7815(register)g Fk(FRsrc)g Fu(to)h(a)g(single)75 3148 y(precision)29
7816b(n)m(um)m(b)s(er)g(and)g(put)h(it)g(in)f(register)h
7817Fk(FRdest)p Fu(.)75 3351 y Fk(cvt.w.d)46 b(FRdest,)g(FRsrc)1741
7818b Fl(Convert)33 b(Double)f(to)h(Inte)-5 b(ger)75 3464
7819y Fk(cvt.w.s)46 b(FRdest,)g(FRsrc)1774 b Fl(Convert)34
7820b(Single)e(to)h(Inte)-5 b(ger)75 3577 y Fu(Con)m(v)m(ert)29
7821b(the)e(double)g(or)g(single)g(precision)f(\015oating)h(p)s(oin)m(t)g
7822(n)m(um)m(b)s(er)f(in)h(register)g Fk(FRsrc)f Fu(to)j(an)e(in)m(teger)i
7823(and)75 3690 y(put)h(it)g(in)f(register)h Fk(FRdest)p
7824Fu(.)75 3894 y Fk(div.d)46 b(FRdest,)g(FRsrc1,)g(FRsrc2)1280
7825b Fl(Flo)-5 b(ating)34 b(Point)f(Divide)f(Double)75 4007
7826y Fk(div.s)46 b(FRdest,)g(FRsrc1,)g(FRsrc2)1314 b Fl(Flo)-5
7827b(ating)34 b(Point)f(Divide)f(Single)75 4119 y Fu(Compute)27
7828b(the)h(quotien)m(t)g(of)g(the)g(\015oating)g(\015oat)h(doubles)d
7829(\(singles\))h(in)g(registers)g Fk(FRsrc1)f Fu(and)h
7830Fk(FRsrc2)g Fu(and)75 4232 y(put)j(it)g(in)f(register)h
7831Fk(FRdest)p Fu(.)75 4436 y Fk(l.d)47 b(FRdest,)f(address)1708
7832b Fl(L)-5 b(o)g(ad)35 b(Flo)-5 b(ating)34 b(Point)f(Double)3819
78334403 y Fb(y)75 4549 y Fk(l.s)47 b(FRdest,)f(address)1742
7834b Fl(L)-5 b(o)g(ad)35 b(Flo)-5 b(ating)34 b(Point)f(Single)3819
78354516 y Fb(y)75 4662 y Fu(Load)e(the)f(\015oating)g(\015oat)h(double)e
7836(\(single\))h(at)h Fk(address)e Fu(in)m(to)h(register)g
7837Fk(FRdest)p Fu(.)75 4865 y Fk(mov.d)46 b(FRdest,)g(FRsrc)1753
7838b Fl(Move)32 b(Flo)-5 b(ating)34 b(Point)f(Double)75
78394978 y Fk(mov.s)46 b(FRdest,)g(FRsrc)1787 b Fl(Move)32
7840b(Flo)-5 b(ating)34 b(Point)f(Single)75 5091 y Fu(Mo)m(v)m(e)f(the)f
7841(\015oating)f(\015oat)h(double)e(\(single\))h(from)g(register)g
7842Fk(FRsrc)f Fu(to)i(register)f Fk(FRdest)p Fu(.)75 5294
7843y Fk(mul.d)46 b(FRdest,)g(FRsrc1,)g(FRsrc2)1209 b Fl(Flo)-5
7844b(ating)34 b(Point)f(Multiply)g(Double)75 5407 y Fk(mul.s)46
7845b(FRdest,)g(FRsrc1,)g(FRsrc2)1243 b Fl(Flo)-5 b(ating)34
7846b(Point)f(Multiply)g(Single)1920 5656 y Fu(20)p eop
7847%%Page: 21 21
784821 20 bop 75 99 a Fu(Compute)29 b(the)g(pro)s(duct)f(of)h(the)g
7849(\015oating)g(\015oat)h(doubles)d(\(singles\))i(in)f(registers)g
7850Fk(FRsrc1)g Fu(and)g Fk(FRsrc2)g Fu(and)75 211 y(put)i(it)g(in)f
7851(register)h Fk(FRdest)p Fu(.)75 424 y Fk(neg.d)46 b(FRdest,)g(FRsrc)
78522304 b Fl(Ne)-5 b(gate)32 b(Double)75 537 y Fk(neg.s)46
7853b(FRdest,)g(FRsrc)2337 b Fl(Ne)-5 b(gate)33 b(Single)75
7854650 y Fu(Negate)g(the)d(\015oating)g(p)s(oin)m(t)g(double)f(\(single\))
7855g(in)h(register)g Fk(FRsrc)f Fu(and)g(put)h(it)g(in)f(register)h
7856Fk(FRdest)p Fu(.)75 862 y Fk(s.d)47 b(FRdest,)f(address)1692
7857b Fl(Stor)-5 b(e)34 b(Flo)-5 b(ating)34 b(Point)f(Double)3819
7858829 y Fb(y)75 975 y Fk(s.s)47 b(FRdest,)f(address)1726
7859b Fl(Stor)-5 b(e)34 b(Flo)-5 b(ating)34 b(Point)f(Single)3819
7860942 y Fb(y)75 1088 y Fu(Store)e(the)f(\015oating)g(\015oat)i(double)c
7861(\(single\))i(in)f(register)i Fk(FRdest)d Fu(at)j Fk(address)p
7862Fu(.)75 1301 y Fk(sub.d)46 b(FRdest,)g(FRsrc1,)g(FRsrc2)1210
7863b Fl(Flo)-5 b(ating)35 b(Point)e(Subtr)-5 b(act)33 b(Double)75
78641414 y Fk(sub.s)46 b(FRdest,)g(FRsrc1,)g(FRsrc2)1244
7865b Fl(Flo)-5 b(ating)35 b(Point)d(Subtr)-5 b(act)34 b(Single)75
78661526 y Fu(Compute)j(the)h(di\013erence)f(of)g(the)h(\015oating)g
7867(\015oat)g(doubles)e(\(singles\))g(in)h(registers)g Fk(FRsrc1)f
7868Fu(and)h Fk(FRsrc2)75 1639 y Fu(and)30 b(put)f(it)h(in)f(register)i
7869Fk(FRdest)p Fu(.)75 1883 y Fm(2.12)112 b(Exception)37
7870b(and)h(T)-9 b(rap)38 b(Instructions)75 2154 y Fk(rfe)2707
7871b Fl(R)-5 b(eturn)34 b(F)-7 b(r)i(om)34 b(Exc)-5 b(eption)75
78722267 y Fu(Restore)31 b(the)g(Status)f(register.)75 2480
7873y Fk(syscall)2970 b Fl(System)33 b(Cal)5 b(l)75 2592
7874y Fu(Register)31 b Fk($v0)e Fu(con)m(tains)i(the)f(n)m(um)m(b)s(er)f
7875(of)i(the)f(system)h(call)f(\(see)h(T)-8 b(able)30 b(1\))h(pro)m(vided)
7876e(b)m(y)h(SPIM.)75 2805 y Fk(break)46 b(n)3223 b Fl(Br)-5
7877b(e)g(ak)75 2918 y Fu(Cause)30 b(exception)h Fg(n)p Fu(.)40
7878b(Exception)30 b(1)h(is)e(reserv)m(ed)i(for)f(the)g(debugger.)75
78793130 y Fk(nop)3124 b Fl(No)32 b(op)-5 b(er)g(ation)75
78803243 y Fu(Do)31 b(nothing.)75 3530 y Fs(3)135 b(Memory)45
7881b(Usage)75 3733 y Fu(The)37 b(organization)h(of)g(memory)g(in)e(MIPS)i
7882(systems)f(is)g(con)m(v)m(en)m(tional.)64 b(A)38 b(program's)g(address)
7883f(space)h(is)75 3846 y(comp)s(osed)30 b(of)h(three)f(parts)g(\(see)i
7884(Figure)e(5\).)216 3959 y(A)m(t)38 b(the)g(b)s(ottom)f(of)h(the)f(user)
7885g(address)f(space)i(\(0x400000\))j(is)36 b(the)h(text)i(segmen)m(t,)h
7886(whic)m(h)c(holds)g(the)75 4071 y(instructions)28 b(for)i(a)h(program.)
7887216 4184 y(Ab)s(o)m(v)m(e)g(the)f(text)h(segmen)m(t)g(is)e(the)i(data)f
7888(segmen)m(t)h(\(starting)g(at)f(0x10000000\),)35 b(whic)m(h)29
7889b(is)g(divided)e(in)m(to)75 4297 y(t)m(w)m(o)37 b(parts.)56
7890b(The)36 b(static)g(data)g(p)s(ortion)f(con)m(tains)h(ob)5
7891b(jects)36 b(whose)g(size)f(and)g(address)g(are)h(kno)m(wn)f(to)i(the)
789275 4410 y(compiler)29 b(and)h(link)m(er.)40 b(Immediately)29
7893b(ab)s(o)m(v)m(e)j(these)f(ob)5 b(jects)32 b(is)d(dynamic)h(data.)42
7894b(As)30 b(a)h(program)g(allo)s(cates)75 4523 y(space)c(dynamically)d
7895(\(i.e.,)k(b)m(y)e Fk(malloc)p Fu(\),)g(the)g Fk(sbrk)g
7896Fu(system)g(call)g(mo)m(v)m(es)h(the)g(top)f(of)h(the)f(data)h(segmen)m
7897(t)h(up.)216 4636 y(The)23 b(program)h(stac)m(k)h(resides)e(at)h(the)g
7898(top)g(of)g(the)g(address)f(space)h(\(0x7\013\013\013f)7
7899b(\).)40 b(It)24 b(gro)m(ws)g(do)m(wn,)h(to)m(w)m(ards)75
79004749 y(the)31 b(data)g(segmen)m(t.)75 5035 y Fs(4)135
7901b(Calling)46 b(Con)l(v)l(en)l(tion)75 5238 y Fu(The)37
7902b(calling)f(con)m(v)m(en)m(tion)i(describ)s(ed)d(in)h(this)g(section)i
7903(is)e(the)i(one)f(used)g(b)m(y)g Fl(gc)-5 b(c)5 b Fu(,)39
7904b(not)e(the)h(nativ)m(e)f(MIPS)75 5351 y(compiler,)29
7905b(whic)m(h)g(uses)h(a)h(more)g(complex)f(con)m(v)m(en)m(tion)h(that)g
7906(is)e(sligh)m(tly)g(faster.)1920 5656 y(21)p eop
7907%%Page: 22 22
790822 21 bop 1101 7 a
7909 13640500 18945146 7038648 16511221 25852231 42297671 startTexFig
7910 1101 7 a
7911%%BeginDocument: mem.id
7912%!PS-Adobe-2.0 EPSF-1.2
7913%%DocumentFonts: Helvetica-Bold
7914%%Pages: 1
7915%%BoundingBox: 107 251 393 643
7916%%EndComments
7917
7918/IdrawDict 51 dict def
7919IdrawDict begin
7920
7921/reencodeISO {
7922dup dup findfont dup length dict begin
7923{ 1 index /FID ne { def }{ pop pop } ifelse } forall
7924/Encoding ISOLatin1Encoding def
7925currentdict end definefont
7926} def
7927
7928/ISOLatin1Encoding [
7929/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7930/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7931/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7932/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7933/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
7934/parenleft/parenright/asterisk/plus/comma/minus/period/slash
7935/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
7936/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
7937/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
7938/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
7939/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
7940/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7941/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
7942/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
7943/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
7944/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
7945/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
7946/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
7947/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
7948/guillemotright/onequarter/onehalf/threequarters/questiondown
7949/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
7950/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
7951/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
7952/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
7953/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
7954/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
7955/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
7956/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
7957/yacute/thorn/ydieresis
7958] def
7959/Helvetica-Bold reencodeISO def
7960
7961/arrowHeight 8 def
7962/arrowWidth 4 def
7963/none null def
7964/numGraphicParameters 17 def
7965/stringLimit 65535 def
7966
7967/Begin {
7968save
7969numGraphicParameters dict begin
7970} def
7971
7972/End {
7973end
7974restore
7975} def
7976
7977/SetB {
7978dup type /nulltype eq {
7979pop
7980false /brushRightArrow idef
7981false /brushLeftArrow idef
7982true /brushNone idef
7983} {
7984/brushDashOffset idef
7985/brushDashArray idef
79860 ne /brushRightArrow idef
79870 ne /brushLeftArrow idef
7988/brushWidth idef
7989false /brushNone idef
7990} ifelse
7991} def
7992
7993/SetCFg {
7994/fgblue idef
7995/fggreen idef
7996/fgred idef
7997} def
7998
7999/SetCBg {
8000/bgblue idef
8001/bggreen idef
8002/bgred idef
8003} def
8004
8005/SetF {
8006/printSize idef
8007/printFont idef
8008} def
8009
8010/SetP {
8011dup type /nulltype eq {
8012pop true /patternNone idef
8013} {
8014dup -1 eq {
8015/patternGrayLevel idef
8016/patternString idef
8017} {
8018/patternGrayLevel idef
8019} ifelse
8020false /patternNone idef
8021} ifelse
8022} def
8023
8024/BSpl {
80250 begin
8026storexyn
8027newpath
8028n 1 gt {
80290 0 0 0 0 0 1 1 true subspline
8030n 2 gt {
80310 0 0 0 1 1 2 2 false subspline
80321 1 n 3 sub {
8033/i exch def
8034i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
8035} for
8036n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
8037} if
8038n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
8039patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
8040brushNone not { istroke } if
80410 0 1 1 leftarrow
8042n 2 sub dup n 1 sub dup rightarrow
8043} if
8044end
8045} dup 0 4 dict put def
8046
8047/Circ {
8048newpath
80490 360 arc
8050patternNone not { ifill } if
8051brushNone not { istroke } if
8052} def
8053
8054/CBSpl {
80550 begin
8056dup 2 gt {
8057storexyn
8058newpath
8059n 1 sub dup 0 0 1 1 2 2 true subspline
80601 1 n 3 sub {
8061/i exch def
8062i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
8063} for
8064n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
8065n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
8066patternNone not { ifill } if
8067brushNone not { istroke } if
8068} {
8069Poly
8070} ifelse
8071end
8072} dup 0 4 dict put def
8073
8074/Elli {
80750 begin
8076newpath
80774 2 roll
8078translate
8079scale
80800 0 1 0 360 arc
8081patternNone not { ifill } if
8082brushNone not { istroke } if
8083end
8084} dup 0 1 dict put def
8085
8086/Line {
80870 begin
80882 storexyn
8089newpath
8090x 0 get y 0 get moveto
8091x 1 get y 1 get lineto
8092brushNone not { istroke } if
80930 0 1 1 leftarrow
80940 0 1 1 rightarrow
8095end
8096} dup 0 4 dict put def
8097
8098/MLine {
80990 begin
8100storexyn
8101newpath
8102n 1 gt {
8103x 0 get y 0 get moveto
81041 1 n 1 sub {
8105/i exch def
8106x i get y i get lineto
8107} for
8108patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
8109brushNone not { istroke } if
81100 0 1 1 leftarrow
8111n 2 sub dup n 1 sub dup rightarrow
8112} if
8113end
8114} dup 0 4 dict put def
8115
8116/Poly {
81173 1 roll
8118newpath
8119moveto
8120-1 add
8121{ lineto } repeat
8122closepath
8123patternNone not { ifill } if
8124brushNone not { istroke } if
8125} def
8126
8127/Rect {
81280 begin
8129/t exch def
8130/r exch def
8131/b exch def
8132/l exch def
8133newpath
8134l b moveto
8135l t lineto
8136r t lineto
8137r b lineto
8138closepath
8139patternNone not { ifill } if
8140brushNone not { istroke } if
8141end
8142} dup 0 4 dict put def
8143
8144/Text {
8145ishow
8146} def
8147
8148/idef {
8149dup where { pop pop pop } { exch def } ifelse
8150} def
8151
8152/ifill {
81530 begin
8154gsave
8155patternGrayLevel -1 ne {
8156fgred bgred fgred sub patternGrayLevel mul add
8157fggreen bggreen fggreen sub patternGrayLevel mul add
8158fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
8159eofill
8160} {
8161eoclip
8162originalCTM setmatrix
8163pathbbox /t exch def /r exch def /b exch def /l exch def
8164/w r l sub ceiling cvi def
8165/h t b sub ceiling cvi def
8166/imageByteWidth w 8 div ceiling cvi def
8167/imageHeight h def
8168bgred bggreen bgblue setrgbcolor
8169eofill
8170fgred fggreen fgblue setrgbcolor
8171w 0 gt h 0 gt and {
8172l b translate w h scale
8173w h true [w 0 0 h neg 0 h] { patternproc } imagemask
8174} if
8175} ifelse
8176grestore
8177end
8178} dup 0 8 dict put def
8179
8180/istroke {
8181gsave
8182brushDashOffset -1 eq {
8183[] 0 setdash
81841 setgray
8185} {
8186brushDashArray brushDashOffset setdash
8187fgred fggreen fgblue setrgbcolor
8188} ifelse
8189brushWidth setlinewidth
8190originalCTM setmatrix
8191stroke
8192grestore
8193} def
8194
8195/ishow {
81960 begin
8197gsave
8198fgred fggreen fgblue setrgbcolor
8199printFont printSize scalefont setfont
8200/descender 0 printFont /FontBBox get 1 get printFont /FontMatrix
8201get transform exch pop def
8202/vertoffset 1 printSize sub descender sub def {
82030 vertoffset moveto show
8204/vertoffset vertoffset printSize sub def
8205} forall
8206grestore
8207end
8208} dup 0 2 dict put def
8209
8210/patternproc {
82110 begin
8212/patternByteLength patternString length def
8213/patternHeight patternByteLength 8 mul sqrt cvi def
8214/patternWidth patternHeight def
8215/patternByteWidth patternWidth 8 idiv def
8216/imageByteMaxLength imageByteWidth imageHeight mul
8217stringLimit patternByteWidth sub min def
8218/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
8219patternHeight mul patternHeight max def
8220/imageHeight imageHeight imageMaxHeight sub store
8221/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
82220 1 imageMaxHeight 1 sub {
8223/y exch def
8224/patternRow y patternByteWidth mul patternByteLength mod def
8225/patternRowString patternString patternRow patternByteWidth getinterval def
8226/imageRow y imageByteWidth mul def
82270 patternByteWidth imageByteWidth 1 sub {
8228/x exch def
8229imageString imageRow x add patternRowString putinterval
8230} for
8231} for
8232imageString
8233end
8234} dup 0 12 dict put def
8235
8236/min {
8237dup 3 2 roll dup 4 3 roll lt { exch } if pop
8238} def
8239
8240/max {
8241dup 3 2 roll dup 4 3 roll gt { exch } if pop
8242} def
8243
8244/arrowhead {
82450 begin
8246transform originalCTM itransform
8247/taily exch def
8248/tailx exch def
8249transform originalCTM itransform
8250/tipy exch def
8251/tipx exch def
8252/dy tipy taily sub def
8253/dx tipx tailx sub def
8254/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
8255gsave
8256originalCTM setmatrix
8257tipx tipy translate
8258angle rotate
8259newpath
82600 0 moveto
8261arrowHeight neg arrowWidth 2 div lineto
8262arrowHeight neg arrowWidth 2 div neg lineto
8263closepath
8264patternNone not {
8265originalCTM setmatrix
8266/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
8267arrowWidth div def
8268/padtail brushWidth 2 div def
8269tipx tipy translate
8270angle rotate
8271padtip 0 translate
8272arrowHeight padtip add padtail add arrowHeight div dup scale
8273arrowheadpath
8274ifill
8275} if
8276brushNone not {
8277originalCTM setmatrix
8278tipx tipy translate
8279angle rotate
8280arrowheadpath
8281istroke
8282} if
8283grestore
8284end
8285} dup 0 9 dict put def
8286
8287/arrowheadpath {
8288newpath
82890 0 moveto
8290arrowHeight neg arrowWidth 2 div lineto
8291arrowHeight neg arrowWidth 2 div neg lineto
8292closepath
8293} def
8294
8295/leftarrow {
82960 begin
8297y exch get /taily exch def
8298x exch get /tailx exch def
8299y exch get /tipy exch def
8300x exch get /tipx exch def
8301brushLeftArrow { tipx tipy tailx taily arrowhead } if
8302end
8303} dup 0 4 dict put def
8304
8305/rightarrow {
83060 begin
8307y exch get /tipy exch def
8308x exch get /tipx exch def
8309y exch get /taily exch def
8310x exch get /tailx exch def
8311brushRightArrow { tipx tipy tailx taily arrowhead } if
8312end
8313} dup 0 4 dict put def
8314
8315/midpoint {
83160 begin
8317/y1 exch def
8318/x1 exch def
8319/y0 exch def
8320/x0 exch def
8321x0 x1 add 2 div
8322y0 y1 add 2 div
8323end
8324} dup 0 4 dict put def
8325
8326/thirdpoint {
83270 begin
8328/y1 exch def
8329/x1 exch def
8330/y0 exch def
8331/x0 exch def
8332x0 2 mul x1 add 3 div
8333y0 2 mul y1 add 3 div
8334end
8335} dup 0 4 dict put def
8336
8337/subspline {
83380 begin
8339/movetoNeeded exch def
8340y exch get /y3 exch def
8341x exch get /x3 exch def
8342y exch get /y2 exch def
8343x exch get /x2 exch def
8344y exch get /y1 exch def
8345x exch get /x1 exch def
8346y exch get /y0 exch def
8347x exch get /x0 exch def
8348x1 y1 x2 y2 thirdpoint
8349/p1y exch def
8350/p1x exch def
8351x2 y2 x1 y1 thirdpoint
8352/p2y exch def
8353/p2x exch def
8354x1 y1 x0 y0 thirdpoint
8355p1x p1y midpoint
8356/p0y exch def
8357/p0x exch def
8358x2 y2 x3 y3 thirdpoint
8359p2x p2y midpoint
8360/p3y exch def
8361/p3x exch def
8362movetoNeeded { p0x p0y moveto } if
8363p1x p1y p2x p2y p3x p3y curveto
8364end
8365} dup 0 17 dict put def
8366
8367/storexyn {
8368/n exch def
8369/y n array def
8370/x n array def
8371n 1 sub -1 0 {
8372/i exch def
8373y i 3 2 roll put
8374x i 3 2 roll put
8375} for
8376} def
8377
8378%%EndProlog
8379
8380%I Idraw 9 Grid 8
8381
8382%%Page: 1 1
8383
8384Begin
8385%I b u
8386%I cfg u
8387%I cbg u
8388%I f u
8389%I p u
8390%I t
8391[ 0.923077 0 0 0.923077 0 0 ] concat
8392/originalCTM matrix currentmatrix def
8393
8394Begin %I Rect
8395%I b 65535
83961 0 0 [] 0 SetB
8397%I cfg Black
83980 0 0 SetCFg
8399%I cbg White
84001 1 1 SetCBg
8401none SetP %I p n
8402%I t
8403[ 1 0 0 1 97 131 ] concat
8404%I
840593 145 326 560 Rect
8406End
8407
8408Begin %I Line
8409%I b 65535
84101 0 0 [] 0 SetB
8411%I cfg Black
84120 0 0 SetCFg
8413%I cbg White
84141 1 1 SetCBg
8415none SetP %I p n
8416%I t
8417[ 1 0 0 1 97 131 ] concat
8418%I
841993 491 326 491 Line
8420End
8421
8422Begin %I Line
8423%I b 65535
84241 0 0 [] 0 SetB
8425%I cfg Black
84260 0 0 SetCFg
8427%I cbg White
84281 1 1 SetCBg
8429none SetP %I p n
8430%I t
8431[ 1 0 0 1 97 131 ] concat
8432%I
843393 180 326 180 Line
8434End
8435
8436Begin %I Line
8437%I b 65535
84381 0 0 [] 0 SetB
8439%I cfg Black
84400 0 0 SetCFg
8441%I cbg White
84421 1 1 SetCBg
8443none SetP %I p n
8444%I t
8445[ 1 0 0 1 97 131 ] concat
8446%I
844793 249 326 249 Line
8448End
8449
8450Begin %I Line
8451%I b 65535
84521 0 0 [] 0 SetB
8453%I cfg Black
84540 0 0 SetCFg
8455%I cbg White
84561 1 1 SetCBg
8457none SetP %I p n
8458%I t
8459[ 1 0 0 1 97 131 ] concat
8460%I
846193 318 326 318 Line
8462End
8463
8464Begin %I Rect
8465%I b 65535
84661 0 0 [] 0 SetB
8467%I cfg Black
84680 0 0 SetCFg
8469%I cbg White
84701 1 1 SetCBg
8471%I p
84720.75 SetP
8473%I t
8474[ 1 0 0 1 97 131 ] concat
8475%I
847693 145 326 180 Rect
8477End
8478
8479Begin %I Text
8480%I cfg Black
84810 0 0 SetCFg
8482%I f *-helvetica-bold-r-normal--12-*-75-*
8483Helvetica-Bold 12 SetF
8484%I t
8485[ 1 0 0 1 278 294 ] concat
8486%I
8487[
8488(Reserved)
8489] Text
8490End
8491
8492Begin %I Text
8493%I cfg Black
84940 0 0 SetCFg
8495%I f *-helvetica-bold-r-normal--12-*-75-*
8496Helvetica-Bold 12 SetF
8497%I t
8498[ 1 0 0 1 264.5 354 ] concat
8499%I
8500[
8501(Text Segment)
8502] Text
8503End
8504
8505Begin %I Text
8506%I cfg Black
85070 0 0 SetCFg
8508%I f *-helvetica-bold-r-normal--12-*-75-*
8509Helvetica-Bold 12 SetF
8510%I t
8511[ 1 0 0 1 264 414 ] concat
8512%I
8513[
8514(Data Segment)
8515] Text
8516End
8517
8518Begin %I Text
8519%I cfg Black
85200 0 0 SetCFg
8521%I f *-helvetica-bold-r-normal--12-*-75-*
8522Helvetica-Bold 12 SetF
8523%I t
8524[ 1 0 0 1 260.5 656 ] concat
8525%I
8526[
8527(Stack Segment)
8528] Text
8529End
8530
8531Begin %I Line
8532%I b 65535
85332 0 1 [] 0 SetB
8534%I cfg Black
85350 0 0 SetCFg
8536%I cbg White
85371 1 1 SetCBg
8538%I p
85390.75 SetP
8540%I t
8541[ 1 0 0 1 109.5 131 ] concat
8542%I
8543197 491 197 439 Line
8544End
8545
8546Begin %I Line
8547%I b 65535
85482 0 1 [] 0 SetB
8549%I cfg Black
85500 0 0 SetCFg
8551%I cbg White
85521 1 1 SetCBg
8553%I p
85540.75 SetP
8555%I t
8556[ 1 0 0 1 101.5 131 ] concat
8557%I
8558205 318 205 361 Line
8559End
8560
8561Begin %I Text
8562%I cfg Black
85630 0 0 SetCFg
8564%I f *-helvetica-bold-r-normal--12-*-75-*
8565Helvetica-Bold 12 SetF
8566%I t
8567[ 1 0 0 1 120 328 ] concat
8568%I
8569[
8570(0x400000)
8571] Text
8572End
8573
8574Begin %I Text
8575%I cfg Black
85760 0 0 SetCFg
8577%I f *-helvetica-bold-r-normal--12-*-75-*
8578Helvetica-Bold 12 SetF
8579%I t
8580[ 1 0 0 1 120 691 ] concat
8581%I
8582[
8583(0x7fffffff)
8584] Text
8585End
8586
8587End %I eop
8588
8589showpage
8590
8591%%Trailer
8592
8593end
8594
8595%%EndDocument
8596
8597 endTexFig
8598 1392 2603 a Fu(Figure)29 b(5:)41 b(La)m(y)m(out)32 b(of)f(memory)-8
8599b(.)216 2878 y(Figure)36 b(6)g(sho)m(ws)g(a)h(diagram)f(of)g(a)h(stac)m
8600(k)g(frame.)59 b(A)36 b(frame)g(consists)g(of)g(the)h(memory)f(b)s(et)m
8601(w)m(een)h(the)75 2991 y(frame)e(p)s(oin)m(ter)f(\()p
8602Fk($fp)p Fu(\),)h(whic)m(h)f(p)s(oin)m(ts)g(to)h(the)g(w)m(ord)g
8603(immediately)e(after)i(the)g(last)g(argumen)m(t)g(passed)f(on)75
86043104 y(the)g(stac)m(k,)i(and)d(the)h(stac)m(k)h(p)s(oin)m(ter)d(\()p
8605Fk($sp)p Fu(\),)j(whic)m(h)d(p)s(oin)m(ts)h(to)h(the)g(last)f(w)m(ord)g
8606(in)g(the)g(frame.)51 b(As)33 b(t)m(ypical)75 3217 y(of)g(Unix)f
8607(systems,)h(the)g(stac)m(k)i(gro)m(ws)e(do)m(wn)f(from)h(higher)e
8608(memory)i(addresses,)g(so)g(the)g(frame)g(p)s(oin)m(ter)f(is)75
86093330 y(ab)s(o)m(v)m(e)g(stac)m(k)f(p)s(oin)m(ter.)216
86103443 y(The)f(follo)m(wing)f(steps)h(are)h(necessary)g(to)g(e\013ect)h
8611(a)e(call:)186 3630 y(1.)46 b(P)m(ass)32 b(the)g(argumen)m(ts.)44
8612b(By)32 b(con)m(v)m(en)m(tion,)h(the)f(\014rst)f(four)f(argumen)m(ts)i
8613(are)g(passed)f(in)f(registers)h Fk($a0)p Fu({)302 3743
8614y Fk($a3)22 b Fu(\(though)g(simpler)e(compilers)h(ma)m(y)i(c)m(ho)s
8615(ose)h(to)f(ignore)f(this)g(con)m(v)m(en)m(tion)h(and)f(pass)g(all)g
8616(argumen)m(ts)302 3856 y(via)30 b(the)h(stac)m(k\).)42
8617b(The)30 b(remaining)f(argumen)m(ts)h(are)h(pushed)e(on)h(the)h(stac)m
8618(k.)186 4044 y(2.)46 b(Sa)m(v)m(e)30 b(the)f(caller-sa)m(v)m(ed)h
8619(registers.)40 b(This)27 b(includes)g(registers)h Fk($t0)p
8620Fu({)p Fk($t9)p Fu(,)g(if)g(they)h(con)m(tain)g(liv)m(e)g(v)-5
8621b(alues)302 4157 y(at)31 b(the)g(call)f(site.)186 4344
8622y(3.)46 b(Execute)31 b(a)g Fk(jal)f Fu(instruction.)216
86234532 y(Within)f(the)h(called)g(routine,)g(the)g(follo)m(wing)f(steps)h
8624(are)h(necessary:)186 4720 y(1.)46 b(Establish)28 b(the)j(stac)m(k)h
8625(frame)e(b)m(y)g(subtracting)g(the)h(frame)f(size)g(from)g(the)h(stac)m
8626(k)g(p)s(oin)m(ter.)186 4907 y(2.)46 b(Sa)m(v)m(e)37
8627b(the)f(callee-sa)m(v)m(ed)h(registers)e(in)g(the)h(frame.)56
8628b(Register)36 b Fk($fp)f Fu(is)f(alw)m(a)m(ys)i(sa)m(v)m(ed.)58
8629b(Register)36 b Fk($ra)302 5020 y Fu(needs)d(to)g(b)s(e)g(sa)m(v)m(ed)g
8630(if)f(the)h(routine)f(itself)g(mak)m(es)i(calls.)47 b(An)m(y)33
8631b(of)g(the)g(registers)f Fk($s0)p Fu({)p Fk($s7)g Fu(that)i(are)302
86325133 y(used)c(b)m(y)g(the)h(callee)f(need)g(to)h(b)s(e)f(sa)m(v)m(ed.)
8633186 5321 y(3.)46 b(Establish)28 b(the)j(frame)f(p)s(oin)m(ter)g(b)m(y)g
8634(adding)f(the)i(stac)m(k)g(frame)g(size)f(-)h(4)f(to)h(the)g(address)e
8635(in)g Fk($sp)p Fu(.)1920 5656 y(22)p eop
8636%%Page: 23 23
863723 22 bop 669 1344 a
8638 20460754 18945146 6249267 17695293 31575244 40982036 startTexFig
8639 669 1344 a
8640%%BeginDocument: stack-frame.id
8641%!PS-Adobe-2.0 EPSF-1.2
8642%%Creator: idraw
8643%%DocumentFonts: Helvetica-Bold
8644%%Pages: 1
8645%%BoundingBox: 95 269 480 623
8646%%EndComments
8647
8648%%BeginIdrawPrologue
8649/arrowhead {
86500 begin
8651transform originalCTM itransform
8652/taily exch def
8653/tailx exch def
8654transform originalCTM itransform
8655/tipy exch def
8656/tipx exch def
8657/dy tipy taily sub def
8658/dx tipx tailx sub def
8659/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
8660gsave
8661originalCTM setmatrix
8662tipx tipy translate
8663angle rotate
8664newpath
8665arrowHeight neg arrowWidth 2 div moveto
86660 0 lineto
8667arrowHeight neg arrowWidth 2 div neg lineto
8668patternNone not {
8669originalCTM setmatrix
8670/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
8671arrowWidth div def
8672/padtail brushWidth 2 div def
8673tipx tipy translate
8674angle rotate
8675padtip 0 translate
8676arrowHeight padtip add padtail add arrowHeight div dup scale
8677arrowheadpath
8678ifill
8679} if
8680brushNone not {
8681originalCTM setmatrix
8682tipx tipy translate
8683angle rotate
8684arrowheadpath
8685istroke
8686} if
8687grestore
8688end
8689} dup 0 9 dict put def
8690
8691/arrowheadpath {
8692newpath
8693arrowHeight neg arrowWidth 2 div moveto
86940 0 lineto
8695arrowHeight neg arrowWidth 2 div neg lineto
8696} def
8697
8698/leftarrow {
86990 begin
8700y exch get /taily exch def
8701x exch get /tailx exch def
8702y exch get /tipy exch def
8703x exch get /tipx exch def
8704brushLeftArrow { tipx tipy tailx taily arrowhead } if
8705end
8706} dup 0 4 dict put def
8707
8708/rightarrow {
87090 begin
8710y exch get /tipy exch def
8711x exch get /tipx exch def
8712y exch get /taily exch def
8713x exch get /tailx exch def
8714brushRightArrow { tipx tipy tailx taily arrowhead } if
8715end
8716} dup 0 4 dict put def
8717
8718%%EndIdrawPrologue
8719
8720/arrowHeight 10 def
8721/arrowWidth 5 def
8722
8723/IdrawDict 51 dict def
8724IdrawDict begin
8725
8726/reencodeISO {
8727dup dup findfont dup length dict begin
8728{ 1 index /FID ne { def }{ pop pop } ifelse } forall
8729/Encoding ISOLatin1Encoding def
8730currentdict end definefont
8731} def
8732
8733/ISOLatin1Encoding [
8734/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8735/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8736/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8737/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8738/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
8739/parenleft/parenright/asterisk/plus/comma/minus/period/slash
8740/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
8741/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
8742/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
8743/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
8744/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
8745/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8746/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
8747/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
8748/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
8749/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
8750/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
8751/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
8752/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
8753/guillemotright/onequarter/onehalf/threequarters/questiondown
8754/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
8755/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
8756/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
8757/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
8758/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
8759/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
8760/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
8761/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
8762/yacute/thorn/ydieresis
8763] def
8764/Helvetica-Bold reencodeISO def
8765
8766/none null def
8767/numGraphicParameters 17 def
8768/stringLimit 65535 def
8769
8770/Begin {
8771save
8772numGraphicParameters dict begin
8773} def
8774
8775/End {
8776end
8777restore
8778} def
8779
8780/SetB {
8781dup type /nulltype eq {
8782pop
8783false /brushRightArrow idef
8784false /brushLeftArrow idef
8785true /brushNone idef
8786} {
8787/brushDashOffset idef
8788/brushDashArray idef
87890 ne /brushRightArrow idef
87900 ne /brushLeftArrow idef
8791/brushWidth idef
8792false /brushNone idef
8793} ifelse
8794} def
8795
8796/SetCFg {
8797/fgblue idef
8798/fggreen idef
8799/fgred idef
8800} def
8801
8802/SetCBg {
8803/bgblue idef
8804/bggreen idef
8805/bgred idef
8806} def
8807
8808/SetF {
8809/printSize idef
8810/printFont idef
8811} def
8812
8813/SetP {
8814dup type /nulltype eq {
8815pop true /patternNone idef
8816} {
8817dup -1 eq {
8818/patternGrayLevel idef
8819/patternString idef
8820} {
8821/patternGrayLevel idef
8822} ifelse
8823false /patternNone idef
8824} ifelse
8825} def
8826
8827/BSpl {
88280 begin
8829storexyn
8830newpath
8831n 1 gt {
88320 0 0 0 0 0 1 1 true subspline
8833n 2 gt {
88340 0 0 0 1 1 2 2 false subspline
88351 1 n 3 sub {
8836/i exch def
8837i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
8838} for
8839n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
8840} if
8841n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
8842patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
8843brushNone not { istroke } if
88440 0 1 1 leftarrow
8845n 2 sub dup n 1 sub dup rightarrow
8846} if
8847end
8848} dup 0 4 dict put def
8849
8850/Circ {
8851newpath
88520 360 arc
8853patternNone not { ifill } if
8854brushNone not { istroke } if
8855} def
8856
8857/CBSpl {
88580 begin
8859dup 2 gt {
8860storexyn
8861newpath
8862n 1 sub dup 0 0 1 1 2 2 true subspline
88631 1 n 3 sub {
8864/i exch def
8865i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
8866} for
8867n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
8868n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
8869patternNone not { ifill } if
8870brushNone not { istroke } if
8871} {
8872Poly
8873} ifelse
8874end
8875} dup 0 4 dict put def
8876
8877/Elli {
88780 begin
8879newpath
88804 2 roll
8881translate
8882scale
88830 0 1 0 360 arc
8884patternNone not { ifill } if
8885brushNone not { istroke } if
8886end
8887} dup 0 1 dict put def
8888
8889/Line {
88900 begin
88912 storexyn
8892newpath
8893x 0 get y 0 get moveto
8894x 1 get y 1 get lineto
8895brushNone not { istroke } if
88960 0 1 1 leftarrow
88970 0 1 1 rightarrow
8898end
8899} dup 0 4 dict put def
8900
8901/MLine {
89020 begin
8903storexyn
8904newpath
8905n 1 gt {
8906x 0 get y 0 get moveto
89071 1 n 1 sub {
8908/i exch def
8909x i get y i get lineto
8910} for
8911patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
8912brushNone not { istroke } if
89130 0 1 1 leftarrow
8914n 2 sub dup n 1 sub dup rightarrow
8915} if
8916end
8917} dup 0 4 dict put def
8918
8919/Poly {
89203 1 roll
8921newpath
8922moveto
8923-1 add
8924{ lineto } repeat
8925closepath
8926patternNone not { ifill } if
8927brushNone not { istroke } if
8928} def
8929
8930/Rect {
89310 begin
8932/t exch def
8933/r exch def
8934/b exch def
8935/l exch def
8936newpath
8937l b moveto
8938l t lineto
8939r t lineto
8940r b lineto
8941closepath
8942patternNone not { ifill } if
8943brushNone not { istroke } if
8944end
8945} dup 0 4 dict put def
8946
8947/Text {
8948ishow
8949} def
8950
8951/idef {
8952dup where { pop pop pop } { exch def } ifelse
8953} def
8954
8955/ifill {
89560 begin
8957gsave
8958patternGrayLevel -1 ne {
8959fgred bgred fgred sub patternGrayLevel mul add
8960fggreen bggreen fggreen sub patternGrayLevel mul add
8961fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
8962eofill
8963} {
8964eoclip
8965originalCTM setmatrix
8966pathbbox /t exch def /r exch def /b exch def /l exch def
8967/w r l sub ceiling cvi def
8968/h t b sub ceiling cvi def
8969/imageByteWidth w 8 div ceiling cvi def
8970/imageHeight h def
8971bgred bggreen bgblue setrgbcolor
8972eofill
8973fgred fggreen fgblue setrgbcolor
8974w 0 gt h 0 gt and {
8975l w add b translate w neg h scale
8976w h true [w 0 0 h neg 0 h] { patternproc } imagemask
8977} if
8978} ifelse
8979grestore
8980end
8981} dup 0 8 dict put def
8982
8983/istroke {
8984gsave
8985brushDashOffset -1 eq {
8986[] 0 setdash
89871 setgray
8988} {
8989brushDashArray brushDashOffset setdash
8990fgred fggreen fgblue setrgbcolor
8991} ifelse
8992brushWidth setlinewidth
8993originalCTM setmatrix
8994stroke
8995grestore
8996} def
8997
8998/ishow {
89990 begin
9000gsave
9001fgred fggreen fgblue setrgbcolor
9002/fontDict printFont printSize scalefont dup setfont def
9003/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
9004transform exch pop def
9005/vertoffset 1 printSize sub descender sub def {
90060 vertoffset moveto show
9007/vertoffset vertoffset printSize sub def
9008} forall
9009grestore
9010end
9011} dup 0 3 dict put def
9012/patternproc {
90130 begin
9014/patternByteLength patternString length def
9015/patternHeight patternByteLength 8 mul sqrt cvi def
9016/patternWidth patternHeight def
9017/patternByteWidth patternWidth 8 idiv def
9018/imageByteMaxLength imageByteWidth imageHeight mul
9019stringLimit patternByteWidth sub min def
9020/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
9021patternHeight mul patternHeight max def
9022/imageHeight imageHeight imageMaxHeight sub store
9023/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
90240 1 imageMaxHeight 1 sub {
9025/y exch def
9026/patternRow y patternByteWidth mul patternByteLength mod def
9027/patternRowString patternString patternRow patternByteWidth getinterval def
9028/imageRow y imageByteWidth mul def
90290 patternByteWidth imageByteWidth 1 sub {
9030/x exch def
9031imageString imageRow x add patternRowString putinterval
9032} for
9033} for
9034imageString
9035end
9036} dup 0 12 dict put def
9037
9038/min {
9039dup 3 2 roll dup 4 3 roll lt { exch } if pop
9040} def
9041
9042/max {
9043dup 3 2 roll dup 4 3 roll gt { exch } if pop
9044} def
9045
9046/midpoint {
90470 begin
9048/y1 exch def
9049/x1 exch def
9050/y0 exch def
9051/x0 exch def
9052x0 x1 add 2 div
9053y0 y1 add 2 div
9054end
9055} dup 0 4 dict put def
9056
9057/thirdpoint {
90580 begin
9059/y1 exch def
9060/x1 exch def
9061/y0 exch def
9062/x0 exch def
9063x0 2 mul x1 add 3 div
9064y0 2 mul y1 add 3 div
9065end
9066} dup 0 4 dict put def
9067
9068/subspline {
90690 begin
9070/movetoNeeded exch def
9071y exch get /y3 exch def
9072x exch get /x3 exch def
9073y exch get /y2 exch def
9074x exch get /x2 exch def
9075y exch get /y1 exch def
9076x exch get /x1 exch def
9077y exch get /y0 exch def
9078x exch get /x0 exch def
9079x1 y1 x2 y2 thirdpoint
9080/p1y exch def
9081/p1x exch def
9082x2 y2 x1 y1 thirdpoint
9083/p2y exch def
9084/p2x exch def
9085x1 y1 x0 y0 thirdpoint
9086p1x p1y midpoint
9087/p0y exch def
9088/p0x exch def
9089x2 y2 x3 y3 thirdpoint
9090p2x p2y midpoint
9091/p3y exch def
9092/p3x exch def
9093movetoNeeded { p0x p0y moveto } if
9094p1x p1y p2x p2y p3x p3y curveto
9095end
9096} dup 0 17 dict put def
9097
9098/storexyn {
9099/n exch def
9100/y n array def
9101/x n array def
9102n 1 sub -1 0 {
9103/i exch def
9104y i 3 2 roll put
9105x i 3 2 roll put
9106} for
9107} def
9108
9109/SSten {
9110fgred fggreen fgblue setrgbcolor
9111dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
9112} def
9113
9114/FSten {
9115dup 3 -1 roll dup 4 1 roll exch
9116newpath
91170 0 moveto
9118dup 0 exch lineto
9119exch dup 3 1 roll exch lineto
91200 lineto
9121closepath
9122bgred bggreen bgblue setrgbcolor
9123eofill
9124SSten
9125} def
9126
9127/Rast {
9128exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
9129} def
9130
9131%%EndProlog
9132
9133%I Idraw 10 Grid 8 8
9134
9135%%Page: 1 1
9136
9137Begin
9138%I b u
9139%I cfg u
9140%I cbg u
9141%I f u
9142%I p u
9143%I t
9144[ 0.923077 0 0 0.923077 0 0 ] concat
9145/originalCTM matrix currentmatrix def
9146
9147Begin %I Rect
9148%I b 65535
91491 0 0 [] 0 SetB
9150%I cfg Black
91510 0 0 SetCFg
9152%I cbg White
91531 1 1 SetCBg
9154none SetP %I p n
9155%I t
9156[ 1 0 0 1 97 131 ] concat
9157%I
9158136 163 300 542 Rect
9159End
9160
9161Begin %I Line
9162%I b 65535
91631 0 0 [] 0 SetB
9164%I cfg Black
91650 0 0 SetCFg
9166%I cbg White
91671 1 1 SetCBg
9168none SetP %I p n
9169%I t
9170[ 1 0 0 1 97 131 ] concat
9171%I
9172136 517 300 517 Line
9173%I 1
9174End
9175
9176Begin %I Line
9177%I b 65535
91781 0 0 [] 0 SetB
9179%I cfg Black
91800 0 0 SetCFg
9181%I cbg White
91821 1 1 SetCBg
9183none SetP %I p n
9184%I t
9185[ 1 0 0 1 97 106 ] concat
9186%I
9187136 517 300 517 Line
9188%I 1
9189End
9190
9191Begin %I Line
9192%I b 65535
91931 0 0 [] 0 SetB
9194%I cfg Black
91950 0 0 SetCFg
9196%I cbg White
91971 1 1 SetCBg
9198none SetP %I p n
9199%I t
9200[ 1 0 0 1 97 81 ] concat
9201%I
9202136 517 300 517 Line
9203%I 1
9204End
9205
9206Begin %I Line
9207%I b 65535
92081 0 0 [] 0 SetB
9209%I cfg Black
92100 0 0 SetCFg
9211%I cbg White
92121 1 1 SetCBg
9213none SetP %I p n
9214%I t
9215[ 1 0 0 1 98 -30 ] concat
9216%I
9217136 517 300 517 Line
9218%I 1
9219End
9220
9221Begin %I Line
9222%I b 65535
92231 0 0 [] 0 SetB
9224%I cfg Black
92250 0 0 SetCFg
9226%I cbg White
92271 1 1 SetCBg
9228none SetP %I p n
9229%I t
9230[ 1 0 0 1 98 -116 ] concat
9231%I
9232136 517 300 517 Line
9233%I 1
9234End
9235
9236Begin %I Text
9237%I cfg Black
92380 0 0 SetCFg
9239%I f *-helvetica-bold-r-normal--12-*-75-*
9240Helvetica-Bold 12 SetF
9241%I t
9242[ 1 0 0 1 272.5 492 ] concat
9243%I
9244[
9245( .)
9246( .)
9247( .)
9248(local variables)
9249( .)
9250( .)
9251( .)
9252] Text
9253End
9254
9255Begin %I Text
9256%I cfg Black
92570 0 0 SetCFg
9258%I f *-helvetica-bold-r-normal--12-*-75-*
9259Helvetica-Bold 12 SetF
9260%I t
9261[ 1 0 0 1 275 397 ] concat
9262%I
9263[
9264( .)
9265( .)
9266( .)
9267(dynamic area)
9268( .)
9269( .)
9270( .)
9271] Text
9272End
9273
9274Begin %I Text
9275%I cfg Black
92760 0 0 SetCFg
9277%I f *-helvetica-bold-r-normal--12-*-75-*
9278Helvetica-Bold 12 SetF
9279%I t
9280[ 1 0 0 1 458 561 ] concat
9281%I
9282[
9283(memory)
9284(addresses)
9285] Text
9286End
9287
9288Begin %I Pict
9289%I b u
9290%I cfg u
9291%I cbg u
9292%I f u
9293%I p u
9294%I t
9295[ 1 0 0 1 -2.58933 62.1439 ] concat
9296
9297Begin %I Text
9298%I cfg Black
92990 0 0 SetCFg
9300%I f *-helvetica-bold-r-normal--12-*-75-*
9301Helvetica-Bold 12 SetF
9302%I t
9303[ 1 0 0 1 111.267 576.807 ] concat
9304%I
9305[
9306($fp)
9307] Text
9308End
9309
9310Begin %I Line
9311%I b 65535
93122 0 1 [] 0 SetB
9313%I cfg Black
93140 0 0 SetCFg
9315%I cbg White
93161 1 1 SetCBg
9317none SetP %I p n
9318%I t
9319[ 1 0 0 1 95.2673 116.807 ] concat
9320%I
932150 456 136 456 Line
9322%I 1
9323End
9324
9325End %I eop
9326
9327Begin %I Pict
9328%I b u
9329%I cfg u
9330%I cbg u
9331%I f u
9332%I p u
9333%I t
9334[ 1 0 0 1 -6.04177 12.0835 ] concat
9335
9336Begin %I Text
9337%I cfg Black
93380 0 0 SetCFg
9339%I f *-helvetica-bold-r-normal--12-*-75-*
9340Helvetica-Bold 12 SetF
9341%I t
9342[ 1 0 0 1 112 294 ] concat
9343%I
9344[
9345($sp)
9346] Text
9347End
9348
9349Begin %I Line
9350%I b 65535
93512 0 1 [] 0 SetB
9352%I cfg Black
93530 0 0 SetCFg
9354%I cbg White
93551 1 1 SetCBg
9356none SetP %I p n
9357%I t
9358[ 1 0 0 1 97 136 ] concat
9359%I
936050 154 136 154 Line
9361%I 1
9362End
9363
9364End %I eop
9365
9366Begin %I Line
9367%I b 65535
93682 0 1 [] 0 SetB
9369%I cfg Black
93700 0 0 SetCFg
9371%I cbg White
93721 1 1 SetCBg
9373none SetP %I p n
9374%I t
9375[ 1 0 0 1 97 131 ] concat
9376%I
9377387 439 387 473 Line
9378%I 1
9379End
9380
9381Begin %I Line
9382%I b 65535
93831 0 0 [] 0 SetB
9384%I cfg Black
93850 0 0 SetCFg
9386%I cbg White
93871 1 1 SetCBg
9388none SetP %I p n
9389%I t
9390[ 1 0 0 1 95.2673 53.277 ] concat
9391%I
9392136 517 300 517 Line
9393%I 1
9394End
9395
9396Begin %I Pict
9397%I b u
9398%I cfg u
9399%I cbg u
9400%I f u
9401%I p u
9402%I t
9403[ 1 0 0 1 -4.00479 0 ] concat
9404
9405Begin %I Text
9406%I cfg Black
94070 0 0 SetCFg
9408%I f *-helvetica-bold-r-normal--12-*-75-*
9409Helvetica-Bold 12 SetF
9410%I t
9411[ 1 0 0 1 286.005 615.618 ] concat
9412%I
9413[
9414(argument 5)
9415] Text
9416End
9417
9418Begin %I Text
9419%I cfg Black
94200 0 0 SetCFg
9421%I f *-helvetica-bold-r-normal--12-*-75-*
9422Helvetica-Bold 12 SetF
9423%I t
9424[ 1 0 0 1 286.005 639 ] concat
9425%I
9426[
9427(argument 6)
9428] Text
9429End
9430
9431Begin %I Text
9432%I cfg Black
94330 0 0 SetCFg
9434%I f *-helvetica-bold-r-normal--12-*-75-*
9435Helvetica-Bold 12 SetF
9436%I t
9437[ 1 0 0 1 313.505 664.981 ] concat
9438%I
9439[
9440(...)
9441] Text
9442End
9443
9444Begin %I Text
9445%I cfg Black
94460 0 0 SetCFg
9447%I f *-helvetica-bold-r-normal--12-*-75-*
9448Helvetica-Bold 12 SetF
9449%I t
9450[ 1 0 0 1 276.505 587.232 ] concat
9451%I
9452[
9453(arguments 1-4)
9454] Text
9455End
9456
9457End %I eop
9458
9459Begin %I Text
9460%I cfg Black
94610 0 0 SetCFg
9462%I f *-helvetica-bold-r-normal--12-*-75-*
9463Helvetica-Bold 12 SetF
9464%I t
9465[ 1 0 0 1 268.5 587 ] concat
9466%I
9467[
9468( )
9469( .)
9470( .)
9471(saved registers)
9472( .)
9473( .)
9474( .)
9475] Text
9476End
9477
9478End %I eop
9479
9480showpage
9481
9482%%Trailer
9483
9484end
9485
9486%%EndDocument
9487
9488 endTexFig
9489 75 3940 a Fu(Figure)24 b(6:)38 b(La)m(y)m(out)26 b(of)f(a)f(stac)m(k)i
9490(frame.)39 b(The)24 b(frame)g(p)s(oin)m(ter)g(p)s(oin)m(ts)f(just)h(b)s
9491(elo)m(w)g(the)g(last)h(argumen)m(t)f(passed)75 4053
9492y(on)30 b(the)h(stac)m(k.)42 b(The)30 b(stac)m(k)i(p)s(oin)m(ter)d(p)s
9493(oin)m(ts)g(to)i(the)g(last)f(w)m(ord)g(in)f(the)i(frame.)1920
94945656 y(23)p eop
9495%%Page: 24 24
949624 23 bop 216 99 a Fu(Finally)-8 b(,)27 b(to)h(return)f(from)g(a)h
9497(call,)g(a)g(function)e(places)h(the)h(returned)f(v)-5
9498b(alue)27 b(in)m(to)g Fk($v0)g Fu(and)g(executes)i(the)75
9499211 y(follo)m(wing)g(steps:)186 399 y(1.)46 b(Restore)28
9500b(an)m(y)f(callee-sa)m(v)m(ed)h(registers)e(that)h(w)m(ere)g(sa)m(v)m
9501(ed)h(up)s(on)d(en)m(try)h(\(including)e(the)i(frame)h(p)s(oin)m(ter)
9502302 512 y Fk($fp)p Fu(\).)186 700 y(2.)46 b(P)m(op)31
9503b(the)f(stac)m(k)i(frame)f(b)m(y)f(adding)f(the)h(frame)h(size)f(to)h
9504Fk($sp)p Fu(.)186 887 y(3.)46 b(Return)30 b(b)m(y)g(jumping)e(to)j(the)
9505g(address)e(in)g(register)i Fk($ra)p Fu(.)75 1174 y Fs(5)135
9506b(Input)44 b(and)h(Output)75 1377 y Fu(In)c(addition)e(to)j(sim)m
9507(ulating)d(the)j(basic)f(op)s(eration)f(of)i(the)f(CPU)g(and)g(op)s
9508(erating)g(system,)j(SPIM)d(also)75 1489 y(sim)m(ulates)24
9509b(a)i(memory-mapp)s(ed)e(terminal)g(connected)i(to)g(the)f(mac)m(hine.)
951039 b(When)25 b(a)g(program)g(is)g(\\running,")75 1602
9511y(SPIM)j(connects)i(its)e(o)m(wn)h(terminal)e(\(or)i(a)h(separate)f
9512(console)h(windo)m(w)d(in)g Fk(xspim)p Fu(\))h(to)i(the)f(pro)s
9513(cessor.)39 b(The)75 1715 y(program)34 b(can)h(read)g(c)m(haracters)g
9514(that)h(y)m(ou)e(t)m(yp)s(e)h(while)e(the)h(pro)s(cessor)h(is)e
9515(running.)51 b(Similarly)-8 b(,)32 b(if)h(SPIM)75 1828
9516y(executes)f(instructions)d(to)j(write)f(c)m(haracters)i(to)e(the)h
9517(terminal,)e(the)h(c)m(haracters)i(will)c(app)s(ear)h(on)h(SPIM's)75
95181941 y(terminal)38 b(or)i(console)g(windo)m(w.)67 b(One)39
9519b(exception)h(to)g(this)f(rule)f(is)h(con)m(trol-C:)h(it)g(is)e(not)i
9520(passed)f(to)i(the)75 2054 y(pro)s(cessor,)26 b(but)f(instead)g(causes)
9521h(SPIM)f(to)h(stop)g(sim)m(ulating)d(and)i(return)f(to)j(command)e(mo)s
9522(de.)38 b(When)26 b(the)75 2167 y(pro)s(cessor)g(stops)g(executing)h
9523(\(for)g(example,)g(b)s(ecause)f(y)m(ou)h(t)m(yp)s(ed)f(con)m(trol-C)h
9524(or)g(b)s(ecause)f(the)h(mac)m(hine)f(hit)75 2280 y(a)33
9525b(breakp)s(oin)m(t\),)h(the)f(terminal)e(is)h(reconnected)i(to)g(SPIM)e
9526(so)h(y)m(ou)h(can)f(t)m(yp)s(e)g(SPIM)g(commands.)48
9527b(T)-8 b(o)33 b(use)75 2393 y(memory-mapp)s(ed)c(IO,)h
9528Fk(spim)g Fu(or)g Fk(xspim)f Fu(m)m(ust)h(b)s(e)g(started)h(with)e(the)
9529h Fk(-mapped)p 2896 2393 29 4 v 33 w(io)f Fu(\015ag.)216
95302506 y(The)35 b(terminal)f(device)i(consists)f(of)g(t)m(w)m(o)i(indep)s
9531(enden)m(t)d(units:)49 b(a)36 b Fl(r)-5 b(e)g(c)g(eiver)46
9532b Fu(and)35 b(a)h Fl(tr)-5 b(ansmitter)10 b Fu(.)58 b(The)75
95332619 y(receiv)m(er)28 b(unit)e(reads)h(c)m(haracters)i(from)e(the)h(k)m
9534(eyb)s(oard)f(as)h(they)g(are)f(t)m(yp)s(ed.)40 b(The)27
9535b(transmitter)g(unit)f(writes)75 2732 y(c)m(haracters)i(to)f(the)f
9536(terminal's)f(displa)m(y)-8 b(.)38 b(The)26 b(t)m(w)m(o)h(units)e(are)h
9537(completely)g(indep)s(enden)m(t.)38 b(This)24 b(means,)j(for)75
95382844 y(example,)j(that)h(c)m(haracters)h(t)m(yp)s(ed)d(at)i(the)g(k)m
9539(eyb)s(oard)f(are)g(not)h(automatically)f(\\ec)m(ho)s(ed")i(on)e(the)g
9540(displa)m(y)-8 b(.)75 2957 y(Instead,)31 b(the)f(pro)s(cessor)h(m)m
9541(ust)f(get)i(an)e(input)f(c)m(haracter)j(from)e(the)h(receiv)m(er)g
9542(and)e(re-transmit)h(it)g(to)i(ec)m(ho)75 3070 y(it.)216
95433183 y(The)i(pro)s(cessor)g(accesses)i(the)f(terminal)e(using)g(four)h
9544(memory-mapp)s(ed)f(device)h(registers,)i(as)f(sho)m(wn)75
95453296 y(in)26 b(Figure)h(7.)40 b(\\Memory-mapp)s(ed")28
9546b(means)f(that)h(eac)m(h)h(register)e(app)s(ears)g(as)h(a)g(sp)s(ecial)
9547e(memory)h(lo)s(cation.)75 3409 y(The)35 b(Receiv)m(er)h(Con)m(trol)f
9548(Register)g(is)g(at)h(lo)s(cation)f(0x\013\0130000;)40
9549b(only)35 b(t)m(w)m(o)h(of)g(its)f(bits)f(are)i(actually)e(used.)75
95503522 y(Bit)29 b(0)h(is)e(called)h(\\ready":)41 b(if)28
9551b(it)h(is)f(one)h(it)g(means)g(that)h(a)g(c)m(haracter)h(has)e(arriv)m
9552(ed)f(from)h(the)h(k)m(eyb)s(oard)f(but)75 3635 y(has)j(not)h(y)m(et)h
9553(b)s(een)e(read)h(from)f(the)h(receiv)m(er)g(data)g(register.)48
9554b(The)32 b(ready)g(bit)g(is)g(read-only:)45 b(attempts)33
9555b(to)75 3748 y(write)i(it)g(are)i(ignored.)56 b(The)35
9556b(ready)h(bit)f(c)m(hanges)i(automatically)e(from)h(zero)h(to)f(one)g
9557(when)f(a)h(c)m(haracter)75 3861 y(is)31 b(t)m(yp)s(ed)h(at)i(the)e(k)m
9558(eyb)s(oard,)h(and)f(it)g(c)m(hanges)h(automatically)f(from)g(one)h(to)
9559g(zero)g(when)e(the)i(c)m(haracter)h(is)75 3974 y(read)c(from)g(the)h
9560(receiv)m(er)g(data)g(register.)216 4086 y(Bit)j(one)g(of)g(the)h
9561(Receiv)m(er)f(Con)m(trol)g(Register)g(is)f(\\in)m(terrupt)g(enable".)
956252 b(This)32 b(bit)h(ma)m(y)h(b)s(e)g(b)s(oth)f(read)75
95634199 y(and)i(written)f(b)m(y)i(the)f(pro)s(cessor.)56
9564b(The)35 b(in)m(terrupt)f(enable)h(is)f(initially)e(zero.)57
9565b(If)35 b(it)g(is)f(set)i(to)h(one)e(b)m(y)h(the)75 4312
9566y(pro)s(cessor,)29 b(an)f(in)m(terrupt)f(is)h(requested)h(b)m(y)f(the)h
9567(terminal)e(on)i(lev)m(el)f(zero)h(whenev)m(er)g(the)g(ready)f(bit)g
9568(is)f(one.)75 4425 y(F)-8 b(or)38 b(the)f(in)m(terrupt)e(actually)i(to)
9569h(b)s(e)e(receiv)m(ed)h(b)m(y)g(the)g(pro)s(cessor,)i(in)m(terrupts)c
9570(m)m(ust)i(b)s(e)f(enabled)g(in)g(the)75 4538 y(status)31
9571b(register)f(of)g(the)h(system)g(copro)s(cessor)f(\(see)i(Section)e
9572(2\).)216 4651 y(Other)h(bits)f(of)i(the)f(Receiv)m(er)h(Con)m(trol)f
9573(Register)h(are)f(un)m(used:)42 b(they)31 b(alw)m(a)m(ys)h(read)f(as)h
9574(zero)s(es)g(and)f(are)75 4764 y(ignored)e(in)h(writes.)216
95754877 y(The)37 b(second)h(terminal)e(device)i(register)f(is)g(the)h
9576(Receiv)m(er)g(Data)i(Register)e(\(at)g(address)f(0x\013\0130004\).)75
95774990 y(The)32 b(lo)m(w-order)g(eigh)m(t)h(bits)f(of)h(this)e(register)h
9578(con)m(tain)h(the)g(last)g(c)m(haracter)h(t)m(yp)s(ed)e(on)h(the)f(k)m
9579(eyb)s(oard,)i(and)75 5103 y(all)c(the)h(other)h(bits)e(con)m(tain)h
9580(zero)s(es.)44 b(This)29 b(register)i(is)f(read-only)g(and)h(only)f(c)m
9581(hanges)i(v)-5 b(alue)31 b(when)f(a)h(new)75 5216 y(c)m(haracter)e(is)e
9582(t)m(yp)s(ed)h(on)f(the)h(k)m(eyb)s(oard.)40 b(Reading)27
9583b(the)h(Receiv)m(er)h(Data)g(Register)f(causes)h(the)f(ready)f(bit)g
9584(in)75 5328 y(the)k(Receiv)m(er)g(Con)m(trol)f(Register)g(to)h(b)s(e)f
9585(reset)h(to)g(zero.)1920 5656 y(24)p eop
9586%%Page: 25 25
958725 24 bop 909 1287 a
9588 16671720 18945146 6841303 17366384 25918013 38877020 startTexFig
9589 909 1287 a
9590%%BeginDocument: io_reg.id
9591%!PS-Adobe-2.0 EPSF-1.2
9592%%Creator: idraw
9593%%DocumentFonts: Helvetica-Bold
9594%%Pages: 1
9595%%BoundingBox: 104 264 394 591
9596%%EndComments
9597
9598/arrowHeight 10 def
9599/arrowWidth 5 def
9600
9601/IdrawDict 51 dict def
9602IdrawDict begin
9603
9604/reencodeISO {
9605dup dup findfont dup length dict begin
9606{ 1 index /FID ne { def }{ pop pop } ifelse } forall
9607/Encoding ISOLatin1Encoding def
9608currentdict end definefont
9609} def
9610
9611/ISOLatin1Encoding [
9612/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9613/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9614/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9615/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9616/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
9617/parenleft/parenright/asterisk/plus/comma/minus/period/slash
9618/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
9619/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M/N
9620/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright
9621/asciicircum/underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m
9622/n/o/p/q/r/s/t/u/v/w/x/y/z/braceleft/bar/braceright/asciitilde
9623/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9624/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
9625/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
9626/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
9627/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
9628/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
9629/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
9630/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
9631/guillemotright/onequarter/onehalf/threequarters/questiondown
9632/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
9633/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
9634/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
9635/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
9636/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
9637/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
9638/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
9639/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
9640/yacute/thorn/ydieresis
9641] def
9642/Helvetica-Bold reencodeISO def
9643
9644/none null def
9645/numGraphicParameters 17 def
9646/stringLimit 65535 def
9647
9648/Begin {
9649save
9650numGraphicParameters dict begin
9651} def
9652
9653/End {
9654end
9655restore
9656} def
9657
9658/SetB {
9659dup type /nulltype eq {
9660pop
9661false /brushRightArrow idef
9662false /brushLeftArrow idef
9663true /brushNone idef
9664} {
9665/brushDashOffset idef
9666/brushDashArray idef
96670 ne /brushRightArrow idef
96680 ne /brushLeftArrow idef
9669/brushWidth idef
9670false /brushNone idef
9671} ifelse
9672} def
9673
9674/SetCFg {
9675/fgblue idef
9676/fggreen idef
9677/fgred idef
9678} def
9679
9680/SetCBg {
9681/bgblue idef
9682/bggreen idef
9683/bgred idef
9684} def
9685
9686/SetF {
9687/printSize idef
9688/printFont idef
9689} def
9690
9691/SetP {
9692dup type /nulltype eq {
9693pop true /patternNone idef
9694} {
9695dup -1 eq {
9696/patternGrayLevel idef
9697/patternString idef
9698} {
9699/patternGrayLevel idef
9700} ifelse
9701false /patternNone idef
9702} ifelse
9703} def
9704
9705/BSpl {
97060 begin
9707storexyn
9708newpath
9709n 1 gt {
97100 0 0 0 0 0 1 1 true subspline
9711n 2 gt {
97120 0 0 0 1 1 2 2 false subspline
97131 1 n 3 sub {
9714/i exch def
9715i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
9716} for
9717n 3 sub dup n 2 sub dup n 1 sub dup 2 copy false subspline
9718} if
9719n 2 sub dup n 1 sub dup 2 copy 2 copy false subspline
9720patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
9721brushNone not { istroke } if
97220 0 1 1 leftarrow
9723n 2 sub dup n 1 sub dup rightarrow
9724} if
9725end
9726} dup 0 4 dict put def
9727
9728/Circ {
9729newpath
97300 360 arc
9731patternNone not { ifill } if
9732brushNone not { istroke } if
9733} def
9734
9735/CBSpl {
97360 begin
9737dup 2 gt {
9738storexyn
9739newpath
9740n 1 sub dup 0 0 1 1 2 2 true subspline
97411 1 n 3 sub {
9742/i exch def
9743i 1 sub dup i dup i 1 add dup i 2 add dup false subspline
9744} for
9745n 3 sub dup n 2 sub dup n 1 sub dup 0 0 false subspline
9746n 2 sub dup n 1 sub dup 0 0 1 1 false subspline
9747patternNone not { ifill } if
9748brushNone not { istroke } if
9749} {
9750Poly
9751} ifelse
9752end
9753} dup 0 4 dict put def
9754
9755/Elli {
97560 begin
9757newpath
97584 2 roll
9759translate
9760scale
97610 0 1 0 360 arc
9762patternNone not { ifill } if
9763brushNone not { istroke } if
9764end
9765} dup 0 1 dict put def
9766
9767/Line {
97680 begin
97692 storexyn
9770newpath
9771x 0 get y 0 get moveto
9772x 1 get y 1 get lineto
9773brushNone not { istroke } if
97740 0 1 1 leftarrow
97750 0 1 1 rightarrow
9776end
9777} dup 0 4 dict put def
9778
9779/MLine {
97800 begin
9781storexyn
9782newpath
9783n 1 gt {
9784x 0 get y 0 get moveto
97851 1 n 1 sub {
9786/i exch def
9787x i get y i get lineto
9788} for
9789patternNone not brushLeftArrow not brushRightArrow not and and { ifill } if
9790brushNone not { istroke } if
97910 0 1 1 leftarrow
9792n 2 sub dup n 1 sub dup rightarrow
9793} if
9794end
9795} dup 0 4 dict put def
9796
9797/Poly {
97983 1 roll
9799newpath
9800moveto
9801-1 add
9802{ lineto } repeat
9803closepath
9804patternNone not { ifill } if
9805brushNone not { istroke } if
9806} def
9807
9808/Rect {
98090 begin
9810/t exch def
9811/r exch def
9812/b exch def
9813/l exch def
9814newpath
9815l b moveto
9816l t lineto
9817r t lineto
9818r b lineto
9819closepath
9820patternNone not { ifill } if
9821brushNone not { istroke } if
9822end
9823} dup 0 4 dict put def
9824
9825/Text {
9826ishow
9827} def
9828
9829/idef {
9830dup where { pop pop pop } { exch def } ifelse
9831} def
9832
9833/ifill {
98340 begin
9835gsave
9836patternGrayLevel -1 ne {
9837fgred bgred fgred sub patternGrayLevel mul add
9838fggreen bggreen fggreen sub patternGrayLevel mul add
9839fgblue bgblue fgblue sub patternGrayLevel mul add setrgbcolor
9840eofill
9841} {
9842eoclip
9843originalCTM setmatrix
9844pathbbox /t exch def /r exch def /b exch def /l exch def
9845/w r l sub ceiling cvi def
9846/h t b sub ceiling cvi def
9847/imageByteWidth w 8 div ceiling cvi def
9848/imageHeight h def
9849bgred bggreen bgblue setrgbcolor
9850eofill
9851fgred fggreen fgblue setrgbcolor
9852w 0 gt h 0 gt and {
9853l b translate w h scale
9854w h true [w 0 0 h neg 0 h] { patternproc } imagemask
9855} if
9856} ifelse
9857grestore
9858end
9859} dup 0 8 dict put def
9860
9861/istroke {
9862gsave
9863brushDashOffset -1 eq {
9864[] 0 setdash
98651 setgray
9866} {
9867brushDashArray brushDashOffset setdash
9868fgred fggreen fgblue setrgbcolor
9869} ifelse
9870brushWidth setlinewidth
9871originalCTM setmatrix
9872stroke
9873grestore
9874} def
9875
9876/ishow {
98770 begin
9878gsave
9879fgred fggreen fgblue setrgbcolor
9880/fontDict printFont printSize scalefont dup setfont def
9881/descender fontDict begin 0 [FontBBox] 1 get FontMatrix end
9882transform exch pop def
9883/vertoffset 1 printSize sub descender sub def {
98840 vertoffset moveto show
9885/vertoffset vertoffset printSize sub def
9886} forall
9887grestore
9888end
9889} dup 0 3 dict put def
9890/patternproc {
98910 begin
9892/patternByteLength patternString length def
9893/patternHeight patternByteLength 8 mul sqrt cvi def
9894/patternWidth patternHeight def
9895/patternByteWidth patternWidth 8 idiv def
9896/imageByteMaxLength imageByteWidth imageHeight mul
9897stringLimit patternByteWidth sub min def
9898/imageMaxHeight imageByteMaxLength imageByteWidth idiv patternHeight idiv
9899patternHeight mul patternHeight max def
9900/imageHeight imageHeight imageMaxHeight sub store
9901/imageString imageByteWidth imageMaxHeight mul patternByteWidth add string def
99020 1 imageMaxHeight 1 sub {
9903/y exch def
9904/patternRow y patternByteWidth mul patternByteLength mod def
9905/patternRowString patternString patternRow patternByteWidth getinterval def
9906/imageRow y imageByteWidth mul def
99070 patternByteWidth imageByteWidth 1 sub {
9908/x exch def
9909imageString imageRow x add patternRowString putinterval
9910} for
9911} for
9912imageString
9913end
9914} dup 0 12 dict put def
9915
9916/min {
9917dup 3 2 roll dup 4 3 roll lt { exch } if pop
9918} def
9919
9920/max {
9921dup 3 2 roll dup 4 3 roll gt { exch } if pop
9922} def
9923
9924/midpoint {
99250 begin
9926/y1 exch def
9927/x1 exch def
9928/y0 exch def
9929/x0 exch def
9930x0 x1 add 2 div
9931y0 y1 add 2 div
9932end
9933} dup 0 4 dict put def
9934
9935/thirdpoint {
99360 begin
9937/y1 exch def
9938/x1 exch def
9939/y0 exch def
9940/x0 exch def
9941x0 2 mul x1 add 3 div
9942y0 2 mul y1 add 3 div
9943end
9944} dup 0 4 dict put def
9945
9946/subspline {
99470 begin
9948/movetoNeeded exch def
9949y exch get /y3 exch def
9950x exch get /x3 exch def
9951y exch get /y2 exch def
9952x exch get /x2 exch def
9953y exch get /y1 exch def
9954x exch get /x1 exch def
9955y exch get /y0 exch def
9956x exch get /x0 exch def
9957x1 y1 x2 y2 thirdpoint
9958/p1y exch def
9959/p1x exch def
9960x2 y2 x1 y1 thirdpoint
9961/p2y exch def
9962/p2x exch def
9963x1 y1 x0 y0 thirdpoint
9964p1x p1y midpoint
9965/p0y exch def
9966/p0x exch def
9967x2 y2 x3 y3 thirdpoint
9968p2x p2y midpoint
9969/p3y exch def
9970/p3x exch def
9971movetoNeeded { p0x p0y moveto } if
9972p1x p1y p2x p2y p3x p3y curveto
9973end
9974} dup 0 17 dict put def
9975
9976/storexyn {
9977/n exch def
9978/y n array def
9979/x n array def
9980n 1 sub -1 0 {
9981/i exch def
9982y i 3 2 roll put
9983x i 3 2 roll put
9984} for
9985} def
9986
9987/SSten {
9988fgred fggreen fgblue setrgbcolor
9989dup true exch 1 0 0 -1 0 6 -1 roll matrix astore
9990} def
9991
9992/FSten {
9993dup 3 -1 roll dup 4 1 roll exch
9994newpath
99950 0 moveto
9996dup 0 exch lineto
9997exch dup 3 1 roll exch lineto
99980 lineto
9999closepath
10000bgred bggreen bgblue setrgbcolor
10001eofill
10002SSten
10003} def
10004
10005/Rast {
10006exch dup 3 1 roll 1 0 0 -1 0 6 -1 roll matrix astore
10007} def
10008
10009%%EndProlog
10010
10011%%BeginIdrawPrologue
10012/arrowhead {
100130 begin
10014transform originalCTM itransform
10015/taily exch def
10016/tailx exch def
10017transform originalCTM itransform
10018/tipy exch def
10019/tipx exch def
10020/dy tipy taily sub def
10021/dx tipx tailx sub def
10022/angle dx 0 ne dy 0 ne or { dy dx atan } { 90 } ifelse def
10023gsave
10024originalCTM setmatrix
10025tipx tipy translate
10026angle rotate
10027newpath
10028arrowHeight neg arrowWidth 2 div moveto
100290 0 lineto
10030arrowHeight neg arrowWidth 2 div neg lineto
10031patternNone not {
10032originalCTM setmatrix
10033/padtip arrowHeight 2 exp 0.25 arrowWidth 2 exp mul add sqrt brushWidth mul
10034arrowWidth div def
10035/padtail brushWidth 2 div def
10036tipx tipy translate
10037angle rotate
10038padtip 0 translate
10039arrowHeight padtip add padtail add arrowHeight div dup scale
10040arrowheadpath
10041ifill
10042} if
10043brushNone not {
10044originalCTM setmatrix
10045tipx tipy translate
10046angle rotate
10047arrowheadpath
10048istroke
10049} if
10050grestore
10051end
10052} dup 0 9 dict put def
10053
10054/arrowheadpath {
10055newpath
10056arrowHeight neg arrowWidth 2 div moveto
100570 0 lineto
10058arrowHeight neg arrowWidth 2 div neg lineto
10059} def
10060
10061/leftarrow {
100620 begin
10063y exch get /taily exch def
10064x exch get /tailx exch def
10065y exch get /tipy exch def
10066x exch get /tipx exch def
10067brushLeftArrow { tipx tipy tailx taily arrowhead } if
10068end
10069} dup 0 4 dict put def
10070
10071/rightarrow {
100720 begin
10073y exch get /tipy exch def
10074x exch get /tipx exch def
10075y exch get /taily exch def
10076x exch get /tailx exch def
10077brushRightArrow { tipx tipy tailx taily arrowhead } if
10078end
10079} dup 0 4 dict put def
10080
10081%%EndIdrawPrologue
10082
10083%I Idraw 10 Grid 8 8
10084
10085%%Page: 1 1
10086
10087Begin
10088%I b u
10089%I cfg u
10090%I cbg u
10091%I f u
10092%I p u
10093%I t
10094[ 0.77233 0 0 0.77233 0 0 ] concat
10095/originalCTM matrix currentmatrix def
10096
10097Begin %I Rect
10098%I b 65535
100990 0 0 [] 0 SetB
10100%I cfg Black
101010 0 0 SetCFg
10102%I cbg White
101031 1 1 SetCBg
10104none SetP %I p n
10105%I t
10106[ 1 0 0 1 138 217 ] concat
10107%I
10108102 503 350 527 Rect
10109End
10110
10111Begin %I Line
10112%I b 65535
101130 0 0 [] 0 SetB
10114%I cfg Black
101150 0 0 SetCFg
10116%I cbg White
101171 1 1 SetCBg
10118none SetP %I p n
10119%I t
10120[ 1 0 0 1 138 217 ] concat
10121%I
10122302 527 302 503 Line
10123%I 1
10124End
10125
10126Begin %I Line
10127%I b 65535
101280 0 0 [] 0 SetB
10129%I cfg Black
101300 0 0 SetCFg
10131%I cbg White
101321 1 1 SetCBg
10133none SetP %I p n
10134%I t
10135[ 1 0 0 1 138 217 ] concat
10136%I
10137326 527 326 503 Line
10138%I 1
10139End
10140
10141Begin %I Rect
10142%I b 65535
101430 0 0 [] 0 SetB
10144%I cfg Black
101450 0 0 SetCFg
10146%I cbg White
101471 1 1 SetCBg
10148%I p
101490.5 SetP
10150%I t
10151[ 1 0 0 1 138 217 ] concat
10152%I
10153102 503 302 527 Rect
10154End
10155
10156Begin %I Text
10157%I cfg Black
101580 0 0 SetCFg
10159%I f *-helvetica-bold-r-normal--10-*-75-*
10160Helvetica-Bold 10 SetF
10161%I t
10162[ 1 0 0 1 448 761 ] concat
10163%I
10164[
10165(1)
10166] Text
10167End
10168
10169Begin %I Text
10170%I cfg Black
101710 0 0 SetCFg
10172%I f *-helvetica-bold-r-normal--10-*-75-*
10173Helvetica-Bold 10 SetF
10174%I t
10175[ 1 0 0 1 472 761 ] concat
10176%I
10177[
10178(1)
10179] Text
10180End
10181
10182Begin %I Text
10183%I cfg Black
101840 0 0 SetCFg
10185%I f *-helvetica-bold-r-normal--10-*-75-*
10186Helvetica-Bold 10 SetF
10187%I t
10188[ 1 0 0 1 416 697 ] concat
10189%I
10190[
10191(Interrupt)
10192(Enable)
10193] Text
10194End
10195
10196Begin %I Text
10197%I cfg Black
101980 0 0 SetCFg
10199%I f *-helvetica-bold-r-normal--10-*-75-*
10200Helvetica-Bold 10 SetF
10201%I t
10202[ 1 0 0 1 480 697 ] concat
10203%I
10204[
10205(Ready)
10206] Text
10207End
10208
10209Begin %I Line
10210%I b 65535
102110 0 1 [] 0 SetB
10212%I cfg Black
102130 0 0 SetCFg
10214%I cbg White
102151 1 1 SetCBg
10216%I p
102170 SetP
10218%I t
10219[ 1 0 0 1 138 217 ] concat
10220%I
10221294 487 310 503 Line
10222%I 1
10223End
10224
10225Begin %I Line
10226%I b 65535
102270 0 1 [] 0 SetB
10228%I cfg Black
102290 0 0 SetCFg
10230%I cbg White
102311 1 1 SetCBg
10232%I p
102330 SetP
10234%I t
10235[ 1 0 0 1 138 217 ] concat
10236%I
10237350 487 334 503 Line
10238%I 1
10239End
10240
10241Begin %I Text
10242%I cfg Black
102430 0 0 SetCFg
10244%I f *-helvetica-bold-r-normal--10-*-75-*
10245Helvetica-Bold 10 SetF
10246%I t
10247[ 1 0 0 1 136 740 ] concat
10248%I
10249[
10250(Receiver Control)
10251(\(0xffff0000\))
10252] Text
10253End
10254
10255Begin %I Pict
10256%I b u
10257%I cfg u
10258%I cbg u
10259%I f u
10260%I p u
10261%I t u
10262
10263Begin %I Rect
10264%I b 65535
102650 0 0 [] 0 SetB
10266%I cfg Black
102670 0 0 SetCFg
10268%I cbg White
102691 1 1 SetCBg
10270none SetP %I p n
10271%I t
10272[ 1 0 0 1 138 -15 ] concat
10273%I
10274102 503 350 527 Rect
10275End
10276
10277Begin %I Line
10278%I b 65535
102790 0 0 [] 0 SetB
10280%I cfg Black
102810 0 0 SetCFg
10282%I cbg White
102831 1 1 SetCBg
10284none SetP %I p n
10285%I t
10286[ 1 0 0 1 138 -15 ] concat
10287%I
10288302 527 302 503 Line
10289%I 1
10290End
10291
10292Begin %I Line
10293%I b 65535
102940 0 0 [] 0 SetB
10295%I cfg Black
102960 0 0 SetCFg
10297%I cbg White
102981 1 1 SetCBg
10299none SetP %I p n
10300%I t
10301[ 1 0 0 1 138 -15 ] concat
10302%I
10303326 527 326 503 Line
10304%I 1
10305End
10306
10307Begin %I Rect
10308%I b 65535
103090 0 0 [] 0 SetB
10310%I cfg Black
103110 0 0 SetCFg
10312%I cbg White
103131 1 1 SetCBg
10314%I p
103150.5 SetP
10316%I t
10317[ 1 0 0 1 138 -15 ] concat
10318%I
10319102 503 302 527 Rect
10320End
10321
10322Begin %I Text
10323%I cfg Black
103240 0 0 SetCFg
10325%I f *-helvetica-bold-r-normal--10-*-75-*
10326Helvetica-Bold 10 SetF
10327%I t
10328[ 1 0 0 1 448 529 ] concat
10329%I
10330[
10331(1)
10332] Text
10333End
10334
10335Begin %I Text
10336%I cfg Black
103370 0 0 SetCFg
10338%I f *-helvetica-bold-r-normal--10-*-75-*
10339Helvetica-Bold 10 SetF
10340%I t
10341[ 1 0 0 1 472 529 ] concat
10342%I
10343[
10344(1)
10345] Text
10346End
10347
10348Begin %I Text
10349%I cfg Black
103500 0 0 SetCFg
10351%I f *-helvetica-bold-r-normal--10-*-75-*
10352Helvetica-Bold 10 SetF
10353%I t
10354[ 1 0 0 1 416 465 ] concat
10355%I
10356[
10357(Interrupt)
10358(Enable)
10359] Text
10360End
10361
10362Begin %I Text
10363%I cfg Black
103640 0 0 SetCFg
10365%I f *-helvetica-bold-r-normal--10-*-75-*
10366Helvetica-Bold 10 SetF
10367%I t
10368[ 1 0 0 1 480 465 ] concat
10369%I
10370[
10371(Ready)
10372] Text
10373End
10374
10375Begin %I Line
10376%I b 65535
103770 0 1 [] 0 SetB
10378%I cfg Black
103790 0 0 SetCFg
10380%I cbg White
103811 1 1 SetCBg
10382%I p
103830 SetP
10384%I t
10385[ 1 0 0 1 138 -15 ] concat
10386%I
10387294 487 310 503 Line
10388%I 1
10389End
10390
10391Begin %I Line
10392%I b 65535
103930 0 1 [] 0 SetB
10394%I cfg Black
103950 0 0 SetCFg
10396%I cbg White
103971 1 1 SetCBg
10398%I p
103990 SetP
10400%I t
10401[ 1 0 0 1 138 -15 ] concat
10402%I
10403350 487 334 503 Line
10404%I 1
10405End
10406
10407End %I eop
10408
10409Begin %I Text
10410%I cfg Black
104110 0 0 SetCFg
10412%I f *-helvetica-bold-r-normal--10-*-75-*
10413Helvetica-Bold 10 SetF
10414%I t
10415[ 1 0 0 1 136 508 ] concat
10416%I
10417[
10418(Transmitter Control)
10419(\(0xffff0008\))
10420] Text
10421End
10422
10423Begin %I Text
10424%I cfg Black
104250 0 0 SetCFg
10426%I f *-helvetica-bold-r-normal--10-*-75-*
10427Helvetica-Bold 10 SetF
10428%I t
10429[ 1 0 0 1 136 636 ] concat
10430%I
10431[
10432(Receiver Data)
10433(\(0xffff0004\))
10434] Text
10435End
10436
10437Begin %I Pict
10438%I b u
10439%I cfg u
10440%I cbg u
10441%I f u
10442%I p u
10443%I t u
10444
10445Begin %I Rect
10446%I b 65535
104470 0 0 [] 0 SetB
10448%I cfg Black
104490 0 0 SetCFg
10450%I cbg White
104511 1 1 SetCBg
10452none SetP %I p n
10453%I t
10454[ 1 0 0 1 138 113 ] concat
10455%I
10456102 503 350 527 Rect
10457End
10458
10459Begin %I Rect
10460%I b 65535
104610 0 0 [] 0 SetB
10462%I cfg Black
104630 0 0 SetCFg
10464%I cbg White
104651 1 1 SetCBg
10466%I p
104670.5 SetP
10468%I t
10469[ 1 0 0 1 130 217 ] concat
10470%I
10471110 399 286 423 Rect
10472End
10473
10474Begin %I Text
10475%I cfg Black
104760 0 0 SetCFg
10477%I f *-helvetica-bold-r-normal--10-*-75-*
10478Helvetica-Bold 10 SetF
10479%I t
10480[ 1 0 0 1 449.5 657 ] concat
10481%I
10482[
10483(8)
10484] Text
10485End
10486
10487Begin %I Text
10488%I cfg Black
104890 0 0 SetCFg
10490%I f *-helvetica-bold-r-normal--10-*-75-*
10491Helvetica-Bold 10 SetF
10492%I t
10493[ 1 0 0 1 417 601 ] concat
10494%I
10495[
10496(Received Byte)
10497] Text
10498End
10499
10500End %I eop
10501
10502Begin %I Text
10503%I cfg Black
105040 0 0 SetCFg
10505%I f *-helvetica-bold-r-normal--10-*-75-*
10506Helvetica-Bold 10 SetF
10507%I t
10508[ 1 0 0 1 136 388 ] concat
10509%I
10510[
10511(Transmitter Data)
10512(\(0xffff000c\))
10513] Text
10514End
10515
10516Begin %I Pict
10517%I b u
10518%I cfg u
10519%I cbg u
10520%I f u
10521%I p u
10522%I t
10523[ 1 0 0 1 -8 0 ] concat
10524
10525Begin %I Rect
10526%I b 65535
105270 0 0 [] 0 SetB
10528%I cfg Black
105290 0 0 SetCFg
10530%I cbg White
105311 1 1 SetCBg
10532none SetP %I p n
10533%I t
10534[ 1 0 0 1 146 -135 ] concat
10535%I
10536102 503 350 527 Rect
10537End
10538
10539Begin %I Rect
10540%I b 65535
105410 0 0 [] 0 SetB
10542%I cfg Black
105430 0 0 SetCFg
10544%I cbg White
105451 1 1 SetCBg
10546%I p
105470.5 SetP
10548%I t
10549[ 1 0 0 1 138 -31 ] concat
10550%I
10551110 399 286 423 Rect
10552End
10553
10554Begin %I Text
10555%I cfg Black
105560 0 0 SetCFg
10557%I f *-helvetica-bold-r-normal--10-*-75-*
10558Helvetica-Bold 10 SetF
10559%I t
10560[ 1 0 0 1 457.5 409 ] concat
10561%I
10562[
10563(8)
10564] Text
10565End
10566
10567Begin %I Text
10568%I cfg Black
105690 0 0 SetCFg
10570%I f *-helvetica-bold-r-normal--10-*-75-*
10571Helvetica-Bold 10 SetF
10572%I t
10573[ 1 0 0 1 425 353 ] concat
10574%I
10575[
10576(Transmitted Byte)
10577] Text
10578End
10579
10580End %I eop
10581
10582Begin %I Text
10583%I cfg Black
105840 0 0 SetCFg
10585%I f *-helvetica-bold-r-normal--10-*-75-*
10586Helvetica-Bold 10 SetF
10587%I t
10588[ 1 0 0 1 322 761 ] concat
10589%I
10590[
10591(Unused)
10592] Text
10593End
10594
10595Begin %I Text
10596%I cfg Black
105970 0 0 SetCFg
10598%I f *-helvetica-bold-r-normal--10-*-75-*
10599Helvetica-Bold 10 SetF
10600%I t
10601[ 1 0 0 1 322 657 ] concat
10602%I
10603[
10604(Unused)
10605] Text
10606End
10607
10608Begin %I Text
10609%I cfg Black
106100 0 0 SetCFg
10611%I f *-helvetica-bold-r-normal--10-*-75-*
10612Helvetica-Bold 10 SetF
10613%I t
10614[ 1 0 0 1 322 529 ] concat
10615%I
10616[
10617(Unused)
10618] Text
10619End
10620
10621Begin %I Text
10622%I cfg Black
106230 0 0 SetCFg
10624%I f *-helvetica-bold-r-normal--10-*-75-*
10625Helvetica-Bold 10 SetF
10626%I t
10627[ 1 0 0 1 322 409 ] concat
10628%I
10629[
10630(Unused)
10631] Text
10632End
10633
10634End %I eop
10635
10636showpage
10637
10638%%Trailer
10639
10640end
10641
10642%%EndDocument
10643
10644 endTexFig
10645 75 3883 a Fu(Figure)29 b(7:)40 b(The)29 b(terminal)f(is)g(con)m
10646(trolled)h(b)m(y)g(four)g(device)g(registers,)h(eac)m(h)g(of)g(whic)m
10647(h)e(app)s(ears)g(as)i(a)f(sp)s(ecial)75 3996 y(memory)35
10648b(lo)s(cation)g(at)g(the)h(giv)m(en)f(address.)54 b(Only)33
10649b(a)i(few)g(bits)f(of)h(the)h(registers)e(are)i(actually)e(used:)50
10650b(the)75 4109 y(others)30 b(alw)m(a)m(ys)h(read)g(as)f(zero)s(es)h(and)
10651f(are)h(ignored)e(on)i(writes.)1920 5656 y(25)p eop
10652%%Page: 26 26
1065326 25 bop 216 99 a Fu(The)23 b(third)e(terminal)g(device)i(register)f
10654(is)g(the)h(T)-8 b(ransmitter)22 b(Con)m(trol)h(Register)g(\(at)h
10655(address)e(0x\013\0130008\).)75 211 y(Only)e(the)h(lo)m(w-order)g(t)m
10656(w)m(o)h(bits)e(of)h(this)f(register)h(are)h(used,)g(and)f(they)g(b)s
10657(eha)m(v)m(e)h(m)m(uc)m(h)f(lik)m(e)g(the)g(corresp)s(onding)75
10658324 y(bits)35 b(of)i(the)g(Receiv)m(er)g(Con)m(trol)g(Register.)59
10659b(Bit)36 b(0)h(is)f(called)g(\\ready")h(and)f(is)g(read-only)-8
10660b(.)59 b(If)36 b(it)g(is)g(one)g(it)75 437 y(means)c(the)g(transmitter)
10661g(is)f(ready)h(to)h(accept)h(a)e(new)g(c)m(haracter)i(for)e(output.)45
10662b(If)32 b(it)g(is)f(zero)i(it)f(means)g(the)75 550 y(transmitter)40
10663b(is)f(still)f(busy)g(outputting)i(the)g(previous)f(c)m(haracter)i(giv)
10664m(en)f(to)h(it.)69 b(Bit)40 b(one)h(is)e(\\in)m(terrupt)75
10665663 y(enable";)d(it)e(is)f(readable)g(and)h(writable.)50
10666b(If)34 b(it)g(is)f(set)h(to)h(one,)h(then)e(an)g(in)m(terrupt)e(will)g
10667(b)s(e)h(requested)h(on)75 776 y(lev)m(el)c(one)h(whenev)m(er)f(the)h
10668(ready)f(bit)f(is)h(one.)216 889 y(The)c(\014nal)g(device)g(register)h
10669(is)f(the)h(T)-8 b(ransmitter)26 b(Data)i(Register)f(\(at)h(address)e
10670(0x\013\013000c\).)42 b(When)27 b(it)f(is)75 1002 y(written,)f(the)g
10671(lo)m(w-order)f(eigh)m(t)h(bits)e(are)i(tak)m(en)g(as)g(an)g(ASCI)s(I)d
10672(c)m(haracter)27 b(to)e(output)f(to)h(the)g(displa)m(y)-8
10673b(.)37 b(When)75 1115 y(the)28 b(T)-8 b(ransmitter)26
10674b(Data)k(Register)d(is)g(written,)g(the)h(ready)f(bit)g(in)f(the)i(T)-8
10675b(ransmitter)27 b(Con)m(trol)g(Register)h(will)75 1228
10676y(b)s(e)h(reset)i(to)g(zero.)41 b(The)30 b(bit)f(will)f(sta)m(y)j(zero)
10677g(un)m(til)d(enough)i(time)g(has)g(elapsed)f(to)i(transmit)e(the)h(c)m
10678(haracter)75 1341 y(to)c(the)g(terminal;)g(then)f(the)g(ready)h(bit)e
10679(will)f(b)s(e)i(set)h(bac)m(k)g(to)g(one)g(again.)39
10680b(The)25 b(T)-8 b(ransmitter)25 b(Data)i(Register)75
106811453 y(should)36 b(only)h(b)s(e)g(written)f(when)h(the)h(ready)g(bit)e
10682(of)i(the)g(T)-8 b(ransmitter)37 b(Con)m(trol)g(Register)h(is)f(one;)42
10683b(if)37 b(the)75 1566 y(transmitter)k(isn't)g(ready)h(then)f(writes)g
10684(to)i(the)f(T)-8 b(ransmitter)41 b(Data)i(Register)f(are)g(ignored)f
10685(\(the)i(write)75 1679 y(app)s(ears)30 b(to)h(succeed)g(but)e(the)i(c)m
10686(haracter)h(will)27 b(not)k(b)s(e)f(output\).)216 1792
10687y(In)25 b(real)g(computers)h(it)f(tak)m(es)i(time)e(to)i(send)e(c)m
10688(haracters)i(o)m(v)m(er)g(the)e(serial)g(lines)f(that)i(connect)h
10689(terminals)75 1905 y(to)g(computers.)39 b(These)26 b(time)g(lags)g(are)
10690h(sim)m(ulated)e(b)m(y)h(SPIM.)g(F)-8 b(or)27 b(example,)g(after)g(the)
10691g(transmitter)f(starts)75 2018 y(transmitting)19 b(a)i(c)m(haracter,)j
10692(the)d(transmitter's)f(ready)g(bit)g(will)e(b)s(ecome)i(zero)i(for)e(a)
10693h(while.)35 b(SPIM)20 b(measures)75 2131 y(this)30 b(time)h(in)f
10694(instructions)f(executed,)j(not)g(in)d(real)i(clo)s(c)m(k)h(time.)43
10695b(This)29 b(means)i(that)h(the)f(transmitter)g(will)75
106962244 y(not)36 b(b)s(ecome)g(ready)g(again)g(un)m(til)e(the)i(pro)s
10697(cessor)f(has)h(executed)g(a)g(certain)g(n)m(um)m(b)s(er)f(of)h
10698(instructions.)54 b(If)75 2357 y(y)m(ou)29 b(stop)f(the)h(mac)m(hine)f
10699(and)g(lo)s(ok)g(at)h(the)g(ready)f(bit)f(using)g(SPIM,)h(it)g(will)e
10700(not)j(c)m(hange.)41 b(Ho)m(w)m(ev)m(er,)31 b(if)d(y)m(ou)75
107012470 y(let)i(the)h(mac)m(hine)f(run)f(then)h(the)g(bit)g(will)e(ev)m
10702(en)m(tually)i(c)m(hange)h(bac)m(k)h(to)f(one.)1920 5656
10703y(26)p eop
10704%%Trailer
10705end
10706userdict /end-hook known{end-hook}if
10707%%EOF
Note: See TracBrowser for help on using the repository browser.