Bedeutung von 0x8($rsp)

Mein erstes mal lernen Assembly Lang. Hier ist ein Teil (gdb) Demontage:

mov    $0x131,%eax
cmp    0x8(%rsp),%eax  //Question here, what is the value of 0x8(%rsp)?




(gdb)i r
rax            0x131    305
rbx            0x7fffffffe578   140737488348536
rcx            0x20     32
rdx            0x7fffffffe478   140737488348280
rsi            0x0      0
rdi            0x1999999999999999       1844674407370955161
rbp            0x0      0x0
rsp            0x7fffffffe470   0x7fffffffe470
r8             0x37ed3bb080     240203313280
r9             0x0      0
r10            0x1e     30
r11            0x0      0
r12            0x400cb0 4197552
r13            0x7fffffffe570   140737488348528
r14            0x0      0
r15            0x0      0
rip            0x400fd9 0x400fd9 <phase_3+129>
eflags         0x212    [ AF IF ]
cs             0x33     51
ss             0x2b     43
ds             0x0      0
es             0x0      0
fs             0x0      0

Ich habe Schwierigkeiten, herauszufinden, was es tut, zu vergleichen. und was ist der Wert von 0x8(%rsp).

(Ich weiß, diese Frage klingt dumm)

Vielen Dank im Voraus

=-==========

Schließlich habe ich gelöst, indem

(gdb) p /x *(int *)($rsp+0x8)

mit Hilfe von diesem post Wie print -0x4(%rbp) in gdb?

Zack, die Antwort sollte richtig sein, aber es funktioniert nicht da ich ein 64 bit OS.

InformationsquelleAutor Shiji.J | 2013-11-02

Schreibe einen Kommentar