Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

unable to retrieve arguments by parsing prologue

$
0
0

Hi

OS :: win2k8 R2

compiler :: icl  version - 12.0.5.229 Build 20120731

compile and link line on top of attached c source code

Consider this disasm

Func4:

  0000000000000064: 66 90              xchg        ax,ax

  0000000000000066: 55                 push        rbp

  0000000000000067: 48 83 EC 70        sub         rsp,70h

  000000000000006B: 48 8D 6C 24 30     lea         rbp,[rsp+30h]

  0000000000000070: 48 89 75 30        mov         qword ptr [rbp+30h],rsi

  0000000000000074: 48 89 5D 28        mov         qword ptr [rbp+28h],rbx

  0000000000000078: 4C 89 4D 18        mov         qword ptr [rbp+18h],r9

  000000000000007C: 4C 89 45 10        mov         qword ptr [rbp+10h],r8

  0000000000000080: 48 89 55 08        mov         qword ptr [rbp+8],rdx

  0000000000000084: 48 89 4D 00        mov         qword ptr [rbp],rcx

  0000000000000088: 89 4D 50           mov         dword ptr [rbp+50h],ecx

  000000000000008B: 89 55 58           mov         dword ptr [rbp+58h],edx



For PUSH instruction, we need to decrement the stack pointer i.e;RSP by 8bytes in case of 64-bit machine

Similarly do we have any other such instructions in above disasm where we need to  modify rsp or rbp?



If yes, what and why

If no,

Please find attached sample code which tries to get argument by tracing back assembly

I see the rsp is not pointing correctly it is pointing 8 bytes ahead of correct position



output of sample code



Here initially rsp is 1afd10

push decremented it by 8bytes --> 1afd08

sub 70h made it -->1fac98

add 30 made it --> 1afcc8 and this is loaded into rbp and all args are pushed wrt to rbp

But if you see memory all args are pushed wrt to address 1afcc0....so i see 8 bytes difference...I am not getting

where i lost this 8 bytes.



Let me know your inputs on this.



compile and link instructions are on top of file


Viewing all articles
Browse latest Browse all 1616

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>