глупый вопрос,однако....

Тема в разделе "WASM.BEGINNERS", создана пользователем arrrg, 15 ноя 2009.

  1. arrrg

    arrrg New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2009
    Сообщения:
    124
    вопрос заключается вот в чём - работал в olly db и заметил,что в дампе отображается одно значение(01DC9287) а в регистр помещается другое - (8792DC01)
    почему так?почему значения в дампе отображаются не так,как значения в регистрах?
     
  2. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    что регистр отображает (двойное слово), а что память (последовательность байт)?
     
  3. JCronuz

    JCronuz New Member

    Публикаций:
    0
    Регистрация:
    26 сен 2007
    Сообщения:
    1.240
    Адрес:
    Russia
    Полагаю, что скриншот помог-бы внести ясность...
     
  4. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    arrrg
    ...и по младшему адресу лежит младший байт, так как в x86 используется little-endian порядок. Вот у 68K в дампе было бы в том же порядке, потому big-endian.
     
  5. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    JCronuz
    Зачем? И так все понятно:
    скажем EAX = 01234567, EDX = 004B0000
    теперь после выполнения MOV [EDX], EAX
    в дампе видим:
    004B0000 | 67 45 23 01
    все правильно, это одна из тех вещей, к которым надо просто привыкнуть. :)
     
  6. arrrg

    arrrg New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2009
    Сообщения:
    124
    ололо,обратная последовательность байт
    действительно,надо привыкать
     
  7. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    никакой обратной последовательности, все по порядку, младший байт всегда лежит по младшему адресу
    ну разве что визуально
     
  8. arrrg

    arrrg New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2009
    Сообщения:
    124
    ну,это я и имел ввиду)
     
  9. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Тут уже была тема. Если писать по "еврейски", то все встанет на место :

    F E D C B A 9 8 7 6 5 4 3 2 1 0
    ==== тут пишем байты ========

    Теперь байты в слове стоят как надо :) Правда теперь адресуется "хвост" слова :-(
     
  10. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    valterg
    Если писать "по-еврейски", то придется для большей схожести поменять местами четные буквы с нечетными
    12345678==78563412 :)
     
  11. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    valterg
    насколько я помню, и в иврите, и в арабском цифры пишутся как и у нас - слева направо
    http://www.rusyaz.ru/is/hebrew.html
     
  12. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    arrrg
    В Оле можно по правой кнопке в окне дампа переключить вид на Long -> Hex или Address with ASCII dump
     
  13. AWN

    AWN New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2009
    Сообщения:
    1
    вопрос не глупый. Он невежественный. Милостивые господа! Это как же вы программируете, не зная основ архитектуры микропроцессоров Intel? Фирменную документацию не читали - это ясно. Но хотя бы первую главу любого учебника? Сил нет?
     
  14. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    AWN
    Скучно это - фирменную документацию читать. Вот круто хакать - это другое дело :):):):)
     
  15. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков