1 <?xml version=
"1.0" encoding=
"UTF-8" standalone=
"no"?>
2 <!-- Created with Inkscape (http://www.inkscape.org/) -->
4 xmlns:
dc=
"http://purl.org/dc/elements/1.1/"
5 xmlns:
cc=
"http://creativecommons.org/ns#"
6 xmlns:
rdf=
"http://www.w3.org/1999/02/22-rdf-syntax-ns#"
7 xmlns:
svg=
"http://www.w3.org/2000/svg"
8 xmlns=
"http://www.w3.org/2000/svg"
9 xmlns:
sodipodi=
"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
10 xmlns:
inkscape=
"http://www.inkscape.org/namespaces/inkscape"
14 sodipodi:
version=
"0.32"
15 inkscape:
version=
"0.46"
17 sodipodi:
docname=
"stack-frame.svg"
18 inkscape:
output_extension=
"org.inkscape.output.svg.inkscape"
19 inkscape:
export-filename=
"/home/jeremy/svntrunk/Documentation/appnotes/gdb_howto/images/stack_frame.png"
20 inkscape:
export-xdpi=
"90"
21 inkscape:
export-ydpi=
"90">
25 sodipodi:
type=
"inkscape:persp3d"
26 inkscape:
vp_x=
"0 : 305 : 1"
27 inkscape:
vp_y=
"0 : 1000 : 0"
28 inkscape:
vp_z=
"900 : 305 : 1"
29 inkscape:
persp3d-origin=
"450 : 203.33333 : 1"
30 id=
"perspective7857" />
32 inkscape:
stockid=
"TriangleOutM"
37 style=
"overflow:visible">
40 d=
"M 5.77,0 L -2.88,5 L -2.88,-5 L 5.77,0 z"
41 style=
"fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
42 transform=
"scale(0.4,0.4)" />
53 inkscape:
pageopacity=
"0.0"
54 inkscape:
pageshadow=
"2"
55 inkscape:
zoom=
"1.2766667"
56 inkscape:
cx=
"449.99999"
57 inkscape:
cy=
"304.99999"
58 inkscape:
document-units=
"px"
59 inkscape:
current-layer=
"layer1"
61 inkscape:
snap-guide=
"true"
62 inkscape:
object-paths=
"true"
63 inkscape:
object-nodes=
"true"
64 inkscape:
showpageshadow=
"false"
66 inkscape:
guide-bbox=
"true"
67 inkscape:
window-width=
"1600"
68 inkscape:
window-height=
"1151"
70 inkscape:
window-y=
"0">
83 <dc:format>image/svg+xml
</dc:format>
85 rdf:
resource=
"http://purl.org/dc/dcmitype/StillImage" />
87 rdf:
resource=
"http://www.gnu.org/copyleft/fdl.html" />
88 <dc:title>Overview of a Stack Frame
</dc:title>
89 <dc:date>16 March
2009</dc:date>
92 <dc:title>Jeremy Bennett
</dc:title>
97 <dc:title>Free Software Foundation
</dc:title>
102 <dc:title>Free Software Foundation
</dc:title>
105 <dc:source>www.gnu.org
</dc:source>
108 <rdf:li>stack
</rdf:li>
109 <rdf:li>frame
</rdf:li>
112 <dc:description>A diagram showing all the key features of a stack frame in a compiled l
</dc:description>
115 <dc:title>Jeremy Bennett
</dc:title>
122 inkscape:
label=
"Layer 1"
123 inkscape:
groupmode=
"layer"
126 style=
"fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
133 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
134 d=
"M 370.75003,225.00001 L 470.00003,225.00001 C 539.00786,225.4996 539.625,225.00001 539.625,272.46126 C 539.625,319.9225 539.00786,320.42209 569.25002,319.9225"
136 sodipodi:
nodetypes=
"cccc" />
138 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
139 d=
"M 187,269 C 187,269 185.4,269 183,269 C 180.6,269 179,268.19999 179,267.00001 C 179,266.39999 179,232.19999 179,231 C 179,229.79998 177.32001,228.16004 176.6,227.79998 C 174.92,226.95998 171,225.40001 171,225.00004 C 171,224.59999 174.92,223.04002 176.6,222.19999 C 177.32001,221.83997 179,220.19999 179,219 C 179,217.39997 179,183.59997 179,182.99993 C 179,181.79998 180.6,181 183,181 C 185.4,181 187,181 187,181"
141 sodipodi:
nodetypes=
"csssssssssc" />
143 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
144 d=
"M 370.75,315 L 470,315 C 480,315 479.625,315 479.625,239.99999 C 479.625,165 480,165 569.24999,165"
146 sodipodi:
nodetypes=
"cccc" />
148 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
149 d=
"M 370.75002,404.99999 L 470.00003,404.99999 C 500,405 499.625,404.99999 499.625,284.99998 C 499.625,164.99999 500,165 569.25003,164.99999"
151 sodipodi:
nodetypes=
"cccc" />
153 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
154 d=
"M 370,345 L 320,345 C 220,345 220,285 220,255 C 220,225 220,165 267.5,165"
156 sodipodi:
nodetypes=
"cccc" />
158 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
159 d=
"M 370,255.00002 L 320,255.00002 C 220,255.00002 220,185.00002 220,150.00001 C 220,115.00001 220,45.000006 267.5,45.000006"
161 sodipodi:
nodetypes=
"cccc" />
163 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
164 d=
"M 370,435 L 320,435 C 220,435 220,375 220,345 C 220,315 220,255 267.5,255"
166 sodipodi:
nodetypes=
"cccc" />
168 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
169 d=
"M 270.37502,510 L 469.62504,510"
171 sodipodi:
nodetypes=
"cc" />
173 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
174 d=
"M 270.37502,480 L 469.62504,480"
176 sodipodi:
nodetypes=
"cc" />
178 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
179 d=
"M 270.75001,360 L 469.25005,360"
181 sodipodi:
nodetypes=
"cc" />
183 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
184 d=
"M 270.37502,390 L 469.62504,390"
186 sodipodi:
nodetypes=
"cc" />
188 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
189 d=
"M 270.37502,420 L 469.62504,420"
191 sodipodi:
nodetypes=
"cc" />
193 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
194 d=
"M 270.37502,330 L 469.62504,330"
196 sodipodi:
nodetypes=
"cc" />
198 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
199 d=
"M 270.75001,270 L 469.25005,270"
201 sodipodi:
nodetypes=
"cc" />
203 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
204 d=
"M 270.37502,300 L 469.62504,300"
206 sodipodi:
nodetypes=
"cc" />
208 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
209 d=
"M 270.37505,240 L 469.62507,240"
211 sodipodi:
nodetypes=
"cc" />
213 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
214 d=
"M 270.37505,210 L 469.62507,210"
216 sodipodi:
nodetypes=
"cc" />
218 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
219 d=
"M 270.75003,180 L 469.25008,180"
221 sodipodi:
nodetypes=
"cc" />
223 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
224 d=
"M 270.75,450 L 469.25006,450"
226 sodipodi:
nodetypes=
"cc" />
228 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
229 d=
"M 270.37504,120 L 469.62507,120"
231 sodipodi:
nodetypes=
"cc" />
233 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
234 d=
"M 270.37504,89.999996 L 469.62507,89.999996"
236 sodipodi:
nodetypes=
"cc" />
238 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
239 d=
"M 270.75003,59.999996 L 469.25008,59.999996"
241 sodipodi:
nodetypes=
"cc" />
243 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
244 d=
"M 270.37505,150 L 469.62507,150"
246 sodipodi:
nodetypes=
"cc" />
249 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
253 sodipodi:
linespacing=
"100%"><tspan
257 y=
"469.99997">n =
0</tspan></text>
260 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
264 sodipodi:
linespacing=
"100%"><tspan
268 y=
"379.99997">n =
1</tspan><tspan
272 y=
"395.99997" /></text>
275 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
279 sodipodi:
linespacing=
"100%"><tspan
283 y=
"289.99997">n =
2</tspan><tspan
287 y=
"305.99997" /><tspan
291 y=
"321.99997" /></text>
294 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
298 sodipodi:
linespacing=
"100%"><tspan
302 y=
"200">n =
3</tspan><tspan
313 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
317 sodipodi:
linespacing=
"100%"><tspan
321 y=
"80">i =
3</tspan><tspan
332 style=
"font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
336 sodipodi:
linespacing=
"100%"><tspan
340 y=
"60.898438">int fact( int n )
</tspan><tspan
344 y=
"78.898438">{
</tspan><tspan
348 y=
"96.898438"> if(
0 == n ) {
</tspan><tspan
352 y=
"114.89844"> return
1;
</tspan><tspan
356 y=
"132.89844"> }
</tspan><tspan
360 y=
"150.89844"> else {
</tspan><tspan
364 y=
"168.89844"> return n * fact( n -
1 );
</tspan><tspan
368 y=
"186.89844"> }
</tspan><tspan
372 y=
"204.89844">}
</tspan><tspan
376 y=
"222.89844" /><tspan
380 y=
"240.89844">main()
</tspan><tspan
384 y=
"258.89844">{
</tspan><tspan
388 y=
"276.89844"> int i;
</tspan><tspan
392 y=
"294.89844" /><tspan
396 y=
"312.89844"> for( i =
0 ; i
< 10 ; i++ ) {
</tspan><tspan
400 y=
"330.89844"> int f = fact( i );
</tspan><tspan
404 y=
"348.89844"> printf(
"%d! = %d\n
", i, f );
</tspan><tspan
408 y=
"366.89844"> }
</tspan><tspan
412 y=
"384.89844">}
</tspan></text>
414 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
415 d=
"M 370.75002,495 L 470.00003,495 C 519.62504,495 519.62504,495 519.62504,329.99998 C 519.62504,164.99999 519.62504,164.99999 569.25003,164.99999"
417 sodipodi:
nodetypes=
"cccc" />
420 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
426 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
427 transform=
"matrix(0.25,0,0,0.25,360,415)" />
429 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
430 d=
"M 567.5,162.5 L 572.5,165 L 567.5,167.5 L 567.5,162.5 z"
432 sodipodi:
nodetypes=
"cccc" />
435 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
441 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
442 transform=
"matrix(0.25,0,0,0.25,360.00003,325)" />
445 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
451 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
452 transform=
"matrix(0.25,0,0,0.25,360.00003,235)" />
455 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
461 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
462 transform=
"matrix(0.25,0,0,0.25,360.00003,145)" />
465 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
471 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
472 transform=
"matrix(0.25,0,0,0.25,360.00003,54.999996)" />
474 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
475 d=
"M 567.5,317.5 L 572.5,320 L 567.5,322.5 L 567.5,317.5 z"
477 sodipodi:
nodetypes=
"cccc" />
479 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
480 d=
"M 370,525 L 320,525 C 220,525 220,465 220,435 C 220,405 220,345 267.5,345"
482 sodipodi:
nodetypes=
"cccc" />
485 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
491 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
492 transform=
"matrix(0.25,0,0,0.25,360,445)" />
494 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
495 d=
"M 265,342.5 L 270,345 L 265,347.5 L 265,342.5 z"
497 sodipodi:
nodetypes=
"cccc" />
500 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
506 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
507 transform=
"matrix(0.25,0,0,0.25,360,355)" />
510 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
516 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
517 transform=
"matrix(0.25,0,0,0.25,360,265.43408)" />
520 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
526 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
527 transform=
"matrix(0.25,0,0,0.25,360,175)" />
530 style=
"fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-size:88"
536 d=
"M 50,320 A 10,10 0 1 1 30,320 A 10,10 0 1 1 50,320 z"
537 transform=
"matrix(0.25,0,0,0.25,360,84.999996)" />
539 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
540 d=
"M 265,252.5 L 270,255 L 265,257.5 L 265,252.5 z"
542 sodipodi:
nodetypes=
"cccc" />
544 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
545 d=
"M 265,162.5 L 270,165 L 265,167.5 L 265,162.5 z"
547 sodipodi:
nodetypes=
"cccc" />
549 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
550 d=
"M 265,42.499996 L 270,44.999996 L 265,47.499996 L 265,42.499996 z"
552 sodipodi:
nodetypes=
"cccc" />
554 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
555 d=
"M 370.75003,135 L 470.00004,135 C 500.00001,135.00001 499.62501,135 499.62501,14.999986"
557 sodipodi:
nodetypes=
"ccc" />
559 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
560 d=
"M 497.25,14.999996 L 499.75,9.999996 L 502.25,14.999996 L 497.25,14.999996 z"
562 sodipodi:
nodetypes=
"cccc" />
564 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
565 d=
"M 370,165 L 320,165 C 220,165 220,94.999996 220,59.999986 C 220,14.999996 220,14.999996 220,14.999996"
567 sodipodi:
nodetypes=
"cccc" />
569 style=
"fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
570 d=
"M 217.25,14.999996 L 219.75,9.999996 L 222.25,14.999996 L 217.25,14.999996 z"
572 sodipodi:
nodetypes=
"cccc" />
574 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.49999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
575 d=
"M 270,609.24984 L 270,0.74986633"
578 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
579 d=
"M 270.75003,539.32476 L 469.25008,539.32476"
581 sodipodi:
nodetypes=
"cc" />
583 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
584 d=
"M 470,609.25 L 470,0.750006"
588 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
592 sodipodi:
linespacing=
"100%"><tspan
596 y=
"440.74362">FP
</tspan></text>
599 style=
"font-size:18px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
603 sodipodi:
linespacing=
"100%"><tspan
607 y=
"116.61362">PC
</tspan></text>
610 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
614 sodipodi:
linespacing=
"100%"><tspan
618 y=
"530.73926">SP
</tspan></text>
620 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutM);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
621 d=
"M 564.25006,435 L 473.837,435"
624 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutM);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
625 d=
"M 564.25006,525 L 473.837,525"
628 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutM);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
629 d=
"M 828.25006,110.86997 L 737.837,110.86997"
632 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
633 d=
"M 187,539 C 187,539 185.4,539 183,539 C 180.6,539 179,538.19999 179,537.00001 C 179,536.39999 179,502.19999 179,501 C 179,499.79998 177.32001,498.16004 176.6,497.79998 C 174.92,496.95998 171,495.40001 171,495.00004 C 171,494.59999 174.92,493.04002 176.6,492.19999 C 177.32001,491.83997 179,490.19999 179,489 C 179,487.39997 179,453.59997 179,452.99993 C 179,451.79998 180.6,451 183,451 C 185.4,451 187,451 187,451"
635 sodipodi:
nodetypes=
"csssssssssc" />
637 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
638 d=
"M 187,449 C 187,449 185.4,449 183,449 C 180.6,449 179,448.19999 179,447.00001 C 179,446.39999 179,412.19999 179,411 C 179,409.79998 177.32001,408.16004 176.6,407.79998 C 174.92,406.95998 171,405.40001 171,405.00004 C 171,404.59999 174.92,403.04002 176.6,402.19999 C 177.32001,401.83997 179,400.19999 179,399 C 179,397.39997 179,363.59997 179,362.99993 C 179,361.79998 180.6,361 183,361 C 185.4,361 187,361 187,361"
640 sodipodi:
nodetypes=
"csssssssssc" />
642 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
643 d=
"M 187,359 C 187,359 185.4,359 183,359 C 180.6,359 179,358.19999 179,357.00001 C 179,356.39999 179,322.19999 179,321 C 179,319.79998 177.32001,318.16004 176.6,317.79998 C 174.92,316.95998 171,315.40001 171,315.00004 C 171,314.59999 174.92,313.04002 176.6,312.19999 C 177.32001,311.83997 179,310.19999 179,309 C 179,307.39997 179,273.59997 179,272.99993 C 179,271.79998 180.6,271 183,271 C 185.4,271 187,271 187,271"
645 sodipodi:
nodetypes=
"csssssssssc" />
647 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
648 d=
"M 187,179 C 187,179 185.4,179 183,179 C 180.6,179 179,177.92726 179,176.31819 C 179,175.51362 179,129.65453 179,128.04545 C 179,126.43634 177.32001,124.23733 176.6,123.75452 C 174.92,122.62815 171,120.53638 171,120.00005 C 171,119.46362 174.92,117.37184 176.6,116.24544 C 177.32001,115.76269 179,113.56362 179,111.95454 C 179,109.80905 179,64.486316 179,63.681716 C 179,62.072696 180.6,60.999996 183,60.999996 C 185.4,60.999996 187,60.999996 187,60.999996"
650 sodipodi:
nodetypes=
"csssssssssc" />
653 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
657 sodipodi:
linespacing=
"100%"><tspan
661 y=
"499.18356">fact (
0)
</tspan></text>
664 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
668 sodipodi:
linespacing=
"100%"><tspan
672 y=
"409.18356">fact (
1)
</tspan></text>
675 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
679 sodipodi:
linespacing=
"100%"><tspan
683 y=
"319.18356">fact (
2)
</tspan></text>
686 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
690 sodipodi:
linespacing=
"100%"><tspan
694 y=
"229.18359">fact (
3)
</tspan></text>
697 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
701 sodipodi:
linespacing=
"100%"><tspan
705 y=
"124.18359">main ()
</tspan></text>
707 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
708 d=
"M 179,609 C 179,608.40867 179,591.45796 179,590.27536 C 179,589.09273 177.32001,587.47656 176.6,587.12172 C 174.92,586.29389 171,584.75653 171,584.36236 C 171,583.96811 174.92,582.43074 176.6,581.60289 C 177.32001,581.24809 179,579.63187 179,578.44928 C 179,576.87243 179,543.56229 179,542.97095 C 179,541.78839 180.6,541 183,541 C 185.4,541 187,541 187,541"
710 sodipodi:
nodetypes=
"csssssssc" />
713 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
717 sodipodi:
linespacing=
"100%"><tspan
721 y=
"591.33221">#-
1</tspan></text>
724 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
728 sodipodi:
linespacing=
"100%"><tspan
732 y=
"501.13034">#
0</tspan></text>
735 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
739 sodipodi:
linespacing=
"100%"><tspan
743 y=
"411.12595">#
1</tspan></text>
746 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
750 sodipodi:
linespacing=
"100%"><tspan
754 y=
"321.01608">#
2</tspan></text>
757 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
761 sodipodi:
linespacing=
"100%"><tspan
765 y=
"231.13037">#
3</tspan></text>
768 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
772 sodipodi:
linespacing=
"100%"><tspan
776 y=
"126.12598">#
4</tspan></text>
779 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
783 sodipodi:
linespacing=
"100%"><tspan
787 y=
"41.789059">Frame
</tspan><tspan
791 y=
"63.789059">Number
</tspan></text>
794 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
798 sodipodi:
linespacing=
"100%"><tspan
802 y=
"583.04785">Direction of
</tspan><tspan
806 y=
"605.04785">stack growth
</tspan></text>
808 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:3.00000095;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#TriangleOutM);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
809 d=
"M 741.35889,405.72248 L 741.35889,543.326"
813 style=
"font-size:22;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.50000000000000000;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Consolas;-inkscape-font-specification:Consolas Bold"
817 sodipodi:
linespacing=
"100%"><tspan
821 y=
"109.8591">f = ?
</tspan><tspan
825 y=
"125.8591" /><tspan
829 y=
"141.8591" /></text>
831 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.24999999, 2.24999999;stroke-dashoffset:0;stroke-opacity:1"
832 d=
"M 270.37505,600 L 469.62506,600"
834 sodipodi:
nodetypes=
"cc" />
837 style=
"font-size:22px;font-style:normal;font-variant:normal;font-weight:300;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-linecap:butt;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bookman Old Style;-inkscape-font-specification:Bookman Old Style Light"
841 sodipodi:
linespacing=
"100%"><tspan
845 y=
"559.48285">Red Zone
</tspan></text>
847 style=
"fill-rule:evenodd"
849 transform=
"matrix(4.0333334e-2,0,0,5.5000001e-2,-172.52993,80.374991)">
852 d=
"M 10727.273,8909.091 L 12545.455,9090.9091 L 14363.636,8909.091 L 16181.818,9090.9091 L 16181.818,9272.7273 L 14363.636,9090.9091 L 12545.455,9272.7273 L 10727.273,9090.9091 L 10727.273,8909.091 z"
853 style=
"fill:#ffffff;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
855 sodipodi:
nodetypes=
"cccc"
857 d=
"M 10734.091,9097.7272 L 12547.728,9265.9091 L 14361.364,9097.7272 L 16175,9265.9091"
858 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:15.92384243;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
860 sodipodi:
nodetypes=
"cccc"
862 d=
"M 10734.091,8915.909 L 12547.728,9084.0909 L 14361.364,8915.909 L 16175,9084.0909"
863 style=
"fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:15.92384243;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />