Цепочечные команды и секция неинициализированных данных

Тема в разделе "WASM.BEGINNERS", создана пользователем NAG, 25 апр 2008.

  1. NAG

    NAG New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2008
    Сообщения:
    5
    Здравствуйте! Спасибо всем, кто читает это сообщение.
    Задача такая:

    Как объявить секцию неинициализированных данных (кстати в masm она называется .data?, .fardata? или .bss)?

    Затем сделать так, чтобы на нее указывали регистры ds и es?

    И, наконец, заставить цепочечные команды с этой секцией работать?


    Заранее спасибо за любую помощь.
     
  2. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    для вынь 32
    .data?
    ds, es, ss - указывают на.
    ?? цепочечные команды - это что?
     
  3. JamesB

    JamesB New Member

    Публикаций:
    0
    Регистрация:
    3 фев 2008
    Сообщения:
    66
    movsX,cmpsX,scasX,lodsX,stosX ...
    какое они в данный момент имеют отношение к секции uninit-данных не понятно...
     
  4. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Ну? И какие тут проблемы?
     
  5. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    NAG
    Код (Text):
    1. .686P
    2. .model flat
    3. .data?
    4. string1 db dup 200 (?)
    5. string2 db dup 200 (?)
    6. .code
    7. xor eax,eax
    8. mov ecx,50
    9. mov edi,offset string1
    10. rep stosd; заполняем string1 нулями. При запуске программы df=0
    11. mov esi,offset string1
    12. mov edi,offset string2
    13. mov ecx,50
    14. rep movsd; копируем содержимое string1 в string2
    В чем проблемы? И для вынь 32 содержимое ds=es
     
  6. NAG

    NAG New Member

    Публикаций:
    0
    Регистрация:
    25 апр 2008
    Сообщения:
    5
    Болбшое спасибо!