Асм: Можно ли просто писать без макросов?

Тема в разделе "WASM.BEGINNERS", создана пользователем blizzard, 29 дек 2007.

  1. blizzard

    blizzard New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    9
    Если не пользоваться макросами, то есть ли способ не записывать распространенные процедуры в 3-х вариантах (для 1-, 2-, 4-хбайтовых данных)?
     
  2. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Т.е. возможности макрософ без самих макросов?

    Микрокод.
    Других вариантов не вижу.
     
  3. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    пример?
    я что то не понял вопроса.
     
  4. blizzard

    blizzard New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    9
    to n0name:
    Ну, например, поиск в массиве - ведь придется реализовать поиск символов (1 байт), используя, например al для хранения искомого значения, слов (2) - ax, dword (4) - eax
    to Magnum:
    Микрокод? А что это?
     
  5. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    blizzard
    теперь я не понял
    а как поиск в массивах ты собрался организовывать через макросы? (Инлайном?)

    Может, тебе процедуры нужны??

    Объясни подробно задачу
    что требуется
     
  6. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Все, допер что требуется
    Нет, макросы тебе в данном случае не помогут никак, т.к. макросы работают со статическими данными, а параметр (размер элемента) - относится к динамическим данным
    Обрабатывать размер элемента тебе прийдется в процедуре по любому...

    За микрокод забудь - оно тут никоим образом
     
  7. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    Magnum
    Помогут - просто макрос автоматически сгенерирует 3 версии процедуры по одной. Типа того:
    Код (Text):
    1. macro procSearch prefix,size
    2. {
    3.    Search#prefix:
    4.    ;....
    5.    ret
    6. }
    7. procSearch Byte,1
    8. procSearch Word,2
    9. procSearch Dword,4
     
  8. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Чета я не вьехал. что за микрокод? моно примерчик?
     
  9. Magnum

    Magnum New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    925
    Arthur
    к примеру

    stosd
    -------
    mov dword ptr [edi], eax
    add edi, 4


    Можно добавить что-нить свое
    по типу

    mytrash
    ---------
    xor eax, eax
    add esi, 4
    ...
     
  10. Arthur

    Arthur New Member

    Публикаций:
    0
    Регистрация:
    27 янв 2007
    Сообщения:
    494
    Magnum
    Тепер вьехал :)