Заполнение буфера нечетным числом

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

  1. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Необходимо заполнить буфер (db 4096 dup(?)) нечетным числом, например, 924924h, т. е. 924924924924...
    Как это можно сделать?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    с помощью циела либо с помощью префикса rep
     
  3. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    Хм. Только мне число 924h (или 924924h) кажется четным?
     
  4. zoool

    zoool New Member

    Публикаций:
    0
    Регистрация:
    1 дек 2007
    Сообщения:
    412
    lea edi, buffer
    mov eax, [ChetnoeChislo]
    mov ecx, [NumberOfElements]
    rep stosd
     
  5. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    l_inc
    Согласен. Сформулировал не очень. Я имел ввиду – не являющееся байтом, вордом, двордом, т. е. нельзя воспользоваться rep stos(w)d, RtlFillMemory, buf dw N dup (27ffh)
    n0name
    Что это?
    zoool
    В моем случае не поможет.
     
  6. ofCros

    ofCros New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    25
    Может быть так (вариант для fasm) ?

    db 4096 dup (92h,49h,94h)
     
  7. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    ofCros
    Выглядит похоже на правду. Только, как это правильно записать на masm32? Выдает ошибку.
     
  8. HuXTUS

    HuXTUS New Member

    Публикаций:
    0
    Регистрация:
    8 янв 2007
    Сообщения:
    240
    REPT 4096
    db 92h,49h,94h
    endm
     
  9. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    vg
    Если в образце 3 байта, а в буфере 4096 байт(а не образцов),
    то надо "хвостик" задать и счетчик REPT будет = 4096/3

    REPT 1365
    db 92h,49h,94h
    endm
    db 92h
     
  10. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    Первый раз вижу такую конструкцию. Это, как я понимаю, макрос?
    Не получается его правильно записать. Выдает ошибку.
    Не могли бы вы точно указать, как правильно это вставить в текст проги?
     
  11. vg

    vg New Member

    Публикаций:
    0
    Регистрация:
    16 апр 2007
    Сообщения:
    475
    HuXTUS
    valterg
    Или это не макрос?