diff options
Diffstat (limited to '')
-rw-r--r-- | images/cpu_supplement/stack_frame_contents.ditaa | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/images/cpu_supplement/stack_frame_contents.ditaa b/images/cpu_supplement/stack_frame_contents.ditaa new file mode 100644 index 0000000..c608d56 --- /dev/null +++ b/images/cpu_supplement/stack_frame_contents.ditaa @@ -0,0 +1,35 @@ + low addresses + + +-------------------------+ + %sp --> | 16 words for storing | + | LOCAL and IN registers | + +-------------------------+ + | one:-word pointer to | + | aggregate return value | + +-------------------------+ + | 6 words for callee | + | to store register | + | arguments | + +-------------------------+ + | outgoing parameters | + | past the 6th, if any | + +-------------------------+ + | space, if needed, for | + | compiler temporaries | + | and saved floating- | + | point registers | + +-------------------------+ + + +-------------------------+ + | space dynamically | + | allocated via the | + | alloca() library call | + +-------------------------+ + | space, if needed, for | + | automatic arrays, | + | aggregates, and | + | addressable scalar | + | automatics | + +-------------------------+ + %fp --> + high addresses |