Содержимое стека

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ShkiperLol, 6 Nov 2010.

  1. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Здраствуйте,у меня вопрос поповоду стекового кадра.А точнее поповоду переменных которые в нем находяться.
    Есть две переменные char a[20];char b[20];
    Открываю ехе через Ida.

    Ида показывает такое:
    .text:00401360 var_28 = dword ptr -28h
    .text:00401360 s = byte ptr -14h

    var_28 ето переменная b.28-это начало ее положение в стековом кадре.s это переменная а,ее местоположение начинаеться с 14.

    Скрин содержимого стека:
    [​IMG]

    Скажите пожалуйста,почему var_28 ,она же переменная b занимает 16 байт в стековом кадре а не 19?Куда делось 3 байта?
     
  2. Aag

    Aag Elder - Старейшина

    Joined:
    26 Jul 2005
    Messages:
    60
    Likes Received:
    19
    Reputations:
    8
    Как считал, что 16?

    Наверное, dword за byte посчитал.

    И не 19, а 20.

    .text:00401360 var_28 = dword ptr (4 байта)
    .text:00401360 s = byte ptr (1 байт)

    (-0x14h)-(-0x28h) = 0x14h Все ОК
     
  3. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Можете подробнее обьяснить?Ведь_28 ето переменная b,а s(не та которая внизу,а та которая вверху)ето переменная a.так ведь?
     
  4. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Что тут не понятного?
    Code:
    00000028 Var_28 [COLOR=Red]dd[/COLOR] ?
    00000024        db ?
    +16 байт после, вот тебе и будет 20
     
  5. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Спасибо!
     
  6. ShkiperLol

    ShkiperLol Banned

    Joined:
    17 Apr 2010
    Messages:
    182
    Likes Received:
    1
    Reputations:
    0
    Если не сложно,что такое db,dd,dw ит?Если есть где об етом почитать,ссылочкой не поделитесь?
     
  7. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    Типы данных в ASM