Расположение в памяти x32

Тема в разделе "WASM.BEGINNERS", создана пользователем punxer, 6 апр 2011.

  1. pr0mix

    pr0mix New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    107
    строка "1234" - это 0x31 0x32 0x33 0x34. Если её записать в память (mov 4 ptr [405000], 0x31323334), то получим: 0x34 0x33 0x32 0x31 ("4321").
    Если же говорим о числе 0x1234, то при записи, в памяти будет так (mov 2 ptr [405000],0x1234): 0x34 0x12. То есть всё рассматриваем с т.з. байтов. Почему так получается, см. p#15.
     
  2. freyr

    freyr New Member

    Публикаций:
    0
    Регистрация:
    23 фев 2010
    Сообщения:
    95
    pr0mix
    учите матчасть

    не несите чушь, если вы запишете в память 0x31 0x32 0x33 0x34, то в памяти она будет точно так же лежать.

    другое дело представление процессором (для архитектуры х86 - little-endian) кусок этой памяти как 4байтовое число которое будет загружено в регистр как 0х34333231
     
  3. pr0mix

    pr0mix New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2008
    Сообщения:
    107
    сосредоточьтесь, читай внимательно. Я уточнил, как именно работать с данным значением и памятью
     
  4. featurelles

    featurelles New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2009
    Сообщения:
    562
    Позволю себе заметить, совершенно не обязательно ставить ноль в конце строки.
     
  5. Igor1024

    Igor1024 Васил Троянов Боянов (Azis)

    Публикаций:
    0
    Регистрация:
    15 окт 2010
    Сообщения:
    345
    Адрес:
    Sliven, Bulgaria
    http://en.wikipedia.org/wiki/Endianness
    + Intel Manual: BAsic Architecture в самом-самом начале.
     
  6. Blackbeam

    Blackbeam New Member

    Публикаций:
    0
    Регистрация:
    28 дек 2008
    Сообщения:
    960
    мы (обычные человеки ) писшем буквы слева направо, а цифры справа налево, почему-то:

    Код (Text):
    1. "100 чебурашек"
    память - это (наверное) набор n-разрядных сдвиговых регистров, т.е. стеков и вполне возможно что лежать будет:
    0x13 0x23 0x33 0x43
     
  7. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.615
    Адрес:
    Russia
    целая страница бреда ....
    записали вы в память последовательность символов как байты - так они там и будут лежать первый по адресу А второй А+1 ... фокусы покусы начинаются когда вы записываете WORD, DWORD ... в память - как известно системы счисления используют арабскую систему записи - нумерация разрядов в числе идет справа налево поэтому самый левый байт идет первым