ࡱ> =89:;<za߿ߝXo( UUUUzag\Oy Ek( DDnHx9ڴf͝6^ 1~s;cPITaXBlyvFҊOÕ#c'ՔuNk܋ҩ|6^ p(AoS+:=>|Nw[ 4r=ϊt&a ՟"oIkšy_'(,?Bz >bWٹ Z:=?EVk1N?gH{I;s3@dsHwHg2glͤg(g;k]{piyOͤ+]6;꤁W&JkiI[zkB}ҿcK:MփHi"I3Oxk9~& b f"њ:kef3^D9ielq%5m2m9snIOH}ڷ%w[IOiYŤu$遽VvzE"ZrgT -zEioó!D[rI!'r ġ1u޳cu84 9 H?)}&ҹ\ x9.G3c B~D̘Y[H~DYlՕ||!]5i-㴖:cJkk,،7i",itO1JM1_v#59X8-jwj8ks@?/%I׾s IKfM&'6,Ye)+D%դtWO%e2Kɼ"@^ݝN|<Jny~-)KW+V7O%eɒjE"*橶X^->/6,VYJuuwxco7)K.$G/7R\H8VP|N_ǻ ̀|iY&DHi"M4&DHO$A4&S Ƞof9 !=۸kм<[w[߸Inte^ncʖ`e0lG6e4C]ȉHpmR'mB)exliyt),>Y2;g˥BlkFY"}*gg5:KFY"}УƼnl^.ebiōep58OڄrFُ0xDĞ&3՟GcP4}f@N74 ytliLhs'-n;ytiqqNSh'$Im'~GHL9G~'n3=K! {Q <:)'qܤ. ݐ$遽6BȔ3(n _C0Yn\7Iut3 N p9,YhA2=Jj-NՖ[_"dN}$bcG F?B0^'D ƨ27z=s gJB65m JlG\Fq-EANl0KMHk!ʣ3d)[,sb&4:6'f*#z^t%&㣼򣤶+zш+tQ]K;gΗDzG'r.u47c#es֝z2PäsBfsR[yvt]MkysΓtt#aLk:봯n#>vBl"͊ti67yt`34Z[9HZt>ӂt/N/4&me8JjG:_ƻJIҸtܽ7yt7'UL9ŻLV'ݕ1ΐ & ?)> qds ; SB&5-pv%vle@"v Ude'c%/A=DV~yUFi"M4&Dl 9H=pГMLb}_a_~1~ȮCoĕIH{p"?KHn\tW!ғc$):/.EXDYdxi/ZN'ڀ8Uϋ z!D * ӽ\]t6'F8h7j- g%yq·CHx:7(.ّd)꼸gCdF,K9NXRyR{ueq ;;Y{".TD abSփb(v? r5vB@4"MR^IENDB`E(8 n/ 0|DTimes New RomanTT.ܖ 0ܖDTahomaew RomanTT.ܖ 0ܖ" DWingdingsRomanTT.ܖ 0ܖ0DArialngsRomanTT.ܖ 0ܖ"@D[SOalngsRomanTT.ܖ 0ܖ A.@  @@``  @n?" dd@  @@``    p])$=>$;; pD<H'""/"/"/(*)667(%M$QSa  W 7'33/$8D/"'33/$8D/"  5 5 5# 5_$$r$߿ߝXoifr$g\Oy Ekiib$Hx9ڴ    $$[\g*What should be put into Global Data Area ?++   Runtime Stack  `   Stack and Frame `  <Stack and Frame  enter main()$b((  BStack and Frame  enter sum_all()$"!b((.    BStack and Frame  exit sum_all() $"!b((.    :Stack and Frame  exit main()$b((  Stack and Frame ` ADo we really need store $4 to $7 onto stack? An optimized version$BAbA Stack and Frame `  0Stack and Frame  main()$b((  0Stack and Frame  test()$b((   Run-time Stack Virtual / Physical memory!User memory space OS memory space   Virtual Memory / Physical Memory!!(Why Virtual Memory Limited physical memory size 64MB to 1GB Unlimited virtual memory size Each process may have 2GB Many processes in the system v 7 7 Virtual Memory/Physical Memory(PPhysical memory as cache of virtual memory (disk) Physical memory and virtual memory broke into fixed size pages; Each physical page holds a virtual page (may come from different processes) Only the active pages of each process reside in physical memory, physical memory works as cache of virtual memory (disk) Other pages stay on disk H2PPP2Virtual and Physical Memory  Virtual Memory / Physical Memory!!( Physical / Virtual Memory P,  0` @EoOV` @Eff؂o` MMMwww` 33f3Ƨgzf` 3ffE` JH3f̙ff` 33̙fRP` =bf>?" dd@,?wnd@ n< w_@nA``< n?" dd@   @@``PP   @ ` ` p>> ''CCPD'(  P!T  P "b  P# " \  P "B P HDA "B P HDA "B P HDA "@@B P HDA "B  P HDA "B  P HDA "B  P HDA "@@B  P HDA "B  P HDA "B P HDA "B P HDA "@@B P HDA "  B P HDA "  B P HDA "  B P HDA "@ @ B P HDA "  B P HDA "  B P HDA "  B P HDA "@@B P HDA "B P HDA "B P HDA "z\  P "B P HDA "B P HDA "B P HDA "@@B P HDA "B  P HDA "B !P HDA "B "P HDA "@@B #P HDA "B $P HDA "B %P HDA "B &P HDA "@@B 'P HDA " B (P HDA " B )P HDA " B *P HDA "@ @ B +P HDA " B ,P HDA " B -P HDA " B .P HDA "@@B /P HDA "B 0P HDA "B 1P HDA "B 2P HDA "@@B 3P HDA "B 4P HDA "B 5P HDA "B 6P HDA "@@B 7P HDA "B 8P HDA " 9P # t?A?60%"@`tB :P 6D"tb `  ;P# "|i4 tB PB  BCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T" ?P 6 "  T Click to edit Master title style! ! @P  Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"0  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S AP 6h "``  D*   BP 6 "``    F*   CP 6l "`   F*  H P 0޽h ?>P @Eff؂o___PPT92p22 Blueprint*  0 5*-*GGT)(  TB$T  T "6b  T# " T T??"@`\  T "B T HDA "B T HDA "B T HDA "@@B  T HDA "B  T HDA "B  T HDA "B  T HDA "@@B  T HDA "B T HDA "B T HDA "B T HDA "@@B T HDA "  B T HDA "  B T HDA "  B T HDA "@ @ B T HDA "  B T HDA "  B T HDA "  B T HDA "@@B T HDA "B T HDA "B T HDA "B T HDA "B T HDA "B T HDA "@@B T HDA "B  T HDA "B !T HDA "B "T HDA "@@B #T HDA "B $T HDA "B %T HDA "B &T HDA "@@B 'T HDA " B (T HDA " B )T HDA " B *T HDA "@ @ B +T HDA " B ,T HDA " B -T HDA " B .T HDA "@@B /T HDA "B 0T HDA "B 1T HDA "B 2T HDA "@@B 3T HDA "B 4T HDA "B 5T HDA "B 6T HDA "@@B 7T HDA "B 8T HDA "tB 9T 6D"$\ /c3  :T "/c3 B ;T 6D"/3 ,$D  0tB TB  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"]Ft\  ?T "tB @T 6D"r r tB ATB 6D"442 BT  ZBCENGGHʲI[TQ zR(VzR(V[T`TzR(V[T`T"   CT 6L "Pp   T Click to edit Master title style! ! DT  Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level"%p0u   W#Click to edit Master subtitle style$ $ ET 6 "``  D*   FT 6ܵ "`    F*   GT 6 "`   F*  H T 0޽h ?/ >TBT @Eff؂o; 0 K(     T~K~K ?v$   p*  H$$HHmm  Tx~K~K ? 8$  r*  H$$HHmm  Z~K~K ?v   p*  H$$HHmm  Z| ~K~K ? 8  r*  H$$HHmmp  01 ?RG  ;  T"lrlr ? L"  SClick to edit Master notes styles Second Level Third Level Fourth Level Fifth Level"     TH  0jB? ? a(80___PPT10.pK+(  H(     TC~K~K ?v$   ^* H$$HHmm  T0T~K~K ? 8$  `* H$$HHmm  ZQ~K~K ?v   ^* H$$HHmm  Z8i~K~K ? 8  `* H$$HHmmH  0jB? ? a(80___PPT10.p+  0 0<( w r  S Tt?P  t   s *t @P"6 ? t   t Rectangle: Click to edit Master text styles Second level Third level Fourth level Fifth level s  8Introduction to Computer Systems Engineering (CPEG 323)2-2 9H  0޽h ? 333gggy___PPT10Y+D=' = @B +s  0 *( t@z@ r  S 4t?P  t x  c $t@Pp  t H  0޽h ? 333gggy___PPT10Y+D=' = @B +}  0 $(  r  S ht?P  t r  S t@P0 t H  0޽h ? @Eff؂o___PPT10i.pBp]+D=' = @B +  0 N(  x  c $?P     c $d@P=r]  *F84 tH  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0 0(  x  c $?P   x  c $@P   H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0 0(  x  c $?P   x  c $W@P0  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0 0(  x  c $i?P   x  c $i@P0*  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0 0(  x  c $`w?P   x  c $8x@P0  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0 r(  x  c $?PM   x  c $@Pr  :  3 A*H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0  0(  x  c $?P-   x  c $@P;  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0  0(  x  c $4?P-   x  c $ @Pt  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0  0(  x  c $?P-   x  c $|@P  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0 0 0(  x  c $d?P-   x  c $<@Pb  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +  0 @ 0(  x  c $H ?P-   x  c $ @P=  H  0޽h ? @Eff؂o___PPT10i.β0}+D=' = @B +$ 0 ;3(    6  GGP Register and GP Area  # l 1))?b V t :Text    f|%1))? V td  .    f$(1))?V t.  9BSS    f&1))?P n A Stack Heap       `1))?0 P pP B    `D1))?8 P h8    3 r#1))?   6GP B  @ ZDo))?8 8    3 rT41))?   HGlobal data area 64k B  ZDjJ))?8 (  B  ZDjJ))?0 0 H   3 r0:1))?U V V u  8Data   3 r=1))? &  @ 0x10008000     3 r;1))?d@K @ 0x00000000     3 rE1))? @ 0xEFFFFFFF   B  ZDo))?@B  ZDo))?    3 rD1))?C"?F?  Gpositive offset B @  `Do))? 0    3 rpN1))?C"? a  Gnegative offset B   `Do))? y^ H  0޽h ? @Eff؂o___PPT10i. +D=' = @B + 0 0 m(      f1))?\ <  6S zJ RWhy Global Data Area ? $   `1))?G0h    fV1))?  Without GP: 3 instructions Li r9, x -- low 16-bit of x Addiu r9, x -- high 16-bit of x Lw r10, 0(r9) -- load" 2,BT   f(]1))?[  Y;  n With GP: 1  instruction LW r10, 24(GP) -- load48 27   6Hb csi pGP Register and GP Area(Cont.)    # l1))?    fhf1))? TLoad variable x to r10" 2H  0޽h ? @Eff؂o___PPT10i.b+D=' = @B +  0 .&(  r  S k?P      fn1))?5>U ,   3 r@q1))?1 QMost Frequently Access Data    C xu1))?^ 0 D" Global Data Area requires linker support " $gp register must be correctly initialized (by the startup routine) " assembly code must not modify the $gp register nea)E1,.f   6,   QHow to Use Global Data Area ?$  6| csi pGP Register and GP Area(Cont.) H  0޽h ? @Eff؂o___PPT10i.p+D=' = @B +4  0 KC P(  P P # l1))?D^x P c $RU?P  U  P # lpU1))? NStack organization  2B P  fD1))?f ^pB P  fD1))? R B P  fD1))? W B  P  fD1))? ]   P # l$U1))? "  [Local & temporaries, 2K- P # lN1))? '  %Saved registers (including returnreg).&0 22%K  P # lBU1))? +  R& & 2 2ck P C x8U1))?zt  0  P # llU1))?   k framesize,  2 K r P S ~[UH''1))?}  0  P # l|N1))?Z k  T Frame offset,  2 K< P # l0U1))? Virtual frame Pointer($fp)H0 2K B P # lD>))?S P # lN1))?( W High memory0  2 K P # l31))?TE; V low memory0  2 K5 P # l4n1))? =  static Pointer($sp)H0 2K B P # lD>))?_ _  P # lS1))?A 6\  fProcedure call Argument area.0 (2K P # l1))?Ihv  P # lU1))?& }  k argumentn,  2K   P # l1))?v* ] Q argument1,  2K  P # lU1))? ) R& & 2 2ckH P 0޽h ? @Eff؂o___PPT10i.P#)+D=' = @B +  0 P (  x  c $ ?P      f|1))?  <Example 1: int total; int sum_all(int a1, int a2, int a3, int a4,int a5, int a6, int a7, int a8) { return a1+a2+a3+a4+a5+a6+a7+a8; } Main() { total=sum_all(1,2,3,4,5,6,7,8); printf( total = %d\n , total); }0 2c2                      ^       H  0޽h ? @Eff؂o___PPT10i.P#)+D=' = @B +$  0 `(X(` &&'(  x  c $p?P,L^      f1))?Hd X  3 r1))? Q p 0x00000000.   c    3 rL%1))? R p 0x7fffffff.   c  B   `D1))?\ vB @ NDo))?    f`+1))?HXl _$sp=0x7ffff7fe8  2c      fT11))?X |,$D 0 2      `1))?tX ,$D 0    `1))?X \,$D 0    `1))?TX ,$D 0    `1))?X @,$D 0   `1))?<X ,$D 0   `1))?X $,$D 0   `1))? X ,$D  0   `1))?X ,$D  0   `1))?X t ,$D  0B @ NDo))?  ,$@   0  3 r91))?%vE , G   f81))?HX| ,$   0 }$sp=0x7ffff7fc06 2g    fA1))?Z p,$@ 0 2    3 rF1))?t* 0  _  3 r|H1))? |,$ 0  $31 ($ra).   c  .   B   `D1))?p X p    fxO1))?hX ,$@ 0 2  S   fR1))?\ ,$ 0  $30 ($fp).   c  .      fXW1))?fvv o$fp=0  2c&   Y   ft\1))?n BRB ,$  0 $fp=$sp6 2g.      fXc1))?<^ ,$@ 0 2  7   ff1))?6 ,$ 0 m 5. c       fj1))?X H,$@ 0 2  7 !  fdP1))? Z,$ 0 m 6. c    "  fXt1))?XX ,$D 0 2  7 #  fv1))?R ,$ 0 m 7. c    $  f\}1))?X R,$@ 0 2  7 %  f1))? d,$ 0 m 8. c    &  f1))?Dr `subu $sp, $sp, 40 ? sw $31, 36($sp) sw $fp, 32($sp) move $fp, $sp ? li $2, 0x5 ? sw $2, 16($sp) li $2, 0x6 ? sw $2, 20($sp) li $2, 0x7 sw $2, 24($sp) li $2, 0x8 sw $2, 28($sp) li $4, 0x1 li $5, 0x2 li $6, 0x3 li $7, 0x4 jal sum_all & 0 2c             %    $                       H  0޽h ? @Eff؂old___PPT10D.-p#,+DH' = @B D' = @BA?%,( < +O%,( < +D5' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* D' =%( D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =%( D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =%( D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB1+#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB1+#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =%(|D' =A@BBBB0B%(D' =+4 8?`CB ppt_xBCB1+ppt_w/2B*Y3>B ppt_x<*D ' =+4 8?XCB ppt_yBCB ppt_yB*Y3>B ppt_y<*D' =1:Bhidden*o3>+B#style.visibility<*%(DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D7 ' =%(D ' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB1+#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =K@BBBBPB0B%(/%(^D' =+4 8?`CB ppt_xBCB1+ppt_w/2B*Y3>B ppt_x<*D ' =+4 8?XCB ppt_yBCB ppt_yB*Y3>B ppt_y<*D' =1:Bhidden*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =+4 8?`CB ppt_xBCB1+ppt_w/2B*Y3>B ppt_x<*D ' =+4 8?XCB ppt_yBCB ppt_yB*Y3>B ppt_y<*D' =1:Bhidden*o3>+B#style.visibility<*%(DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*!%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*!D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*!D{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* D{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*"%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*"D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*"DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*"%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*"D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*"D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*#%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*#D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*#DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*$%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*$D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*$D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*%D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*%DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*$%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*$D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*$D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*%D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*%++0+0 ++0+ 0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+ 0 ++0+ 0 ++0+!0 ++0+"0 ++0+"0 ++0+#0 ++0+$0 ++0+$0 ++0+%0 ++0+%0 +w  0 ./&/p 22.(  x  c $`?Pf4      f1))?Hd X  3 r1))? Q p 0x00000000.   c    3 r(1))? R p 0x7fffffff.   c  B   `D1))?\ vB @ NDo))?    f<1))?HXl [ 0x7ffff7fe8  2 c      f1))?X | 2      `1))?tX     `1))?X \    `1))?TX     `1))?X @   `1))?<X    `1))?X $   `1))? X    `1))?X    `1))?X t vB @ NDo))?d d   3 r1))?%vE ,    f1))?HX|  }$sp=0x7ffff7fc06 2g    f1))?Z p 2    3 rD1))?t* 0  +  3 r1))? |  $31 ($ra).   c  .   B   `D1))?p X p    f 1))?hX  2     f\1))?\   $30 ($fp).   c  .   %   f1))?n BRB  $fp=$sp6 2g.      f1))?<^  2     f1))?6  m 5. c      f1))?X H 2      f #1))? Z m 6. c    !  f'1))?XX  2   "  fL+1))?R  m 7. c    #  f11))?X R 2   $  f41))? d m 8. c    %  f(@1))?Dr  zsubu $sp, $sp, 8 sw $fp, 0($sp) move $fp, $sp sw $4, 8($sp) sw $5, 12($sp) sw $6, 16($sp) sw $7, 20($sp) & move $sp, $fp lw $fp, 0($sp) addu $sp, $sp, 8 j $31 F 2g iEc  @                           & # lI1))?\ X ,$@ 0 0  [ ' # l@L1))? X F ,$D 0  $30 ($fp)0   c  .   B (@ NDo))?H H ,$@  0G )  fR1))? 0@ ,$  0 }$sp=0x7ffff7fb06 2gҍҍ Y *  f8X1