25.02.2014, 11:43
How? I thought it would be like:
Before
Now we call movs with 16 bytes (4 variable arguments).
After:
I missed something?
Before
Quote:
12345 //Previous frame 123 //Return address of function 1 20 //Number of arguments 4 //Argument 1 8 //Argument 2 - first variable argument 12 // Argument 3 16 // Argument 4 20 // Argument 5 - last variable argument, set PRI to point here 128 //Local variable in function 2 12346 //Frame of function 2 123 //Return address of function 2 4 //Number of arguments 4 0 0 0 0 //We force STK and ALT to point here |
After:
Quote:
12345 123 20 4 8 12 16 20 128 12346 123 4 4 8 12 16 20 //STK still points here |