ࡱ> =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))? 0@ ,$   0 $fp=$sp6 2gҍҍ.    +  f_1))?X p ,$@  0 2  7 ,  fta1))? ,$  0 m 1. c    -  fg1))?X ,$@  0 2  7 .  fj1))?  ,$  0 m 2. c    /  fJ1))?X ,$@ 0 2  7 0  fq1))? ,$ 0 m 3. c    1  fx1))?^ 2,$@ 0 2  7 2  f|z1))? D,$ 0 m 4. c   H  0޽h ? @Eff؂o*H"H___PPT10H.² %+2/DD' = @B DD' = @BA?%,( < +O%,( < +D' =%(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' =+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?' =%(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' =4@BBBB%()))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{' =%(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<*'Dt' =%(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' =+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{' =%(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<**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<*0%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*0D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*0DN' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*1%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*1D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*1D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*2%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*2D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*2++0+0 ++0+0 ++0+&0 ++0+'0 ++0+)0 ++0+*0 ++0++0 ++0+,0 ++0+-0 ++0+.0 ++0+/0 ++0+00 ++0+10 ++0+20 +I  0 -- 22,(  x  c $?PF      f1))?Hd X  3 r41))? Q p 0x00000000.   c    3 rd1))? R p 0x7fffffff.   c  B   `D1))?\ vB @ NDo))?    fx1))?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   3 r1))?%vE ,    f1))?Z p 2    3 r1))?t* 0  +  3 r81))? |  $31 ($ra).   c  .   B   `D1))?p X p    f1))?hX  2     f(1))?\   $30 ($fp).   c  .      f1))?<^  2     fL1))?6  m 5. c      f1))?X H 2     f1))? Z m 6. c      f1))?XX  2     fD1))?R  m 7. c       fx1))?X R 2   !  f1))? d m 8. c    "  f1))?Dr  ~subu $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 J 2c Cg i i@                           # # lp1))?\ X  0  ' $ # l1))? X F   $30 ($fp)0   c  .   vB %@ NDo))?H H  &  f1))? 0@  }$sp=0x7ffff7fb06 2gҍҍ % '  f\1))? 0@  $fp=$sp6 2gҍҍ.    (  f`"1))?X p  2   )  f%1))?  m 1. c    *  f)1))?X  2   +  f-1))?   m 2. c    ,  f\21))?X  2   -  fD61))?  m 3. c    .  f<1))?^ 2 2   /  f ?1))? D m 4. c   B 0@ NDo))?v v ,$@  0I 1  fC1))? *| ,$  0 $fp6 2gҍҍ"  ; 2  f I1))?  ,$  0 q$sp6 2gҍҍ H  0޽h ? @Eff؂o___PPT10.ƲD+mvXD' E= @B D;' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*0%(D' =+4 8?dCB1+#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*0D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*0D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*1%(D' =+4 8?dCB1+#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*1D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*1Dq' =%(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<*'%(D{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*2%(D' =+4 8?dCB1+#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*2D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*2D-' =%(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<*&%(D' =4@BBBB%(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<*%%(++0+&0 ++0+'0 ++0+10 ++0+20 +W:  0 |'t' .. '(  x  c $ls?PVvR      f1))?Hd X  3 r_1))? Q p 0x00000000.   c    3 r8f1))? R p 0x7fffffff.   c  B   `D1))?\ vB @ NDo))?    fl1))?X | 2      `1))?tX     `1))?X \    `1))?TX     `1))?X @    `1))?<X    `1))?X $   `1))? X    `1))?X    `1))?X t   3 rq1))?%vE ,    fs1))?Z p 2  +  3 rw1))? |  $31 ($ra).   c  .   B   `D1))?p X p    f1))?hX  2     f1))?\   $30 ($fp).   c  .      fԈ1))?<^  2     f`1))?6  m 5. c      f1))?X H 2     fГ1))? Z m 6. c      fT1))?XX  2     f1))?R  m 7. c      f1))?X R 2     fȤ1))? d m 8. c      # l1))?\ X  0  ' ! # lT1))? X F   $30 ($fp)0   c  .    "  f 1))?X p  2   #  fd1))?  m 1. c    $  f1))?X  2   %  f1))?   m 2. c    &  f1))?X  2   '  fL1))?  m 3. c    (  f|1))?^ 2 2   )  f$1))? D m 4. c   vB *@ NDo))?v v  +  f1))? *|  $fp6 2gҍҍ"   ,  f1))?   q$sp6 2gҍҍ X -  f{1))?Dr~   & move $sp, $fp lw $31, 36($sp) lw $fp, 32($sp) addu $sp, $sp, 40 j $31 J` 2c Yg i i            W .  f1))?U,$  0  $sp $fp =0. 2 c.   H  0޽h ? @Eff؂o{___PPT10[.Dz\n|+GDlD' = @B DB' = @BA?%,( < +O%,( < +D{' =%(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 ' =%(D ' =%(D' =4@BBBB%(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<*+%(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<*,%(++0++0 ++0+,0 ++0+.0 +  0  ,(  x  c $?P   x  c $@Pd     f1))?B  ^sum_all: lw $3, 16($sp) lw $8, 20($sp) lw $9, 24($sp) lw $2, 28($sp) addu $4, $4, $5 addu $4, $4, $6, addu $4, $4, $7 addu $4, $4, $3, addu $4, $4, $8 addu $4, $4, $9, addu $2, $4, $2 j $31 0 2c  @                           H  0޽h ? @Eff؂o___PPT10i.Ȳ +D=' G= @B +'  0 >6 (     fs1))?"t: bExample 2: where are the local variables (automatic variable) int sum_all(int a1, int a2, int a3, int a4,int a5, int a6, int a7, int a8) { int total; total=a1+a2+a3+a4+a5+a6+a7+a8; return total; } int test() { return sum_all(1,2,3,4,5,6,7,8); } main() { total=test(); printf( total = %d\n , total); }XN 2Bcc c ?c LB                     C  O         B ?P   H  0޽h ? @Eff؂o___PPT10i.Ȳ@`+D=' G= @B +d  0 {s !# (  x  c $%t?P(  t    f1))? d   3 rx't1))? Q p 0x00000000.   c    3 r1))? R p 0x7fffffff.   c  vB @ NDo))?|    `1))?X \   `1))?TX     `1))?X @    `1))?<X     `1))?X $    `1))? X     `1))?X    `1))?X t   3 r2t1))?%vE ,    f0t1))?Z N 2  +  3 r8t1))? ^  $31 ($ra).   c  .   B   `D1))?p X p    f>t1))?LX  2     fBt1))?0s   $30 ($fp).   c  .      fLt1))?Gh  q total.   c       fUt1))?X p  2     fpYt1))?  n r4.  c      fHXt1))?X  2     fTat1))?   n r5.  c      f `t1))?X  2     f`it1))?  n r6.  c      fot1))?^ 2 2     fqt1))? D n r7.  c   vB  @ NDo))?v v  !  f0wt1))? *|  $fp6 2gҍҍ"   "  fP|t1))?   q$sp6 2gҍҍ  #  ft1))?xBnL l$sp . 2c H  0޽h ? @Eff؂o___PPT10i.ʲ.+D=' = @B + +  0 7*/* 57)(    BX" ?P(      f1))? d   3 r$1))? Q p 0x00000000.   c    3 r4*1))? R p 0x7fffffff.   c     `1))?X t   3 r/1))?%vE , B   `D1))?p X p     f41))?X p  2      f71))?  n r4.  c   vB  @ NDo))?v v      f<1))? *|  w$fp. 2c"      fA1))?   i$sp. 2c    `1))?X \   `1))?TX    `1))?X @   `1))?<X    `1))?X $   `1))? X    `1))?X    fJ1))?Z N 2  +  3 rH1))?y ]  $31 ($ra).   c  .      fS1))?LX  2     f(R1))?9i   $30 ($fp).   c  .      fp(1))?FT  q total.   c       fh1))?X  2     f l1))?   n r5.  c      fp1))?X  2     ft1))?  n r6.  c       fy1))?^ 2 2   !  f|1))? D n r7.  c    "  `1))? X  B #  `D1))? X   $  f 1))? X   2   %  `1))? X   &  `1))? X t  '  `1))?p X  (  `1))? X \  )  `1))?T X  *  `1))? X @  +  `1))?< X  ,  f1))?~ Z  k$310 c    -  f1))? X l  y$fp0 c  "   .  fX1))? ^ \  i70 c    /  f`1))?x X  i80 c    0  f1))?: X  2   1  fh1))? X :  i50 c    2  f1))?b ^  i60 c    3  f,1))? X  2   4  f1))? X  2  vB 5@ NDo))?  6  f@1))? pn $fp6 2gҍҍ"   7  f1))? Vb q$sp6 2gҍҍ H  0޽h ? @Eff؂o___PPT10i.˲ʟ+D=' = @B +Y4 0 p3h3 AC3(    6 ( 6Stack and Frame  sum_all()$b((.      f1))? |  3 r1))?70   p 0x00000000.   c    3 r1))?m< A p 0x7fffffff.   c     `1))?v   3 r1))? , B   `D1))?     f$1))?r  2      f`1))?ll8  n r4.  c   vB  @ NDo))?8     `1))?^     `1))? F   `1))?B    `1))? .   `1))?&    `1))?    `1))?    f1))?P  2  +  3 rT1))?!S   $31 ($ra).   c  .      fP1))? > 2     f1))?V" 1  $30 ($fp).   c  .      f1))?/ O q total.   c       f1))?   2     fH1))?l8  n r5.  c      f 1))?  2     f1))?l8  n r6.  c      f01))?4  2     f1))?.r>  n r7.  c       `1))?  B !  `D1))?   "  f1))?   2   #  `1))? ~ $  `1))?v  %  `1))? b  &  `1))?^   '  `1))?  F  (  `1))?B   )  `1))?  .  *  fd"1))? p k$310 c    +  f'1))?n  y$fp0 c  "   ,  f-1))?^   i70 c    -  f 21))? j  i80 c    .  ft71))?  ,  2   /  f(;1))?<   i50 c    0  f@1))?  T  i60 c    1  fD1))?   2   2  fHJ1))?  |  2  vB 3@ NDo))?| & |  4  fG1))? T q$sp6 2g O O  5  fdQ1))?  f  y$fp0 c  "   6  fTW1))?   2   7  fl\1))?f   2   8  fZ1))?  P mtotal0 c   vB 9@ ND Oo))?J J :  fc1))? " $fp6 2g O O"  B ;  `D1))?& R2 B <  `D1))? & B =  fD1))?  B >  `D1))?@B ?  `D1))?B @  fD1))? A  fj1))?v jmain. 2c  B  fo1))? l\  rtest6 2g6l6l   C  fxt1))? TD  wsum_all6 2g O O H  0޽h ? @Eff؂o___PPT10i.̲0t+D=' = @B +K  0  ""LI(  L L  f1))?P p L  f1))?X 0 x L c $?Pr    L 3 r1))?= 6SP B L@ ZDo))?X L # l1))?X 0,$D 0 E $s1 - unknown  L # l 1))?8 ,$D 0 E $s0 - unknown R  L # l1))? ,$D 0 ($ra  return to main   L # l1))? ,$D  0 E $s1 - unknown   L # l 1))? ,$D  0 E $s0 - unknown >  L # l1))?  ,$D  0 n$ra  ret1     L  f1))?8   L  f1))?  L  f1))?  L  f1))?m <Fib(3) 2 L 3 r1))?m,$  0 :Fib(2) B L  `D1))?0 0B L  `D1))? B L  `D1))? B L  `D1))? B L  `D1))?  L 3 r1))?   :Fib(1) B L  `D1))?  B L  `D1))?x x B L  `D1))?X X B L  `D1))?  B L  `D1))?  B L  `D1))?` ` G L C x1))?)  Fib: sub $sp, $sp, 12 sw $s0, 4($sp) sw $s1, 8($sp) sw $ra, 0($sp) beq $a0, $0, L1 mov $t0, 1 beq $a0, $t0, L1 mov $s0, $a0 sub $a0, $a0, 1 jal fib mov $s1, $v0 subi $a0, $s0, 2 jal fib add $v0, $v0, $s1 j L2 L1: addi $v0, $0, 1 L2: lw $s1, 8($sp) lw $s0, 4($sp) lw $ra, 0($sp) add $sp, $sp, 12 j $ra J 0  O L$, 7- L 3 r1))?  8ret1 B  L ZDo))?| | !L 3 r<1))?   8ret2 B "L ZDo))?d  d H L 0޽h ? @Eff؂o,,___PPT10,.*+ZD*' = @B D}*' = @BA?%,( < +O%,( < +D!' =%(D' =%(D>' =A@BB*BB0B%()?)?D' =.M7 BBBBB_M 1.66667E-6 -3.33333E-6 L 1.66667E-6 0.13519 *3>*B ppt_xB ppt_y=@0BBAApBBBm=<*LD+' =4@BB*BB%()?)?D' =.G7 BBBBBYM -1.11111E-6 2.22222E-6 L 0.00139 0.13518 *3>*B ppt_xB ppt_y=@0BBAApBBa 6:Bm=<*LD{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*LD' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*LD{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*LD' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*LD{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* LD' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* LD{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =+4 8?dCB1+#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*LD' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*LD' =%(D' =%(D.' =A@BB*BB0B%()?)?Du' =.=7 BBBBBOM 1.66667E-6 0.13519 L 0.00139 0.2926 *3>*B ppt_xB ppt_y=@0BBAApBBa 6:Bh/=<*LD' =4@BB*BB%()?)?Dq' =.97 BBBBBKM 0.00139 0.13518 L 0.00278 0.29074 *3>*B ppt_xB ppt_y=@0BBAApBBa 6:BI=<*LD{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* LD' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* LD{' =%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* LD' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* LDn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* L %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* L D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* L ++0+L0 ++0+L0 ++0+L0 ++0+L0 ++0+ L0 ++0+ L0 ++0+ L0 ++0+L0 +  0  T0(  Tx T c $h?P   x T c $\@P0  H T 0޽h ? @Eff؂o___PPT10i.`Qd+D=' G= @B +   0 , $  X (  X X Tgֳgֳ?Y  _ X(Layout of Memory (virtual memory - user))) X # l1))? v  :Text  X  f 1))? v  :Data  X  fl+1))?u  9BSS  X  f/1))?p C Stack Heap B X ZDԔ))?(v v vB X NDԔ))? v v   X 3 rt21))?; ? 0x7FFF EFFF     X 3 r:1))? ~  ? 0x0040 0000   y  X  f1))?Px  Text: instructions Data: variables with initial value BSS: variables without initial value HEAP: for malloc/free STACK: for function call 2e  X  f1))?q  A Global Data   H X 0޽h ? @Eff؂o___PPT10i.uɜ+D=' G= @B + 0  \t(  \^ \ 61? Jv d \ <1?PUx pB \ H1?OpB \ H1?OvB \ N1?cOcpB \ H1?,O, \ TUgֳgֳ? S z  8Reserved   \ T'gֳgֳ?Rf w L ; Static data   \ TE ;On Disk H h 0޽h ? @Eff؂o___PPT10i.@"+D=' G= @B +Q  0 h`P l(  lx l c $?Ps    l  f1))?(x L  x main() { int *p; *p=12; }! 2! @ l  fX1))?  D<4___PPT9 ^Why Segmentation Fault ?* wn l  f81))?  LInvalid pointer  p points to arbitrary address (address 0?) Page protection will assign  readable/executable to the pages in this section 2H l 0޽h ? @Eff؂o___PPT10i.T?+D=' G= @B +  0 ` p2(  px p c $T?P   z p  f$1))?@ V#include main() { int *p; p=(int *)malloc(sizeof(int)); *p=12; }W 2WP  H p 0޽h ? @Eff؂o___PPT10i.J+D=' G= @B +r0J& z^ Ezr Gغi^ ;GoFxZNtwOh+'0`< d p|    0Computer Architecture What Does It Mean?? ?Guang R. GaoPC:\Program Files\Microsoft Office\Templates\Presentation Designs\Blueprint.potHWU70Microsoft PowerPoint 4.0@5wq@MY@F!@BGx:;  3-  y--$xx--'-B( DD--$ --'-B( DD--$ --'-B( DD--$ --'-B( DD--$ --'-B( DD--$ --'-B( DD--$  --'-B( DD--$ $$%%%%%%%%$$--'-B( DD--$ ****++++****--'-B( DD--$ ///00000///--'-B( DD--$ 445555555544--'-B( DD--$ ::::;;;;::::--'-B( DD--$ ???@@@@@???--'-B( DD--$ DDEEEEEEEEDD--'-B( DD--$ JJJJKKKKJJJJ--'-B( DD--$ OOOPPPPPOOO--'-B( DD--$ TTUUUUUUUUTT--'-B( DD--$ ZZZZ[[[[ZZZZ--'-B( DD--$ ___`````___--'-B( DD--$ ddeeeeeeeedd--'-B( DD--$ jjjjkkkkjjjj--'-B( DD--$ ooopppppooo--'-B( DD--$ ttuuuuuuuutt--'-B( DD--$ xxxxx--'-B( DD--$ x x x x x --'-B( DD--$ xxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxxx--'-B( DD--$ x xxx --'-B( DD--$ %%x%x%x%x$x$%%%%%--'-B( DD--$ ++x+x*x*x*x***+++--'-B( DD--$ 00x0x/x/x//0000--'-B( DD--$ 55x5x5x5x4x455555--'-B( DD--$ ;;x;x:x:x:x:::;;;--'-B( DD--$ @@x@x?x?x??@@@@--'-B( DD--$ EExExExExDxDEEEEE--'-B( DD--$ KKxKxJxJxJxJJJKKK--'-B( DD--$ PPxPxOxOxOOPPPP--'-B( DD--$ UUxUxUxUxTxTUUUUU--'-B( DD--$ [[x[xZxZxZxZZZ[[[--'-B( DD--$ ``x`x_x_x__````--'-B( DD--$ eexexexexdxdeeeee--'-B( DD--$ kkxkxjxjxjxjjjkkk--'-B( DD--$ ppxpxoxoxoopppp--'-B( DD--$ uuxuxuxuxtxtuuuuu--'-B( DD--$ {{x{xzxzxzxzzz{{{--'-B( DD--$ xxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxx--'-B( DD--$ xxxxx--'-B( DD--$ xxxxx--'-B( UUUU--$:::--'o--%)--'o--%&--'o--%  A--'o--%             --'@"Tahoma-. @E2 u 10/14/2005. "System7-@"Tahoma-. @E 2 u=\.-@"Tahoma-. @E2 u>course.-@"Tahoma-. @E 2 uD\.-@"Tahoma-. @E2 uEcpeg323e.-@"Tahoma-. @E 2 uL-.-@"Tahoma-. @E 2 uM05F.-@"Tahoma-. @E 2 uQ\.-@"Tahoma-. @E2 uRTopic2ee.-@"Tahoma-. @E 2 uY-.-@"Tahoma-. @E2 uZ323.ppte.-@"Tahoma-. @E 2 u1.-@Arial-. ff2 >Topic 2e.-@Arial-. ff 2 "!High.-@Arial-. ff 2 "3-.-@Arial-. ff$2 "6Level languages and.-@Arial-. ff!2 +/Systems Software n.-@Arial-. ff2 73(Memory Layout).-@Arial-. @E-2 L*Introduction to Computer .-@Arial-. @E$2 T4Systems Engineering.-@Arial-. @E2 eA (CPEG 323).-՜.+,0    Letter Paper (8.5x11 in)% +Times New RomanTahoma WingdingsArial宋体 Blueprint7Topic 2e High-Level languages and Systems Software Reading ListSeveral TopicsObject File FormatObject File Format(Cont.)Object File Format(Cont.)Object File Format(Cont.)Object File Format(Cont.)ELF Object File FormatELF Object File Format(Cont.)ELF Object File Format(Cont.)ELF Object File Format(Cont.)ELF Object File Format(Cont.)ELF Object File Format(Cont.) Slide 15 Slide 16+What should be put into Global Data Area ?Runtime StackStack and Frame!Stack and Frame – enter main()$Stack and Frame – enter sum_all()$Stack and Frame – exit sum_all() Stack and Frame – exit main()Stack and FrameStack and FrameStack and Frame – main()Stack and Frame – test() Slide 28Run-time StackVirtual / Physical memory Slide 31 Slide 32!Virtual Memory / Physical MemoryVirtual Memory/Physical MemoryVirtual and Physical Memory!Virtual Memory / Physical MemoryPhysical / Virtual Memory  Fonts UsedDesign Template Slide Titles%_0HWUHWU  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     !"#$%&')*+,-./1234567>Root EntrydO)PicturesCurrent User0SummaryInformation( <PowerPoint Document( DocumentSummaryInformation8(