Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:multiasm:exercisebook:pc:sut:scenarios_standalone [2026/05/20 15:39] – [Implementation of calculation functions] ktokarzen:multiasm:exercisebook:pc:sut:scenarios_standalone [2026/05/20 15:57] (current) – [Implementation of calculation functions] ktokarz
Line 203: Line 203:
     mov r8, 3      ; 3rd argmument     mov r8, 3      ; 3rd argmument
     mov r9, 4      ; 4th argmument     mov r9, 4      ; 4th argmument
-    mov r10, 6 +    mov r11, 6 
-    push r10       ; 6th argument+    push r11       ; 6th argument
     mov r10, 5     mov r10, 5
     push r10       ; 5th argument     push r10       ; 5th argument
          
-    sub rsp, 20h   ; shadow space+    sub rsp, 20h   ; 32 bytes of the shadow space
          
     call sum_6_int ; function call     call sum_6_int ; function call
Line 215: Line 215:
     mov rcx, rax   ; result in rax     mov rcx, rax   ; result in rax
 </code> </code>
 +
 +The figure {{ref>ex_stack_caller_push}} shows the stack organisation from the caller's perspective. First, the 6th argument is pushed onto the stack. Next, the 5th argument is pushed. Next, the 32 bytes of the shadow space are reserved with the subtraction instruction **sub rsp, 20h**. Finally, the return address is pushed by the **call** instruction. The arrows point to the addresses (where RSP points) after the specified instructions.
 +<figure ex_stack_caller_push>
 +{{ :en:multiasm:exercisebook:pc:ex_stack_caller_push.png?400 |Stack view from caller function}}
 +<caption>Stack view from caller function</caption>
 +</figure>
 +
en/multiasm/exercisebook/pc/sut/scenarios_standalone.1779280766.txt.gz · Last modified: by ktokarz
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0